From 4a77a3145376a1c1a3a74df05c39f9240d91875f Mon Sep 17 00:00:00 2001 From: Orgad Shaneh Date: Tue, 14 Apr 2015 10:13:25 +0300 Subject: [PATCH] Fix plugin error dialog modality When the dialog is displayed, the welcome mode becomes disabled. This happens because before the main loop begins, there is no active window, so the dialog has no parent to return focus to when it is closed. Change-Id: I2f8830c3c7bc6816d8483e05e81f5abfe5ee335f Reviewed-by: Eike Ziller --- src/app/main.cpp | 6 ------ src/plugins/coreplugin/coreplugin.cpp | 8 ++++++++ 2 files changed, 8 insertions(+), 6 deletions(-) diff --git a/src/app/main.cpp b/src/app/main.cpp index a27986d5f00..66474397a20 100644 --- a/src/app/main.cpp +++ b/src/app/main.cpp @@ -491,12 +491,6 @@ int main(int argc, char **argv) displayError(msgCoreLoadFailure(coreplugin->errorString())); return 1; } - if (PluginManager::hasError()) { - PluginErrorOverview *errorOverview = new PluginErrorOverview(QApplication::activeWindow()); - errorOverview->setAttribute(Qt::WA_DeleteOnClose); - errorOverview->setModal(true); - errorOverview->show(); - } // Set up remote arguments. QObject::connect(&app, SIGNAL(messageReceived(QString,QObject*)), diff --git a/src/plugins/coreplugin/coreplugin.cpp b/src/plugins/coreplugin/coreplugin.cpp index e710af2a640..9782866156e 100644 --- a/src/plugins/coreplugin/coreplugin.cpp +++ b/src/plugins/coreplugin/coreplugin.cpp @@ -44,6 +44,8 @@ #include #include +#include +#include #include #include #include @@ -217,6 +219,12 @@ void CorePlugin::extensionsInitialized() m_findPlugin->extensionsInitialized(); m_locator->extensionsInitialized(); m_mainWindow->extensionsInitialized(); + if (ExtensionSystem::PluginManager::hasError()) { + auto errorOverview = new ExtensionSystem::PluginErrorOverview(m_mainWindow); + errorOverview->setAttribute(Qt::WA_DeleteOnClose); + errorOverview->setModal(true); + errorOverview->show(); + } } bool CorePlugin::delayedInitialize()