[rkward-cvs] SF.net SVN: rkward:[3860] trunk/rkward/rkward/settings/ rksettingsmoduleplugins.cpp
tfry at users.sourceforge.net
tfry at users.sourceforge.net
Thu Sep 29 08:55:57 UTC 2011
Revision: 3860
http://rkward.svn.sourceforge.net/rkward/?rev=3860&view=rev
Author: tfry
Date: 2011-09-29 08:55:57 +0000 (Thu, 29 Sep 2011)
Log Message:
-----------
fix a race condition
Modified Paths:
--------------
trunk/rkward/rkward/settings/rksettingsmoduleplugins.cpp
Modified: trunk/rkward/rkward/settings/rksettingsmoduleplugins.cpp
===================================================================
--- trunk/rkward/rkward/settings/rksettingsmoduleplugins.cpp 2011-09-29 08:07:19 UTC (rev 3859)
+++ trunk/rkward/rkward/settings/rksettingsmoduleplugins.cpp 2011-09-29 08:55:57 UTC (rev 3860)
@@ -216,12 +216,14 @@
added.append (map);
}
+ if (force_reload || (!added.isEmpty ())) {
+ // NOTE: Do this *before* showing the dialog, which is modal, i.e. has an event loop. Otherwise, subsequent calls e.g. to rk.call.plugin() could sneak in front of this
+ RKWardMainWindow::getMain ()->initPlugins();
+ }
+
if (!added.isEmpty ()) {
KMessageBox::informationList (RKWardMainWindow::getMain (), i18n ("New RKWard plugin packs (listed below) have been found, and have been activated, automatically. To de-activate selected plugin packs, use Settings->Configure RKWard->Plugins."), added, i18n ("New plugins found"), "new_plugins_found");
- force_reload = true;
}
-
- if (force_reload) RKWardMainWindow::getMain ()->initPlugins();
}
void RKSettingsModulePlugins::fixPluginMapLists () {
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
More information about the rkward-tracker
mailing list