-
d0c737ca
by Rémi Bernon at 2025-10-20T12:19:21+02:00
server: Don't set QS_HARDWARE for every hardware message.
QS_INPUT is already meant for hardware messages, we only need a separate
bit for internal hardware messages.
-
cf56651e
by Rémi Bernon at 2025-10-20T12:19:22+02:00
win32u: Only return from NtWaitForMultipleObjects if signaled.
There's only driver events, with QS_DRIVER, internal hardware messages,
with QS_HARDWARE, or input hardware messages with QS_INPUT and we should
avoid returning from the wait unnecessarily.
Some applications like iTunes, simply call MsgWaitForMultipleObjects in
a loop with an empty mask and without processing any message. They don't
expect the wait to return spuriously more than a couple of times (which
is allowed and happens on windows when focus changes for instance).
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=58793
-
762b0ae3
by Rémi Bernon at 2025-10-20T12:19:23+02:00
win32u: Restore queue masks after processing driver events.
Drivers still send some messages around, and that will update the queue
masks before waiting for the message reply. We need to restore the masks
back to what the wait would expect now that we are looping until queue
gets signaled.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=58816