forked from qt-creator/qt-creator
Editors: Delete context menu if editor widget is deleted
...in CppEditor, QmlJSEditor and BinEditor. Addresses second crash reported at QTCREATORBUG-8775. The first one is already fixed. Task-number: QTCREATORBUG-8775 Change-Id: I11c1f030ebeb2b2cbec02503e8e225fc5600a101 Reviewed-by: David Schulz <david.schulz@digia.com> Reviewed-by: Erik Verbruggen <erik.verbruggen@digia.com> Reviewed-by: Orgad Shaneh <orgads@gmail.com>
This commit is contained in:
@@ -76,6 +76,7 @@
|
||||
#include <QFileInfo>
|
||||
#include <QSignalMapper>
|
||||
#include <QTimer>
|
||||
#include <QPointer>
|
||||
#include <QScopedPointer>
|
||||
#include <QTextCodec>
|
||||
|
||||
@@ -1174,7 +1175,7 @@ void QmlJSTextEditorWidget::performQuickFix(int index)
|
||||
|
||||
void QmlJSTextEditorWidget::contextMenuEvent(QContextMenuEvent *e)
|
||||
{
|
||||
QMenu *menu = new QMenu();
|
||||
QPointer<QMenu> menu(new QMenu(this));
|
||||
|
||||
QMenu *refactoringMenu = new QMenu(tr("Refactoring"), menu);
|
||||
|
||||
@@ -1223,8 +1224,10 @@ void QmlJSTextEditorWidget::contextMenuEvent(QContextMenuEvent *e)
|
||||
appendStandardContextMenuActions(menu);
|
||||
|
||||
menu->exec(e->globalPos());
|
||||
menu->deleteLater();
|
||||
if (!menu)
|
||||
return;
|
||||
m_quickFixes.clear();
|
||||
delete menu;
|
||||
}
|
||||
|
||||
bool QmlJSTextEditorWidget::event(QEvent *e)
|
||||
|
Reference in New Issue
Block a user