diff options
author | George Hazan <george.hazan@gmail.com> | 2012-08-10 09:54:19 +0000 |
---|---|---|
committer | George Hazan <george.hazan@gmail.com> | 2012-08-10 09:54:19 +0000 |
commit | 9bce64a32ea9d903797a27bb06b9919c11bbe596 (patch) | |
tree | 7f5efe7c81d8e9c58dbe2ff1258d21cb02f44cb9 /src | |
parent | a9fd57b5e2a5d8e75c1f84a8ecd2c2aca57beb0d (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')
-rw-r--r-- | src/modules/plugins/newplugins.cpp | 6 |
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;
} } } }
|