[PATCH v8 1/5] wmp: Add OPEN/PLAY state change notifications
Anton Romanov
theli.ua at gmail.com
Fri Apr 6 14:03:06 CDT 2018
On Fri, Apr 6, 2018 at 10:28 AM, Jacek Caban <jacek at codeweavers.com> wrote:
> Hi Anton,
>
> Note that we'll need to store states in WMP object at some point, at
> least so that we can implement get_openState() and get_playState(), but
> I'm fine with the patch for now. Please just address one comment bellow.
We probably will eventually. For now I was implementing the bare
minimum my test game needs.
And adding saving of states would be a fairly easy change as all state
updates now go through the same function anyway.
(And frankly, only because it crashes with native WMP)
> On 04/03/2018 07:36 AM, Anton Romanov wrote:
>> ok(hres == S_OK, "IWMPControls_play failed: %08x\n", hres);
>> + {
>> + MSG msg;
>> + DWORD start_time = GetTickCount();
>> + DWORD dwTimeout = 5000;
>> + HANDLE handles[1];
>> + handles[0] = playing_event;
>> + do {
>> + DWORD now = GetTickCount();
>> + res = MsgWaitForMultipleObjectsEx(1, handles, start_time + dwTimeout - now,
>> + QS_ALLINPUT ,MWMO_ALERTABLE | MWMO_INPUTAVAILABLE);
>> + if (res == WAIT_OBJECT_0 + 1) {
>> + GetMessageW(&msg, 0, 0, 0);
>> + if (winetest_debug > 1)
>> + trace("Dispatching %d\n", msg.message);
>> + TranslateMessage(&msg);
>> + DispatchMessageW(&msg);
>> + }
>> + }
>
>
> In general, adding a new block purely for variable declarations is not
> encouraged. In this case, I'd suggest a helper pump_messages() function
> here.
Sure, will do. I left it inline initially only because there was just
one occurence of it.
Now that I use it for both completion and playing events it makes even
more sense to factor it out.
>
> Thanks,
>
> Jacek
>
More information about the wine-devel
mailing list