Installing Zoo Tycoon problem (another one)
pvriens at xs4all.nl
pvriens at xs4all.nl
Sun Mar 21 04:15:48 CST 2004
> Hi,
>
> while adding some extra tracing and looking into the (huge) logfiles, I
> found the following and want some opinion about that:
>
> The logfile shows a lot of calls to:
>
> X11DRV_MsgWaitForMultipleObjectsEx
>
> with all parameters being or NULL:
>
> 5256478:000e:Call
> x11drv.MsgWaitForMultipleObjectsEx(00000000,00000000,00000000,00000000,00000000)
> ret=4090e51c
> 5256479:000e:Call
> kernel32.WaitForMultipleObjectsEx(00000000,00000000,00000000,00000000,00000000)
> ret=40e09bd7
> 5256480:trace:sync:WaitForMultipleObjectsEx (00000000, (nil), 0, 00000000,
> 0)
> 5256481:000e:Ret kernel32.WaitForMultipleObjectsEx() retval=ffffffff
> ret=40e09bd7
> 5256482:000e:Ret x11drv.MsgWaitForMultipleObjectsEx() retval=ffffffff
> ret=4090e51c
>
> (the sync trace is something I added)
>
> x11drv.MsgWaitForMultipleObjectsEx calls WaitForMultipleObjectsEx again
> with all parameters being or NULL.
>
> What's the use of this, shouldn't we bail out if everything is 0. What's
> the use of waiting for something that isn't specified ?
>
> Almost immediatly after those calls are made, my setup fails. This could
> be a coincedence, but ....
>
> Cheers,
>
> Paul.
>
>
>
The caller of x11drv.MsgWaitForMultipleObjectsEx seems to be
user32.PeekMessageA.
The first thing that PeekMessageA/W does is check for graphic events:
/* check for graphics events */
if (USER_Driver.pMsgWaitForMultipleObjectsEx)
USER_Driver.pMsgWaitForMultipleObjectsEx( 0, NULL, 0, 0, 0 );
But does this realy retrieve all messages as the parameter 3 and 4 would
suggest (wMsgFilterMin and wMsgFilterMax being 0).
If so wouldn't retrieved messages be lost_in_space as there is nothing
prepared for the return message (first parameter being no pointer)
Cheers,
Paul.
More information about the wine-users
mailing list