ui: Fixed crash on scope expansion

Code file list was still referencing deleted snippet scrollbar after replacing snippets on scope expansion.
This commit is contained in:
Eberhard Graether
2018-10-16 12:10:20 +02:00
parent 4ae052cb9c
commit db586939e9
3 changed files with 6 additions and 5 deletions
+2 -1
View File
@@ -146,7 +146,6 @@ QtCodeSnippet* QtCodeFile::insertCodeSnippet(const CodeSnippetParams& params)
}
else if (oldSnippet->getStartLineNumber() < start || oldSnippet->getEndLineNumber() > end) // overlaping
{
m_navigator->clearSnippetReferences();
newSnippet = QtCodeSnippet::merged(newSnippet, oldSnippet, m_navigator, this);
}
else if (oldSnippet->getStartLineNumber() >= start && oldSnippet->getEndLineNumber() <= end) // enclosing
@@ -157,6 +156,8 @@ QtCodeSnippet* QtCodeFile::insertCodeSnippet(const CodeSnippetParams& params)
newSnippet->getArea()->updateSourceLocations(oldSnippet->getArea()->getSourceLocationFile());
}
m_navigator->clearSnippetReferences();
oldSnippet->hide();
m_snippetLayout->removeWidget(oldSnippet);
oldSnippet->deleteLater();
+3 -3
View File
@@ -11,10 +11,10 @@
#include "QtCodeFile.h"
QtCodeSnippet* QtCodeSnippet::merged(
QtCodeSnippet* a, QtCodeSnippet* b, QtCodeNavigator* navigator, QtCodeFile* file)
const QtCodeSnippet* a, const QtCodeSnippet* b, QtCodeNavigator* navigator, QtCodeFile* file)
{
QtCodeSnippet* first = a->getStartLineNumber() < b->getStartLineNumber() ? a : b;
QtCodeSnippet* second = a->getStartLineNumber() > b->getStartLineNumber() ? a : b;
const QtCodeSnippet* first = a->getStartLineNumber() < b->getStartLineNumber() ? a : b;
const QtCodeSnippet* second = a->getStartLineNumber() > b->getStartLineNumber() ? a : b;
SourceLocationFile* aFile = a->m_codeArea->getSourceLocationFile().get();
SourceLocationFile* bFile = b->m_codeArea->getSourceLocationFile().get();
+1 -1
View File
@@ -24,7 +24,7 @@ class QtCodeSnippet
public:
static QtCodeSnippet* merged(
QtCodeSnippet* a, QtCodeSnippet* b, QtCodeNavigator* navigator, QtCodeFile* file);
const QtCodeSnippet* a, const QtCodeSnippet* b, QtCodeNavigator* navigator, QtCodeFile* file);
QtCodeSnippet(const CodeSnippetParams& params, QtCodeNavigator* navigator, QtCodeFile* file);
virtual ~QtCodeSnippet();