Recursion caused by call of GetProp in window procedure

Andriy Palamarchuk apa3a at yahoo.com
Wed May 22 17:26:16 CDT 2002


I'm researching bug 671:
http://bugs.winehq.com/show_bug.cgi?id=671

The application crashes. It seems the problem occurs
when GetPropA is called in a window procedure on
WM_WINDOWPOSCHANGING message what causes generation of
other WM_WINDOWPOSCHANGING message. The same code
calls itself and finally blows the stack. See the bug
for details.

Does anybody know why the recursion occurs?
Does GetPropA call generate WM_WINDOWPOSCHANGING
message?

The relay trace of the recursion. It is nicer
formatted in the bug comments:
Call user32.GetPropA(00010036,40e33086
"buddySupperClassWndProc") ret=40e1b396
Ret  user32.GetPropA() retval=40ec0a9a ret=40e1b396
Call
user32.CallWindowProcW(40ec0a9a,00010036,00000046,00000000,405b5f5c)
ret=40e1b3fd
Call window proc 0x488568
(hwnd=00010036,msg=WM_WINDOWPOSCHANGING,wp=00000000,lp=405b5f5c)
Call kernel32.TlsGetValue(00000002) ret=004a7180
Ret  kernel32.TlsGetValue() retval=403be080
ret=004a7180
Call kernel32.TlsGetValue(00000002) ret=004a7180
Ret  kernel32.TlsGetValue() retval=403be080
ret=004a7180
Call kernel32.TlsGetValue(00000002) ret=004a7180
Ret  kernel32.TlsGetValue() retval=403be080
ret=004a7180
Call ntdll.RtlEnterCriticalSection(00544c60)
ret=004a6c89
Ret  ntdll.RtlEnterCriticalSection() retval=00000000
ret=004a6c89
Call ntdll.RtlLeaveCriticalSection(00544c60)
ret=004a6cad
Ret  ntdll.RtlLeaveCriticalSection() retval=00000000
ret=004a6cad
Call
user32.CallWindowProcA(40ec0a16,00010036,00000046,00000000,405b5f5c)
ret=00488d7b
Call window proc 0x40e1b370
(hwnd=00010036,msg=WM_WINDOWPOSCHANGING,wp=00000000,lp=405b5f5c)
Call user32.GetPropA(00010036,40e33086
"buddySupperClassWndProc") ret=40e1b396

Thanks,
Andriy

__________________________________________________
Do You Yahoo!?
LAUNCH - Your Yahoo! Music Experience
http://launch.yahoo.com



More information about the wine-devel mailing list