summaryrefslogtreecommitdiff
path: root/src/modules/plugins/newplugins.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/modules/plugins/newplugins.cpp')
-rw-r--r--src/modules/plugins/newplugins.cpp9
1 files changed, 8 insertions, 1 deletions
diff --git a/src/modules/plugins/newplugins.cpp b/src/modules/plugins/newplugins.cpp
index 76d16cbf6f..d890de5157 100644
--- a/src/modules/plugins/newplugins.cpp
+++ b/src/modules/plugins/newplugins.cpp
@@ -261,7 +261,6 @@ int checkAPI(TCHAR* plugin, BASIC_PLUGIN_INFO* bpi, DWORD mirandaVersion, int ch
bpi->Load = (Miranda_Plugin_Load) GetProcAddress(h, "Load");
bpi->Unload = (Miranda_Plugin_Unload) GetProcAddress(h, "Unload");
bpi->InfoEx = (Miranda_Plugin_InfoEx) GetProcAddress(h, "MirandaPluginInfoEx");
- bpi->Interfaces = (MUUID*) GetProcAddress(h, "MirandaInterfaces");
// if they were present
if ( !bpi->Load || !bpi->Unload || !bpi->InfoEx) {
@@ -270,6 +269,14 @@ LBL_Error:
return 0;
}
+ bpi->Interfaces = (MUUID*) GetProcAddress(h, "MirandaInterfaces");
+ if ( !bpi->Interfaces) {
+ typedef MUUID * (__cdecl * Miranda_Plugin_Interfaces) (void);
+ Miranda_Plugin_Interfaces pFunc = (Miranda_Plugin_Interfaces) GetProcAddress(h, "MirandaPluginInterfaces");
+ if (pFunc)
+ bpi->Interfaces = pFunc();
+ }
+
PLUGININFOEX* pi = bpi->InfoEx(mirandaVersion);
if ( !checkPI(bpi, pi))
goto LBL_Error;