Re: Installing Zoo Tycoon problem (another one)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



pvriens@xxxxxxxxx wrote:

...
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).

I'm not sure where you got wMsgFilterMin and wMsgFilterMax from. Parameters 3 and 4 are milliseconds and wakemask:


http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dllproc/base/msgwaitformultipleobjectsex.asp

The call to MsgWaitForMultipleObjectsEx with all zeroes is not intended to return messages. Instead, it is basically a way to tell the Wine server to check for and get pending events. How the event buffering works is a bit over my head, but I think it is something like this.

The call to MsgWaitForMultipleObjectsEx checks for pending events (such as X events). Since no filters were used, all events are checked and stored in Wine's server. The return from the call to MsgWaitForMultipleObjectsEx simply indicates whether there are any messages now stored in the Wine server. If there are, then the function "Peeks" at them to get one of them, and immediately handles certain message types (such as WM_PAINT).



_______________________________________________
wine-users mailing list
wine-users@xxxxxxxxxx
http://www.winehq.org/mailman/listinfo/wine-users

[Index of Archives]     [Gimp for Windows]     [Red Hat]     [Samba]     [Yosemite Camping]     [Graphics Cards]     [Wine Home]

  Powered by Linux