forked from qt-creator/qt-creator
QmlDesigner: Crash fix
We have to use deleteLater. If a file change is triggered by the text editor (F2 follow symbol), the new text editor is set, while some text editor code is still keeping a pointer to the original text editor. Change-Id: I25e271f3800b763d644d9f2c5dd2b80b74ecf990 Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
This commit is contained in:
committed by
Tim Jenssen
parent
c887de8c1a
commit
20b082b327
@@ -61,6 +61,7 @@ TextEditorWidget::TextEditorWidget(TextEditorView *textEditorView)
|
||||
|
||||
void TextEditorWidget::setTextEditor(TextEditor::BaseTextEditor *textEditor)
|
||||
{
|
||||
TextEditor::BaseTextEditor *oldEditor = m_textEditor.release();
|
||||
m_textEditor.reset(textEditor);
|
||||
layout()->removeWidget(m_statusBar);
|
||||
layout()->addWidget(textEditor->editorWidget());
|
||||
@@ -70,6 +71,9 @@ void TextEditorWidget::setTextEditor(TextEditor::BaseTextEditor *textEditor)
|
||||
connect(textEditor->editorWidget(), &QPlainTextEdit::cursorPositionChanged,
|
||||
&m_updateSelectionTimer, static_cast<void (QTimer::*)()>(&QTimer::start));
|
||||
textEditor->editorWidget()->installEventFilter(this);
|
||||
|
||||
if (oldEditor)
|
||||
oldEditor->deleteLater();
|
||||
}
|
||||
|
||||
QString TextEditorWidget::contextHelpId() const
|
||||
|
Reference in New Issue
Block a user