Module: wine
Branch: master
Commit: ce7a98e95cd0226248675c5ed712c9acad30c4be
URL: http://source.winehq.org/git/wine.git/?a=commit;h=ce7a98e95cd0226248675c5ed…
Author: Akihiro Sagawa <sagawa.aki(a)gmail.com>
Date: Tue Aug 23 22:13:26 2016 +0900
winex11: Return more reliable value from X11DRV_MsgWaitForMultipleObjects.
After processing several X events, X11DRV_MsgWaitForMultipleObjects always
tells us that a new message is available. This is not true for some cases.
For instance, when we call DestroyWindow, the X queues DestroyEvent. Then,
X11DRV_MsgWaitForMultipleObjects handles the event only; none is posted or
sent as hwnd for destroyed window is unavailable. However, the function
states "new message is available" by returning count - 1 value.
This is an issue for CoWaitForMultipleHandles because it expects a new
message in the queue and consumes the message.
Signed-off-by: Akihiro Sagawa <sagawa.aki(a)gmail.com>
Signed-off-by: Alexandre Julliard <julliard(a)winehq.org>
---
dlls/winex11.drv/clipboard.c | 6 ++-
dlls/winex11.drv/event.c | 115 ++++++++++++++++++++++++-------------------
dlls/winex11.drv/keyboard.c | 19 ++++---
dlls/winex11.drv/mouse.c | 43 +++++++++-------
dlls/winex11.drv/window.c | 5 +-
dlls/winex11.drv/wintab.c | 18 ++++---
dlls/winex11.drv/x11drv.h | 24 ++++-----
7 files changed, 130 insertions(+), 100 deletions(-)
Diff: http://source.winehq.org/git/wine.git/?a=commitdiff;h=ce7a98e95cd0226248675…