summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--updater/scan.cpp12
-rw-r--r--updater/version.h4
2 files changed, 11 insertions, 5 deletions
diff --git a/updater/scan.cpp b/updater/scan.cpp
index cab6cbc..5dda22a 100644
--- a/updater/scan.cpp
+++ b/updater/scan.cpp
@@ -2,6 +2,7 @@
#include "scan.h"
typedef PLUGININFO * (__cdecl * Miranda_Plugin_Info) ( DWORD mirandaVersion );
+typedef PLUGININFOEX * (__cdecl * Miranda_Plugin_Info_Ex) ( DWORD mirandaVersion );
typedef std::map<std::string, std::string> AlternateShortNameMap;
@@ -24,6 +25,7 @@ void ScanPlugins(FilenameMap *fn_map, UpdateList *update_list) {
dll_path[MAX_PATH];
TCHAR *dll_name;
Miranda_Plugin_Info dll_info_func;
+ Miranda_Plugin_Info_Ex dll_info_func_ex;
DWORD mirandaVersion = (DWORD)CallService(MS_SYSTEM_GETVERSION, 0, 0);
PLUGININFO *pluginInfo;
HMODULE hModule;
@@ -53,7 +55,8 @@ void ScanPlugins(FilenameMap *fn_map, UpdateList *update_list) {
_tcscpy(dll_name, findData.cFileName);
if(hModule = LoadLibrary(dll_path)) {
dll_info_func = (Miranda_Plugin_Info)GetProcAddress(hModule, "MirandaPluginInfo");
- if(dll_info_func && (pluginInfo = dll_info_func(mirandaVersion))) {
+ dll_info_func_ex = (Miranda_Plugin_Info_Ex)GetProcAddress(hModule, "MirandaPluginInfoEx");
+ if((dll_info_func_ex && (pluginInfo = (PLUGININFO *)dll_info_func_ex(mirandaVersion))) || (dll_info_func && (pluginInfo = dll_info_func(mirandaVersion)))) {
// *** This is a dodgy and unfair hack...
// In order to disable new plugins that may be unintentionally installed whith an update,
@@ -188,6 +191,7 @@ bool RearrangeDlls(char *shortName, STDStringList &filenames) {
BYTE disabled_val;
Miranda_Plugin_Info dll_info_func;
+ Miranda_Plugin_Info_Ex dll_info_func_ex;
DWORD mirandaVersion = (DWORD)CallService(MS_SYSTEM_GETVERSION, 0, 0);
PLUGININFO *pluginInfo;
HMODULE hModule;
@@ -211,7 +215,8 @@ bool RearrangeDlls(char *shortName, STDStringList &filenames) {
if(hModule = LoadLibrary(file_path)) {
dll_info_func = (Miranda_Plugin_Info)GetProcAddress(hModule, "MirandaPluginInfo");
- if(dll_info_func && (pluginInfo = dll_info_func(mirandaVersion))) {
+ dll_info_func_ex = (Miranda_Plugin_Info_Ex)GetProcAddress(hModule, "MirandaPluginInfoEx");
+ if((dll_info_func_ex && (pluginInfo = (PLUGININFO *)dll_info_func_ex(mirandaVersion))) || (dll_info_func && (pluginInfo = dll_info_func(mirandaVersion)))) {
std::string strShortName(pluginInfo->shortName);
AlternateShortNameMap::iterator i = alternate_shortname_map.find(strShortName);
if(i != alternate_shortname_map.end())
@@ -283,7 +288,8 @@ bool RearrangeDlls(char *shortName, STDStringList &filenames) {
if(hModule = LoadLibrary(file_path)) {
dll_info_func = (Miranda_Plugin_Info)GetProcAddress(hModule, "MirandaPluginInfo");
- if(dll_info_func && (pluginInfo = dll_info_func(mirandaVersion))) {
+ dll_info_func_ex = (Miranda_Plugin_Info_Ex)GetProcAddress(hModule, "MirandaPluginInfoEx");
+ if((dll_info_func_ex && (pluginInfo = (PLUGININFO *)dll_info_func_ex(mirandaVersion))) || (dll_info_func && (pluginInfo = dll_info_func(mirandaVersion)))) {
std::string strShortName(pluginInfo->shortName);
AlternateShortNameMap::iterator i = alternate_shortname_map.find(strShortName);
if(i != alternate_shortname_map.end())
diff --git a/updater/version.h b/updater/version.h
index 16ace46..064b0d0 100644
--- a/updater/version.h
+++ b/updater/version.h
@@ -4,8 +4,8 @@
#define __MAJOR_VERSION 0
#define __MINOR_VERSION 5
-#define __RELEASE_NUM 0
-#define __BUILD_NUM 1
+#define __RELEASE_NUM 1
+#define __BUILD_NUM 0
#define __FILEVERSION_STRING __MAJOR_VERSION,__MINOR_VERSION,__RELEASE_NUM,__BUILD_NUM
#define __FILEVERSION_STRING_DOTS __MAJOR_VERSION.__MINOR_VERSION.__RELEASE_NUM.__BUILD_NUM