http://bugs.winehq.org/show_bug.cgi?id=20341
Summary: pcsx2 beta: crashes when exiting LilyPad configuraiton dialog Product: Wine Version: 1.1.31 Platform: PC URL: http://pcsx2.net/files/21514 OS/Version: Linux Status: UNCONFIRMED Severity: minor Priority: P2 Component: comctl32 AssignedTo: wine-bugs@winehq.org ReportedBy: miegalius@gmail.com
Created an attachment (id=24071) --> (http://bugs.winehq.org/attachment.cgi?id=24071) Crash backtrace
Pcsx2 beta r1888 crashes when exiting LilyPad r1853 configuraiton dialog (OK or Cancel buttons). Plugin manages to try and get result of PropSheet_IndexToHwnd when passed handle is already invalid because window is beeing destroyed.
http://bugs.winehq.org/show_bug.cgi?id=20341
Nikolay Sivov bunglehead@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Keywords| |patch
--- Comment #1 from Nikolay Sivov bunglehead@gmail.com 2009-10-13 07:00:38 --- As I see you already sent a patch for that:
http://www.winehq.org/pipermail/wine-patches/2009-October/079745.html
http://bugs.winehq.org/show_bug.cgi?id=20341
--- Comment #2 from Ričardas Barkauskas miegalius@gmail.com 2009-10-13 08:30:50 --- Created an attachment (id=24074) --> (http://bugs.winehq.org/attachment.cgi?id=24074) Fix for propsheet_indextohwnd when window handle is invalid
Lilypad configuration dialog source has such code
...DialogProc(HWND hWnd, unsigned int msg, WPARAM wParam, LPARAM lParam) { int index = (hWnd == PropSheet_IndexToHwnd(hWndProp, 1));..
where hWndProp is global and is set using this:
int CALLBACK PropSheetProc(HWND hWnd, UINT msg, LPARAM lParam) { if (hWnd) hWndProp = hWnd; return 0; }
As such it tries to get property sheet handle of another window on every message received. When window is beeing destroyed it still tries to get the handle. On Vista/XP it continues returning same handle, but at some point returns completely different value. The value changes between test runs, but seems to stay the same for same testrun when using modified propsheet tests (although I'm still tempted to say it's random). While trying to find a way not to put test into message procedure found out that CallWindowProc can be used to call dialog procedure directly (MSDN). This patch uses this to pass invalid handle to dialog procedure while also fixing it so as to avoid the crash.
http://bugs.winehq.org/show_bug.cgi?id=20341
Vitaliy Margolen vitaliy@kievinfo.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Keywords| |download Severity|minor |normal
http://bugs.winehq.org/show_bug.cgi?id=20341
--- Comment #3 from Ričardas Barkauskas miegalius@gmail.com 2009-10-13 08:58:05 --- Wine seems to crash at the same point as Vista/XP returns semi random number. Can't say for sure as messages received differ between Wine and Windows procedures. Also strange number is returned only once on Windows (if memory is not lying) - after it 0 is returned.
http://bugs.winehq.org/show_bug.cgi?id=20341
--- Comment #4 from Ričardas Barkauskas miegalius@gmail.com 2009-10-17 12:52:58 --- New patch try
http://www.winehq.org/pipermail/wine-patches/2009-October/080136.html
http://bugs.winehq.org/show_bug.cgi?id=20341
--- Comment #5 from Nikolay Sivov bunglehead@gmail.com 2009-10-19 16:14:40 --- Your patch was committed:
http://source.winehq.org/git/wine.git/?a=commit;h=a8f89a2ffa7065e59be39f0b5e...
Is this fixed?
http://bugs.winehq.org/show_bug.cgi?id=20341
Ričardas Barkauskas miegalius@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |RESOLVED Resolution| |FIXED
--- Comment #6 from Ričardas Barkauskas miegalius@gmail.com 2009-10-20 02:26:25 --- Fixed in latest git
http://bugs.winehq.org/show_bug.cgi?id=20341
Alexandre Julliard julliard@winehq.org changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |CLOSED
--- Comment #7 from Alexandre Julliard julliard@winehq.org 2009-10-23 13:19:36 --- Closing bugs fixed in 1.1.32.
http://bugs.winehq.org/show_bug.cgi?id=20341
Nikolay Sivov bunglehead@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Fixed by SHA1| |a8f89a2ffa7065e59be39f0b5e3 | |2c1ece63cd340