diff options
author | Gergely Risko <gergely+context@risko.hu> | 2009-09-09 11:12:42 +0300 |
---|---|---|
committer | Gergely Risko <gergely+context@risko.hu> | 2009-09-09 11:12:42 +0300 |
commit | c5e588c4521fd789abb6c43221a870288c81386a (patch) | |
tree | ed0c823845f2ea533a3c29ff18dece8faa03ce91 | |
parent | 62f9a85f798a1fcdc74b0d25d11220bebed557e5 (diff) |
libcontextsubscriber plugins: A fix: Handle the signals from plugins queued, so that we don't end up in a deadlock
(of one thread) when the plugin e.g. emits subscribeFinished() inside subscribe().
Conflicts:
-rw-r--r-- | libcontextsubscriber/src/provider.cpp | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/libcontextsubscriber/src/provider.cpp b/libcontextsubscriber/src/provider.cpp index 592ae82e..0c8a61db 100644 --- a/libcontextsubscriber/src/provider.cpp +++ b/libcontextsubscriber/src/provider.cpp @@ -126,14 +126,14 @@ void Provider::constructPlugin() handleSignalRouter, SLOT(onValueChanged(QString, QVariant))); sconnect(plugin, SIGNAL(ready()), - this, SLOT(onPluginReady())); + this, SLOT(onPluginReady()), Qt::QueuedConnection); sconnect(plugin, SIGNAL(failed(QString)), - this, SLOT(onPluginFailed(QString))); + this, SLOT(onPluginFailed(QString)), Qt::QueuedConnection); sconnect(plugin, SIGNAL(subscribeFinished(QString)), - this, SLOT(onPluginSubscribeFinished(QString))); + this, SLOT(onPluginSubscribeFinished(QString)), Qt::QueuedConnection); sconnect(plugin, SIGNAL(subscribeFailed(QString, QString)), - this, SLOT(onPluginSubscribeFailed(QString, QString))); + this, SLOT(onPluginSubscribeFailed(QString, QString)), Qt::QueuedConnection); sconnect(this, SIGNAL(subscribeFinished(QString)), handleSignalRouter, SLOT(onSubscribeFinished(QString))); } |