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.