From 9bce64a32ea9d903797a27bb06b9919c11bbe596 Mon Sep 17 00:00:00 2001 From: George Hazan Date: Fri, 10 Aug 2012 09:54:19 +0000 Subject: fix for the standard plugins loading order git-svn-id: http://svn.miranda-ng.org/main/trunk@1421 1316c22d-e87f-b044-9b9b-93d7a3e3ba9c --- src/modules/plugins/newplugins.cpp | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'src/modules') 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; } } } } -- cgit v1.2.3