TextEditor: Queue call to ICore::showOptionsDialog()

... from text marks.
Direct calls appear to be unsafe, possibly because text marks are
transient.

Fixes: QTCREATORBUG-25623
Change-Id: I929ff6310c9d93b677f66acc8869e7aeceb5564b
Reviewed-by: David Schulz <david.schulz@qt.io>
This commit is contained in:
Christian Kandeler
2021-05-03 14:09:15 +02:00
parent 978f6caf1e
commit 6fbe88b215

View File

@@ -400,9 +400,9 @@ void TextMark::setSettingsPage(Id settingsPage)
m_settingsAction = new QAction; m_settingsAction = new QAction;
m_settingsAction->setIcon(Utils::Icons::SETTINGS_TOOLBAR.icon()); m_settingsAction->setIcon(Utils::Icons::SETTINGS_TOOLBAR.icon());
m_settingsAction->setToolTip(tr("Show Diagnostic Settings")); m_settingsAction->setToolTip(tr("Show Diagnostic Settings"));
QObject::connect(m_settingsAction, &QAction::triggered, [this, settingsPage] { QObject::connect(m_settingsAction, &QAction::triggered, Core::ICore::instance(),
Core::ICore::showOptionsDialog(settingsPage); [settingsPage] { Core::ICore::showOptionsDialog(settingsPage); },
}); Qt::QueuedConnection);
} }
TextMarkRegistry::TextMarkRegistry(QObject *parent) TextMarkRegistry::TextMarkRegistry(QObject *parent)