Module: wine Branch: master Commit: ce7a98e95cd0226248675c5ed712c9acad30c4be URL: http://source.winehq.org/git/wine.git/?a=commit;h=ce7a98e95cd0226248675c5ed7...
Author: Akihiro Sagawa sagawa.aki@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@gmail.com Signed-off-by: Alexandre Julliard julliard@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=ce7a98e95cd0226248675c...