Hi!
This is still the same app, that used previously for testing freereport.
How the app works.
0. show main window
1. call simple and meaningless freereport funtions (works now)
2. show [OK] dialog saying what above function returned
3. allow to press [OK] (of course ;-)
4. show main windows until it's closed.
The app hangs after or around [2] it seems. Frames of main window and of
the dialog show up, hovever their content is not painted and I cannot
click/Enter/Esc/space anything.
Final part of +relay log is this:
08072028:Ret x11drv.SetWindowPos() retval=00000001 ret=408c83ef
08072028:Ret x11drv.ShowWindow() retval=00000001 ret=408c7690
08072028:Call
x11drv.MsgWaitForMultipleObjectsEx(00000000,00000000,00000000,00000000,00000000) ret=408deb6f
08072028:Ret x11drv.MsgWaitForMultipleObjectsEx() retval=00000102
ret=408deb6f
08072028:Call window proc 0x418a0fef
(hwnd=00010021,msg=WM_USER+ac00,wp=00000000,lp=00000000)
08072028:Ret window proc 0x418a0fef
(hwnd=00010021,msg=WM_USER+ac00,wp=00000000,lp=00000000) retval=00000000
08072028:Call
x11drv.MsgWaitForMultipleObjectsEx(00000000,00000000,00000000,00000000,00000000) ret=408deb6f
08072028:Ret x11drv.MsgWaitForMultipleObjectsEx() retval=00000102
ret=408deb6f
08072028:Call window proc 0x418a0fef
(hwnd=00010021,msg=WM_ENTERIDLE,wp=00000000,lp=0001002a)
08072028:Call user32.DefWindowProcA(00010021,00000121,00000000,0001002a)
ret=40620e03
08072028:Ret user32.DefWindowProcA() retval=00000000 ret=40620e03
08072028:Ret window proc 0x418a0fef
(hwnd=00010021,msg=WM_ENTERIDLE,wp=00000000,lp=0001002a) retval=00000000
08072028:Call
x11drv.MsgWaitForMultipleObjectsEx(00000000,00000000,00000000,00000000,00000000) ret=408deb6f
08072028:Ret x11drv.MsgWaitForMultipleObjectsEx() retval=00000102
ret=408deb6f
08072028:Call
x11drv.MsgWaitForMultipleObjectsEx(00000001,403c53e8,ffffffff,00000000,00000000) ret=408dee6d
So it seems that MsgWaitForMultipleObjectsEx doesn't return if it has
anything to do (first parameter is number of objects to wait for).
It is almost exactly the same, as the "big app", which hangs at this:
08072028:Ret window proc 0x422408ed
(hwnd=0001004d,msg=WM_PAINT,wp=00000000,lp=00000000)
retval=0000000008072028:Call
x11drv.MsgWaitForMultipleObjectsEx(00000000,00000000,00000000,00000000,00000000) ret=408deb6f
08072028:Ret x11drv.MsgWaitForMultipleObjectsEx() retval=00000102
ret=408deb6f
08072028:Call window proc 0x42240fef
(hwnd=00010021,msg=WM_ENTERIDLE,wp=00000000,lp=00010052)
08072028:Call user32.DefWindowProcA(00010021,00000121,00000000,00010052)
ret=40620e03
08072028:Ret user32.DefWindowProcA() retval=00000000 ret=40620e03
08072028:Ret window proc 0x42240fef
(hwnd=00010021,msg=WM_ENTERIDLE,wp=00000000,lp=00010052) retval=00000000
08072028:Call
x11drv.MsgWaitForMultipleObjectsEx(00000000,00000000,00000000,00000000,00000000) ret=408deb6f
08072028:Ret x11drv.MsgWaitForMultipleObjectsEx() retval=00000102
ret=408deb6f
08072028:Call
x11drv.MsgWaitForMultipleObjectsEx(00000001,403c7eb8,ffffffff,00000000,00000000) ret=408dee6d
It seems, that dll/x11drv/event.c:X11DRV_MsgWaitForMultipleObjectsEx is
being called which in turn is calling
scheduler/synchro.c:WaitForMultipleObjectsEx (I think).
I looked at the code, but ATM it's still black magic for me - too many
unknown wine interlans ivolved :-/
Is this known problem? What should I look for while debugging?
Any pointers/hints? (I don't mean general wine-developers docs pointers)
Regards
Grzegorz B. Prokopski
PS: I compiled wine from CVS, but not today's version (as it had some
problems with compilation) but 2 weeks old.