Merge pull request #752 from cxd4/fix-DllAbout-ptr-truncation

DllConfig(hParent) should be a pointer, not a uint32_t.
This commit is contained in:
zilmar 2015-11-13 14:10:03 +11:00
commit b7f742077c
5 changed files with 20 additions and 8 deletions

View File

@ -71,7 +71,7 @@ bool CPlugin::Load (const char * FileName)
RomOpen = (void (__cdecl *)(void)) GetProcAddress( (HMODULE)m_hDll, "RomOpen" ); RomOpen = (void (__cdecl *)(void)) GetProcAddress( (HMODULE)m_hDll, "RomOpen" );
RomClosed = (void (__cdecl *)(void)) GetProcAddress( (HMODULE)m_hDll, "RomClosed" ); RomClosed = (void (__cdecl *)(void)) GetProcAddress( (HMODULE)m_hDll, "RomClosed" );
PluginOpened = (void (__cdecl *)(void)) GetProcAddress( (HMODULE)m_hDll, "PluginLoaded" ); PluginOpened = (void (__cdecl *)(void)) GetProcAddress( (HMODULE)m_hDll, "PluginLoaded" );
DllConfig = (void (__cdecl *)(uint32_t)) GetProcAddress( (HMODULE)m_hDll, "DllConfig" ); DllConfig = (void (__cdecl *)(void *)) GetProcAddress( (HMODULE)m_hDll, "DllConfig" );
DllAbout = (void (__cdecl *)(void *)) GetProcAddress( (HMODULE)m_hDll, "DllAbout" ); DllAbout = (void (__cdecl *)(void *)) GetProcAddress( (HMODULE)m_hDll, "DllAbout" );
SetSettingInfo3 = (void (__cdecl *)(PLUGIN_SETTINGS3 *))GetProcAddress( (HMODULE)m_hDll, "SetSettingInfo3" ); SetSettingInfo3 = (void (__cdecl *)(PLUGIN_SETTINGS3 *))GetProcAddress( (HMODULE)m_hDll, "SetSettingInfo3" );

View File

@ -30,7 +30,7 @@ public:
void Close(); void Close();
void(__cdecl *DllAbout) (void * hWnd); void(__cdecl *DllAbout) (void * hWnd);
void(__cdecl *DllConfig) (uint32_t hParent); void(__cdecl *DllConfig) (void * hParent);
static bool ValidPluginVersion ( PLUGIN_INFO & PluginInfo ); static bool ValidPluginVersion ( PLUGIN_INFO & PluginInfo );

View File

@ -318,7 +318,7 @@ bool CPlugins::Reset(CN64System * System)
return true; return true;
} }
void CPlugins::ConfigPlugin(uint32_t hParent, PLUGIN_TYPE Type) void CPlugins::ConfigPlugin(void* hParent, PLUGIN_TYPE Type)
{ {
switch (Type) switch (Type)
{ {

View File

@ -104,7 +104,7 @@ public:
void RomOpened(void); void RomOpened(void);
void RomClosed(void); void RomClosed(void);
void SetRenderWindows(RenderWindow * MainWindow, RenderWindow * SyncWindow); void SetRenderWindows(RenderWindow * MainWindow, RenderWindow * SyncWindow);
void ConfigPlugin(uint32_t hParent, PLUGIN_TYPE Type); void ConfigPlugin(void* hParent, PLUGIN_TYPE Type);
bool CopyPlugins(const stdstr & DstDir) const; bool CopyPlugins(const stdstr & DstDir) const;
void CreatePlugins(void); void CreatePlugins(void);
bool Reset(CN64System * System); bool Reset(CN64System * System);

View File

@ -323,10 +323,22 @@ bool CMainMenu::ProcessMessage(HWND hWnd, DWORD /*FromAccelerator*/, DWORD MenuI
m_Gui->MakeWindowOnTop(g_Settings->LoadBool(GameRunning_CPU_Running)); m_Gui->MakeWindowOnTop(g_Settings->LoadBool(GameRunning_CPU_Running));
} }
break; break;
case ID_OPTIONS_CONFIG_RSP: WriteTrace(TraceDebug, __FUNCTION__ ": ID_OPTIONS_CONFIG_RSP"); g_Plugins->ConfigPlugin((DWORD)hWnd, PLUGIN_TYPE_RSP); break; case ID_OPTIONS_CONFIG_RSP:
case ID_OPTIONS_CONFIG_GFX: WriteTrace(TraceDebug, __FUNCTION__ ": ID_OPTIONS_CONFIG_GFX"); g_Plugins->ConfigPlugin((DWORD)hWnd, PLUGIN_TYPE_GFX); break; WriteTrace(TraceDebug, __FUNCTION__ ": ID_OPTIONS_CONFIG_RSP");
case ID_OPTIONS_CONFIG_AUDIO:WriteTrace(TraceDebug, __FUNCTION__ ": ID_OPTIONS_CONFIG_AUDIO"); g_Plugins->ConfigPlugin((DWORD)hWnd, PLUGIN_TYPE_AUDIO); break; g_Plugins->ConfigPlugin(hWnd, PLUGIN_TYPE_RSP);
case ID_OPTIONS_CONFIG_CONT: WriteTrace(TraceDebug, __FUNCTION__ ": ID_OPTIONS_CONFIG_CONT"); g_Plugins->ConfigPlugin((DWORD)hWnd, PLUGIN_TYPE_CONTROLLER); break; break;
case ID_OPTIONS_CONFIG_GFX:
WriteTrace(TraceDebug, __FUNCTION__ ": ID_OPTIONS_CONFIG_GFX");
g_Plugins->ConfigPlugin(hWnd, PLUGIN_TYPE_GFX);
break;
case ID_OPTIONS_CONFIG_AUDIO:
WriteTrace(TraceDebug, __FUNCTION__ ": ID_OPTIONS_CONFIG_AUDIO");
g_Plugins->ConfigPlugin(hWnd, PLUGIN_TYPE_AUDIO);
break;
case ID_OPTIONS_CONFIG_CONT:
WriteTrace(TraceDebug, __FUNCTION__ ": ID_OPTIONS_CONFIG_CONT");
g_Plugins->ConfigPlugin(hWnd, PLUGIN_TYPE_CONTROLLER);
break;
case ID_OPTIONS_CPU_USAGE: case ID_OPTIONS_CPU_USAGE:
WriteTrace(TraceDebug, __FUNCTION__ ": ID_OPTIONS_CPU_USAGE"); WriteTrace(TraceDebug, __FUNCTION__ ": ID_OPTIONS_CPU_USAGE");
if (g_Settings->LoadBool(UserInterface_ShowCPUPer)) if (g_Settings->LoadBool(UserInterface_ShowCPUPer))