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->setIcon(Utils::Icons::SETTINGS_TOOLBAR.icon());
m_settingsAction->setToolTip(tr("Show Diagnostic Settings"));
QObject::connect(m_settingsAction, &QAction::triggered, [this, settingsPage] {
Core::ICore::showOptionsDialog(settingsPage);
});
QObject::connect(m_settingsAction, &QAction::triggered, Core::ICore::instance(),
[settingsPage] { Core::ICore::showOptionsDialog(settingsPage); },
Qt::QueuedConnection);
}
TextMarkRegistry::TextMarkRegistry(QObject *parent)