summaryrefslogtreecommitdiff
path: root/src/modules/plugins/newplugins.cpp
diff options
context:
space:
mode:
authorGeorge Hazan <george.hazan@gmail.com>2012-08-10 09:54:19 +0000
committerGeorge Hazan <george.hazan@gmail.com>2012-08-10 09:54:19 +0000
commit9bce64a32ea9d903797a27bb06b9919c11bbe596 (patch)
tree7f5efe7c81d8e9c58dbe2ff1258d21cb02f44cb9 /src/modules/plugins/newplugins.cpp
parenta9fd57b5e2a5d8e75c1f84a8ecd2c2aca57beb0d (diff)
fix for the standard plugins loading order
git-svn-id: http://svn.miranda-ng.org/main/trunk@1421 1316c22d-e87f-b044-9b9b-93d7a3e3ba9c
Diffstat (limited to 'src/modules/plugins/newplugins.cpp')
-rw-r--r--src/modules/plugins/newplugins.cpp6
1 files changed, 4 insertions, 2 deletions
diff --git a/src/modules/plugins/newplugins.cpp b/src/modules/plugins/newplugins.cpp
index 3a07390076..ad6206eaf4 100644
--- a/src/modules/plugins/newplugins.cpp
+++ b/src/modules/plugins/newplugins.cpp
@@ -475,11 +475,13 @@ bool TryLoadPlugin(pluginEntry *p, bool bDynamic)
for (int i=0; !equalUUID(miid_last, piface[i]); i++) {
int idx = getDefaultPluginIdx( piface[i] );
if (idx != -1 && pluginDefault[idx].pImpl) {
- if ( bModulesLoadedFired && !bDynamic) {
+ if (!bDynamic) { // this place is already occupied, skip & disable
SetPluginOnWhiteList(p->pluginname, 0);
return false;
}
- if (bDynamic && !(p->pclass & PCLASS_CORE)) {
+
+ // we're loading new implementation dynamically, let the old one die
+ if ( !(p->pclass & PCLASS_CORE)) {
Plugin_UnloadDyn(pluginDefault[idx].pImpl);
pluginDefault[idx].pImpl = NULL;
} } } }