summaryrefslogtreecommitdiff
path: root/win32/gui/plugin.c
diff options
context:
space:
mode:
authorSND\weimingzhi_cp <SND\weimingzhi_cp@e17a0e51-4ae3-4d35-97c3-1a29b211df97>2010-06-29 01:05:49 +0000
committerSND\weimingzhi_cp <SND\weimingzhi_cp@e17a0e51-4ae3-4d35-97c3-1a29b211df97>2010-06-29 01:05:49 +0000
commit3e6470958953dd45ef15fb7c6cf6302084ec2013 (patch)
treed70918040456c1d34179fe79960a9821cce4b41c /win32/gui/plugin.c
parente105bbd971a3f180cce936f3e81bf49d10ebfbe9 (diff)
downloadpcsxr-3e6470958953dd45ef15fb7c6cf6302084ec2013.tar.gz
lilypad fix (hopefully)
git-svn-id: https://pcsxr.svn.codeplex.com/svn/pcsxr@53804 e17a0e51-4ae3-4d35-97c3-1a29b211df97
Diffstat (limited to 'win32/gui/plugin.c')
-rw-r--r--win32/gui/plugin.c11
1 files changed, 7 insertions, 4 deletions
diff --git a/win32/gui/plugin.c b/win32/gui/plugin.c
index cab6d36b..14ff7edb 100644
--- a/win32/gui/plugin.c
+++ b/win32/gui/plugin.c
@@ -302,17 +302,20 @@ int OpenPlugins(HWND hWnd, int internaliso) {
void ClosePlugins() {
int ret;
+ // PAD plugins have to be closed first, otherwise some plugins like
+ // LilyPad will mess up the window handle and cause crash.
+ // Also don't check return value here, as LilyPad uses void.
+ PAD1_close();
+ PAD2_close();
+
UpdateMenuSlots();
+
ret = CDR_close();
if (ret < 0) { SysMessage (_("Error Closing CDR Plugin")); return; }
ret = GPU_close();
if (ret < 0) { SysMessage (_("Error Closing GPU Plugin")); return; }
ret = SPU_close();
if (ret < 0) { SysMessage (_("Error Closing SPU Plugin")); return; }
- ret = PAD1_close();
- if (ret < 0) { SysMessage (_("Error Closing PAD1 Plugin")); return; }
- ret = PAD2_close();
- if (ret < 0) { SysMessage (_("Error Closing PAD2 Plugin")); return; }
if (Config.UseNet) {
NET_pause();