summaryrefslogtreecommitdiff
path: root/src/modules/plugins
diff options
context:
space:
mode:
Diffstat (limited to 'src/modules/plugins')
-rw-r--r--src/modules/plugins/newplugins.cpp13
1 files changed, 8 insertions, 5 deletions
diff --git a/src/modules/plugins/newplugins.cpp b/src/modules/plugins/newplugins.cpp
index f30efaa103..5c16845279 100644
--- a/src/modules/plugins/newplugins.cpp
+++ b/src/modules/plugins/newplugins.cpp
@@ -149,12 +149,8 @@ int LoadStdPlugins()
if (pluginDefault[i].pImpl)
continue;
- if (!LoadCorePlugin(pluginDefault[i])) {
- TCHAR tszBuf[512];
- mir_sntprintf(tszBuf, SIZEOF(tszBuf), TranslateT("Core plugin '%s' cannot be loaded or missing. Miranda will exit now"), pluginDefault[i].stdplugname);
- MessageBox(NULL, tszBuf, TranslateT("Fatal error"), MB_OK | MB_ICONSTOP);
+ if (!LoadCorePlugin(pluginDefault[i]))
return 1;
- }
}
if (pluginDefault[13].pImpl == NULL)
@@ -543,6 +539,11 @@ bool TryLoadPlugin(pluginEntry *p, bool bDynamic)
return true;
}
+/////////////////////////////////////////////////////////////////////////////////////////
+// Core plugins support
+
+static TCHAR tszCoreErr[] = LPGENT("Core plugin '%s' cannot be loaded or missing. Miranda will exit now");
+
bool LoadCorePlugin(MuuidReplacement& mr)
{
TCHAR exe[MAX_PATH], tszPlugName[MAX_PATH];
@@ -553,6 +554,8 @@ bool LoadCorePlugin(MuuidReplacement& mr)
pluginEntry* pPlug = OpenPlugin(tszPlugName, _T("Core"), exe);
if (pPlug->pclass & PCLASS_FAILED) {
LBL_Error:
+ MessageBox(NULL, CMString(FORMAT, TranslateTS(tszCoreErr), mr.stdplugname), TranslateT("Fatal error"), MB_OK | MB_ICONSTOP);
+
Plugin_UnloadDyn(pPlug);
mr.pImpl = NULL;
return false;