summaryrefslogtreecommitdiff
path: root/src/plugins/find
diff options
context:
space:
mode:
authorcon <qtc-committer@nokia.com>2010-07-13 13:36:47 +0200
committercon <qtc-committer@nokia.com>2010-07-13 15:25:21 +0200
commitb3dbc4b4e4fd97c9a3327d72272402d1cc6cd5f4 (patch)
treecc624c18299085c262fa1963e48fadc3e6ed9e6c /src/plugins/find
parentadf2c1b0dacf0f89954cabe25d7d0524144d31a2 (diff)
downloadqt-creator-b3dbc4b4e4fd97c9a3327d72272402d1cc6cd5f4.tar.gz
Add flag to IPlugin::aboutToShutdown that allows asynchronous shutdown.
If a plugin requests asyncronous shutdown, the shutdown sequence does not continue to deleting the plugins before it has sent a asynchronousShutdownFinished signal. During that time an event loop is running.
Diffstat (limited to 'src/plugins/find')
-rw-r--r--src/plugins/find/findplugin.cpp3
-rw-r--r--src/plugins/find/findplugin.h2
2 files changed, 3 insertions, 2 deletions
diff --git a/src/plugins/find/findplugin.cpp b/src/plugins/find/findplugin.cpp
index 7e1e14669a..96e68705dd 100644
--- a/src/plugins/find/findplugin.cpp
+++ b/src/plugins/find/findplugin.cpp
@@ -143,12 +143,13 @@ void FindPlugin::extensionsInitialized()
readSettings();
}
-void FindPlugin::aboutToShutdown()
+ExtensionSystem::IPlugin::ShutdownFlag FindPlugin::aboutToShutdown()
{
d->m_findToolBar->setVisible(false);
d->m_findToolBar->setParent(0);
d->m_currentDocumentFind->removeConnections();
writeSettings();
+ return SynchronousShutdown;
}
void FindPlugin::filterChanged()
diff --git a/src/plugins/find/findplugin.h b/src/plugins/find/findplugin.h
index ef0e0d7356..d643be94fc 100644
--- a/src/plugins/find/findplugin.h
+++ b/src/plugins/find/findplugin.h
@@ -67,7 +67,7 @@ public:
// IPlugin
bool initialize(const QStringList &arguments, QString *error_message);
void extensionsInitialized();
- void aboutToShutdown();
+ ShutdownFlag aboutToShutdown();
QTextDocument::FindFlags findFlags() const;
void updateFindCompletion(const QString &text);