http://bugs.winehq.org/show_bug.cgi?id=25116
Louis Lenders xerox_xerox2000@yahoo.co.uk changed:
What |Removed |Added ---------------------------------------------------------------------------- Keywords| |download Status|UNCONFIRMED |NEW URL| |http://www.fiddler2.com/fid | |dler2/version.asp CC| |xerox_xerox2000@yahoo.co.uk Ever Confirmed|0 |1
--- Comment #1 from Louis Lenders xerox_xerox2000@yahoo.co.uk 2010-11-11 14:59:29 CST --- Confirming.
From a debug log it looks like the error occurs here:
0009:Call user32.GetWindowTextLengthW(0001006e) ret=00c0af56 . . . . 0009:Ret user32.GetWindowTextLengthW() retval=10000000 ret=00c0af56 0009:Call user32.GetSystemMetrics(0000002a) ret=00c0a482 0009:Ret user32.GetSystemMetrics() retval=00000000 ret=00c0a482 0009:Call KERNEL32.VirtualAlloc(00000000,20800000,00202000,00000004) ret=00554a2b 0009:Ret KERNEL32.VirtualAlloc() retval=00000000 ret=00554a2b 0009:Call KERNEL32.ResetEvent(000000d0) ret=00554b94 0009:Ret KERNEL32.ResetEvent() retval=00000001 ret=00554b94 0009:Call KERNEL32.GetLastError() ret=005543db 0009:Ret KERNEL32.GetLastError() retval=00000008 ret=005543db
AFAICS GetWindowTextLengthW returns a ridiculous high textlength. I guess that's why the VirtualAlloc fails. A quick hack in GetWindowTextLengthW like below makes the application start fine for me.
--- a/dlls/user32/win.c +++ b/dlls/user32/win.c @@ -2589,8 +2589,10 @@ INT WINAPI GetWindowTextLengthA( HWND hwnd ) * GetWindowTextLengthW (USER32.@) */ INT WINAPI GetWindowTextLengthW( HWND hwnd ) -{ - return SendMessageW( hwnd, WM_GETTEXTLENGTH, 0, 0 ); +{ int l; + + l = SendMessageW( hwnd, WM_GETTEXTLENGTH, 0, 0 ); + if (l>50000) return 0; else return l; }