From f6943a588688a64a0154a0bc3a2a56ad8727e9fa Mon Sep 17 00:00:00 2001 From: George Hazan Date: Fri, 6 Jul 2012 21:50:32 +0000 Subject: fix for doubled menu items in Core plugins git-svn-id: http://svn.miranda-ng.org/main/trunk@802 1316c22d-e87f-b044-9b9b-93d7a3e3ba9c --- src/core/miranda.cpp | 2 ++ src/modules/plugins/newplugins.cpp | 10 +++++++--- 2 files changed, 9 insertions(+), 3 deletions(-) (limited to 'src') diff --git a/src/core/miranda.cpp b/src/core/miranda.cpp index 4ee236537f..be4a7691f5 100644 --- a/src/core/miranda.cpp +++ b/src/core/miranda.cpp @@ -86,6 +86,7 @@ static int waitObjectCount = 0; HANDLE hMirandaShutdown; HINSTANCE hInst; int hLangpack = 0; +bool bModulesLoadedFired = false; ///////////////////////////////////////////////////////////////////////////////////////// // exception handling @@ -298,6 +299,7 @@ int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE, LPSTR, int) goto exit; } NotifyEventHooks(hModulesLoadedEvent, 0, 0); + bModulesLoadedFired = true; // ensure that the kernel hooks the SystemShutdownProc() after all plugins HookEvent(ME_SYSTEM_SHUTDOWN, SystemShutdownProc); diff --git a/src/modules/plugins/newplugins.cpp b/src/modules/plugins/newplugins.cpp index 04ac293b97..7e4e9ac80c 100644 --- a/src/modules/plugins/newplugins.cpp +++ b/src/modules/plugins/newplugins.cpp @@ -23,6 +23,8 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. #include "..\..\core\commonheaders.h" #include "plugins.h" +extern bool bModulesLoadedFired; + static int sttComparePluginsByName(const pluginEntry* p1, const pluginEntry* p2) { return lstrcmp(p1->pluginname, p2->pluginname); } @@ -607,11 +609,13 @@ LBL_Error: if ( !TryLoadPlugin(pPlug, true)) goto LBL_Error; - if (CallPluginEventHook(pPlug->bpi.hInst, hModulesLoadedEvent, 0, 0) != 0) - goto LBL_Error; + if (bModulesLoadedFired) { + if (CallPluginEventHook(pPlug->bpi.hInst, hModulesLoadedEvent, 0, 0) != 0) + goto LBL_Error; + NotifyEventHooks(hevLoadModule, (WPARAM)pPlug->bpi.InfoEx, (LPARAM)pPlug->bpi.hInst); + } mr.pImpl = pPlug; - NotifyEventHooks(hevLoadModule, (WPARAM)pPlug->bpi.InfoEx, (LPARAM)pPlug->bpi.hInst); return TRUE; } -- cgit v1.2.3