From 3e34f5707bd7d220aa7b11654a139250ad2a39eb Mon Sep 17 00:00:00 2001 From: ugetab Date: Wed, 31 Mar 2010 03:46:16 +0000 Subject: [PATCH] Made closing minimized windows stop trying to save the position as a negative number, part of what's reported under Tracker Artifact 2979512. --- changelog.txt | 1 + src/drivers/win/cdlogger.cpp | 2 ++ src/drivers/win/cheat.cpp | 4 ++++ src/drivers/win/debugger.cpp | 2 ++ src/drivers/win/log.cpp | 3 ++- src/drivers/win/memview.cpp | 6 ++++-- src/drivers/win/memwatch.cpp | 3 ++- src/drivers/win/monitor.cpp | 3 ++- src/drivers/win/ntview.cpp | 3 ++- src/drivers/win/ppuview.cpp | 3 ++- src/drivers/win/ramwatch.cpp | 3 ++- src/drivers/win/replay.cpp | 2 ++ src/drivers/win/tasedit.cpp | 3 ++- src/drivers/win/texthook.cpp | 3 ++- src/drivers/win/tracer.cpp | 3 ++- src/drivers/win/window.cpp | 3 ++- 16 files changed, 35 insertions(+), 12 deletions(-) diff --git a/changelog.txt b/changelog.txt index f096e361..99885733 100644 --- a/changelog.txt +++ b/changelog.txt @@ -1,3 +1,4 @@ +30-march-2010 - ugetab - Win32 - Closing minimized windows no longer moves them the next time they get opened 28-march-2010 - adelikat - lua - fixed zapper.read() to read movie data if a movie is playing. Also changed the struct values to x,y,fire. This breaks lua scripts that used it previous, sorry. 04-march-2010 - prockguy - added menu buttons for loading nsf files 03-march-2010 - adelikat - Win32 - If .fm2 drag & dropped with no ROM load, the open ROM dialog will appear diff --git a/src/drivers/win/cdlogger.cpp b/src/drivers/win/cdlogger.cpp index f72ae3d6..3ac07b7e 100644 --- a/src/drivers/win/cdlogger.cpp +++ b/src/drivers/win/cdlogger.cpp @@ -93,6 +93,7 @@ BOOL CALLBACK CDLoggerCallB(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lPara break; case WM_MOVE: { + if (!IsIconic(hwndDlg)) { RECT wrect; GetWindowRect(hwndDlg,&wrect); CDLogger_wndx = wrect.left; @@ -101,6 +102,7 @@ BOOL CALLBACK CDLoggerCallB(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lPara #ifdef WIN32 WindowBoundsCheckNoResize(CDLogger_wndx,CDLogger_wndy,wrect.right); #endif + } break; }; case WM_INITDIALOG: diff --git a/src/drivers/win/cheat.cpp b/src/drivers/win/cheat.cpp index 9ab631cb..51a1eed8 100644 --- a/src/drivers/win/cheat.cpp +++ b/src/drivers/win/cheat.cpp @@ -241,6 +241,7 @@ BOOL CALLBACK CheatConsoleCallB(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM l break; case WM_MOVE: + if (!IsIconic(hwndDlg)) { GetWindowRect(hwndDlg,&wrect); ChtPosX = wrect.left; ChtPosY = wrect.top; @@ -248,6 +249,7 @@ BOOL CALLBACK CheatConsoleCallB(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM l #ifdef WIN32 WindowBoundsCheckNoResize(ChtPosX,ChtPosY,wrect.right); #endif + } break; case WM_VSCROLL: @@ -624,6 +626,7 @@ BOOL CALLBACK GGConvCallB(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam) switch(uMsg) { case WM_MOVE: { + if (!IsIconic(hwndDlg)) { RECT wrect; GetWindowRect(hwndDlg,&wrect); GGConv_wndx = wrect.left; @@ -632,6 +635,7 @@ BOOL CALLBACK GGConvCallB(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam) #ifdef WIN32 WindowBoundsCheckNoResize(GGConv_wndx,GGConv_wndy,wrect.right); #endif + } break; }; case WM_INITDIALOG: diff --git a/src/drivers/win/debugger.cpp b/src/drivers/win/debugger.cpp index 6a823e97..1b42925a 100644 --- a/src/drivers/win/debugger.cpp +++ b/src/drivers/win/debugger.cpp @@ -1081,6 +1081,7 @@ BOOL CALLBACK DebuggerCallB(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lPara case WM_MOVING: break; case WM_MOVE: + if (!IsIconic(hwndDlg)) { GetWindowRect(hwndDlg,&wrect); DbgPosX = wrect.left; DbgPosY = wrect.top; @@ -1088,6 +1089,7 @@ BOOL CALLBACK DebuggerCallB(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lPara #ifdef WIN32 WindowBoundsCheckResize(DbgPosX,DbgPosY,DbgSizeX,wrect.right); #endif + } break; //adelikat: Buttons that don't need a rom loaded to do something, such as autoload diff --git a/src/drivers/win/log.cpp b/src/drivers/win/log.cpp index 23f43a2c..9451078e 100644 --- a/src/drivers/win/log.cpp +++ b/src/drivers/win/log.cpp @@ -83,6 +83,7 @@ BOOL CALLBACK LogCon(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam) SetWindowPos(hwndDlg,0,MLogPosX,MLogPosY,0,0,SWP_NOSIZE|SWP_NOZORDER|SWP_NOOWNERZORDER); break; case WM_MOVE: + if (!IsIconic(hwndDlg)) { GetWindowRect(hwndDlg,&wrect); //Remember X,Y coordinates MLogPosX = wrect.left; MLogPosY = wrect.top; @@ -90,7 +91,7 @@ BOOL CALLBACK LogCon(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam) #ifdef WIN32 WindowBoundsCheckNoResize(MLogPosX,MLogPosY,wrect.right); #endif - + } break; case WM_COMMAND: if(HIWORD(wParam)==BN_CLICKED) diff --git a/src/drivers/win/memview.cpp b/src/drivers/win/memview.cpp index cc8affba..3931210c 100644 --- a/src/drivers/win/memview.cpp +++ b/src/drivers/win/memview.cpp @@ -1592,6 +1592,7 @@ LRESULT CALLBACK MemViewCallB(HWND hwnd, UINT message, WPARAM wParam, LPARAM lPa } case WM_MOVE: { + if (!IsIconic(hwnd)) { RECT wrect; GetWindowRect(hwnd,&wrect); MemView_wndx = wrect.left; @@ -1600,7 +1601,7 @@ LRESULT CALLBACK MemViewCallB(HWND hwnd, UINT message, WPARAM wParam, LPARAM lPa #ifdef WIN32 WindowBoundsCheckResize(MemView_wndx,MemView_wndy,MemViewSizeX,wrect.right); #endif - + } return 0; } @@ -1695,6 +1696,7 @@ BOOL CALLBACK MemFindCallB(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam case WM_MOVING: break; case WM_MOVE: { + if (!IsIconic(hwndDlg)) { RECT wrect; GetWindowRect(hwndDlg,&wrect); MemFind_wndx = wrect.left; @@ -1703,7 +1705,7 @@ BOOL CALLBACK MemFindCallB(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam #ifdef WIN32 WindowBoundsCheckNoResize(MemFind_wndx,MemFind_wndy,wrect.right); #endif - + } break; } case WM_RBUTTONDBLCLK: diff --git a/src/drivers/win/memwatch.cpp b/src/drivers/win/memwatch.cpp index 0859646b..9d72c23b 100644 --- a/src/drivers/win/memwatch.cpp +++ b/src/drivers/win/memwatch.cpp @@ -720,6 +720,7 @@ static BOOL CALLBACK MemWatchCallB(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARA EnableMenuItem(memwmenu,MEMW_FILE_SAVE,MF_BYCOMMAND | fileChanged ? MF_ENABLED:MF_GRAYED); break; case WM_MOVE: { + if (!IsIconic(hwndDlg)) { RECT wrect; GetWindowRect(hwndDlg,&wrect); MemWatch_wndx = wrect.left; @@ -728,7 +729,7 @@ static BOOL CALLBACK MemWatchCallB(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARA #ifdef WIN32 WindowBoundsCheckNoResize(MemWatch_wndx,MemWatch_wndy,wrect.right); #endif - + } break; }; diff --git a/src/drivers/win/monitor.cpp b/src/drivers/win/monitor.cpp index 8924eee2..9947395f 100644 --- a/src/drivers/win/monitor.cpp +++ b/src/drivers/win/monitor.cpp @@ -223,6 +223,7 @@ BOOL CALLBACK MonitorCallB(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam { switch(uMsg) { case WM_MOVE: { + if (!IsIconic(hwndDlg)) { RECT wrect; GetWindowRect(hwndDlg,&wrect); Monitor_wndx = wrect.left; @@ -231,7 +232,7 @@ BOOL CALLBACK MonitorCallB(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam #ifdef WIN32 WindowBoundsCheckNoResize(Monitor_wndx,Monitor_wndy,wrect.right); #endif - + } break; }; diff --git a/src/drivers/win/ntview.cpp b/src/drivers/win/ntview.cpp index 19a28622..4edfcdc2 100644 --- a/src/drivers/win/ntview.cpp +++ b/src/drivers/win/ntview.cpp @@ -421,6 +421,7 @@ BOOL CALLBACK NTViewCallB(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam) case WM_MOVING: break; case WM_MOVE: + if (!IsIconic(hwndDlg)) { GetWindowRect(hwndDlg,&wrect); NTViewPosX = wrect.left; NTViewPosY = wrect.top; @@ -428,7 +429,7 @@ BOOL CALLBACK NTViewCallB(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam) #ifdef WIN32 WindowBoundsCheckNoResize(NTViewPosX,NTViewPosY,wrect.right); #endif - + } break; case WM_RBUTTONDBLCLK: case WM_RBUTTONDOWN: diff --git a/src/drivers/win/ppuview.cpp b/src/drivers/win/ppuview.cpp index f6558c85..69e50e12 100644 --- a/src/drivers/win/ppuview.cpp +++ b/src/drivers/win/ppuview.cpp @@ -267,6 +267,7 @@ BOOL CALLBACK PPUViewCallB(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam case WM_MOVING: break; case WM_MOVE: + if (!IsIconic(hwndDlg)) { GetWindowRect(hwndDlg,&wrect); PPUViewPosX = wrect.left; PPUViewPosY = wrect.top; @@ -274,7 +275,7 @@ BOOL CALLBACK PPUViewCallB(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam #ifdef WIN32 WindowBoundsCheckNoResize(PPUViewPosX,PPUViewPosY,wrect.right); #endif - + } break; case WM_RBUTTONDBLCLK: case WM_RBUTTONDOWN: diff --git a/src/drivers/win/ramwatch.cpp b/src/drivers/win/ramwatch.cpp index d1f020be..f6e15417 100644 --- a/src/drivers/win/ramwatch.cpp +++ b/src/drivers/win/ramwatch.cpp @@ -826,6 +826,7 @@ LRESULT CALLBACK RamWatchProc(HWND hDlg, UINT uMsg, WPARAM wParam, LPARAM lParam switch(uMsg) { case WM_MOVE: { + if (!IsIconic(hDlg)) { RECT wrect; GetWindowRect(hDlg,&wrect); ramw_x = wrect.left; @@ -834,7 +835,7 @@ LRESULT CALLBACK RamWatchProc(HWND hDlg, UINT uMsg, WPARAM wParam, LPARAM lParam #ifdef WIN32 WindowBoundsCheckNoResize(ramw_x,ramw_y,wrect.right); #endif - + } //regSetDwordValue(RAMWX, ramw_x); TODO //regSetDwordValue(RAMWY, ramw_y); TODO } break; diff --git a/src/drivers/win/replay.cpp b/src/drivers/win/replay.cpp index 1d90912b..bed02bcd 100644 --- a/src/drivers/win/replay.cpp +++ b/src/drivers/win/replay.cpp @@ -398,6 +398,7 @@ BOOL CALLBACK ReplayMetadataDialogProc(HWND hwndDlg, UINT uMsg, WPARAM wParam, L } break; case WM_MOVE: + if (!IsIconic(hwndDlg)) { GetWindowRect(hwndDlg,&wrect); MetaPosX = wrect.left; MetaPosY = wrect.top; @@ -405,6 +406,7 @@ BOOL CALLBACK ReplayMetadataDialogProc(HWND hwndDlg, UINT uMsg, WPARAM wParam, L #ifdef WIN32 WindowBoundsCheckNoResize(MetaPosX,MetaPosY,wrect.right); #endif + } break; case WM_COMMAND: diff --git a/src/drivers/win/tasedit.cpp b/src/drivers/win/tasedit.cpp index 62c3940d..bd1bfe7c 100644 --- a/src/drivers/win/tasedit.cpp +++ b/src/drivers/win/tasedit.cpp @@ -1019,6 +1019,7 @@ BOOL CALLBACK WndprocTasEdit(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lPar break; case WM_MOVE: { + if (!IsIconic(hwndDlg)) { RECT wrect; GetWindowRect(hwndDlg,&wrect); TasEdit_wndx = wrect.left; @@ -1027,7 +1028,7 @@ BOOL CALLBACK WndprocTasEdit(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lPar #ifdef WIN32 WindowBoundsCheckNoResize(TasEdit_wndx,TasEdit_wndy,wrect.right); #endif - + } break; } diff --git a/src/drivers/win/texthook.cpp b/src/drivers/win/texthook.cpp index 21905e01..6edf1dec 100644 --- a/src/drivers/win/texthook.cpp +++ b/src/drivers/win/texthook.cpp @@ -872,6 +872,7 @@ BOOL CALLBACK TextHookerCallB(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lPa //StopSound(); //mbg merge 6/30/08 break; case WM_MOVE: + if (!IsIconic(hwndDlg)) { GetWindowRect(hwndDlg,&wrect); TextHookerPosX = wrect.left; TextHookerPosY = wrect.top; @@ -879,7 +880,7 @@ BOOL CALLBACK TextHookerCallB(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lPa #ifdef WIN32 WindowBoundsCheckNoResize(TextHookerPosX,TextHookerPosY,wrect.right); #endif - + } break; case WM_RBUTTONDBLCLK: sprintf(str,"aaaa"); diff --git a/src/drivers/win/tracer.cpp b/src/drivers/win/tracer.cpp index ba8e6544..8d5fbb6c 100644 --- a/src/drivers/win/tracer.cpp +++ b/src/drivers/win/tracer.cpp @@ -86,6 +86,7 @@ BOOL CALLBACK TracerCallB(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam) LOGFONT lf; switch(uMsg) { case WM_MOVE: { + if (!IsIconic(hwndDlg)) { RECT wrect; GetWindowRect(hwndDlg,&wrect); Tracer_wndx = wrect.left; @@ -94,7 +95,7 @@ BOOL CALLBACK TracerCallB(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam) #ifdef WIN32 WindowBoundsCheckNoResize(Tracer_wndx,Tracer_wndy,wrect.right); #endif - + } break; }; case WM_INITDIALOG: diff --git a/src/drivers/win/window.cpp b/src/drivers/win/window.cpp index b31bccad..d313c130 100644 --- a/src/drivers/win/window.cpp +++ b/src/drivers/win/window.cpp @@ -1194,6 +1194,7 @@ LRESULT FAR PASCAL AppWndProc(HWND hWnd,UINT msg,WPARAM wParam,LPARAM lParam) case WM_MOVE: { + if (!IsIconic(hWnd)) { RECT wrect; GetWindowRect(hWnd,&wrect); MainWindow_wndx = wrect.left; @@ -1202,7 +1203,7 @@ LRESULT FAR PASCAL AppWndProc(HWND hWnd,UINT msg,WPARAM wParam,LPARAM lParam) #ifdef WIN32 WindowBoundsCheckNoResize(MainWindow_wndx,MainWindow_wndy,wrect.right); #endif - + } } case WM_MOUSEMOVE: