From 3065b029e5e74acdf161a8ba2b4b23f88fdca768 Mon Sep 17 00:00:00 2001 From: Denis Mingulov <denis.mingulov@gmail.com> Date: Mon, 27 Sep 2010 14:58:12 +0200 Subject: [PATCH] QApplication::aboutToQuit signal is used for the plugin manager's shutdown Merge-request: 179 Reviewed-by: Tobias Hunger <tobias.hunger@nokia.com> --- src/app/main.cpp | 7 ++++--- src/libs/extensionsystem/pluginmanager.cpp | 1 - src/libs/extensionsystem/pluginmanager.h | 2 +- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/src/app/main.cpp b/src/app/main.cpp index afc08fc4569..a453325a55f 100644 --- a/src/app/main.cpp +++ b/src/app/main.cpp @@ -317,11 +317,12 @@ int main(int argc, char **argv) } QObject::connect(&app, SIGNAL(fileOpenRequest(QString)), coreplugin->plugin(), SLOT(fileOpenRequest(QString))); + // shutdown plugin manager on the exit + QObject::connect(&app, SIGNAL(aboutToQuit()), &pluginManager, SLOT(shutdown())); + // Do this after the event loop has started QTimer::singleShot(100, &pluginManager, SLOT(startTests())); - int ret = app.exec(); - pluginManager.shutdown(); - return ret; + return app.exec(); } diff --git a/src/libs/extensionsystem/pluginmanager.cpp b/src/libs/extensionsystem/pluginmanager.cpp index 37dd4daeb9a..82f75f3dee0 100644 --- a/src/libs/extensionsystem/pluginmanager.cpp +++ b/src/libs/extensionsystem/pluginmanager.cpp @@ -262,7 +262,6 @@ void PluginManager::shutdown() d->shutdown(); } - /*! \fn QStringList PluginManager::pluginPaths() const The list of paths were the plugin manager searches for plugins. diff --git a/src/libs/extensionsystem/pluginmanager.h b/src/libs/extensionsystem/pluginmanager.h index d371dfe30c9..480f40b4727 100644 --- a/src/libs/extensionsystem/pluginmanager.h +++ b/src/libs/extensionsystem/pluginmanager.h @@ -93,7 +93,6 @@ public: // Plugin operations QList<PluginSpec *> loadQueue(); void loadPlugins(); - void shutdown(); QStringList pluginPaths() const; void setPluginPaths(const QStringList &paths); QList<PluginSpec *> plugins() const; @@ -130,6 +129,7 @@ signals: public slots: void remoteArguments(const QString &serializedArguments); + void shutdown(); private slots: void startTests(); -- GitLab