summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog5
-rw-r--r--win32/gui/plugin.c11
2 files changed, 12 insertions, 4 deletions
diff --git a/ChangeLog b/ChangeLog
index b4fc7b0b..e94508a1 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+Jun 29, 2010 Wei Mingzhi <whistler_wmz@users.sf.net>
+
+ * win32/gui/plugin.c: Close PAD plugins before other plugins and don't check
+ return value for PADclose(), which should fix issues with LilyPad.
+
Jun 26, 2010 Wei Mingzhi <whistler_wmz@users.sf.net>
* libpcsxcore/psxbios.c: Fixed bcopy() (FF9 battle crash with HLE BIOS - my
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();