[PATCH 5/5] winemac: More thoroughly discard events which have been obsoleted by subsequent Wine- or program-driven changes.

Ken Thomases ken at codeweavers.com
Tue Dec 31 01:05:18 CST 2013


Among other things, this fixes Syberia 2.  That game shows, hides, and then
shows its window.  Hiding it caused a WINDOW_LOST_FOCUS event to be queued.
By the time it was processed, the window was the foreground window again.
In response to being told it had lost focus, the game minimized its window.

Hiding the window should have prevented or discarded the WINDOW_LOST_FOCUS
event since the change was driven from Wine and the Win32 foreground/active
window state would already be correct.  In addition, when the program
re-showed its window and made it foreground, that should have discarded the
event as being out of date.  Now they do.
---
dlls/winemac.drv/cocoa_app.m    |  2 ++
dlls/winemac.drv/cocoa_event.m  |  3 +++
dlls/winemac.drv/cocoa_window.m | 34 ++++++++++++++++++++++++++--------
3 files changed, 31 insertions(+), 8 deletions(-)

-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0005-winemac-More-thoroughly-discard-events-which-have-be.patch
Type: text/x-patch
Size: 5221 bytes
Desc: not available
URL: <http://www.winehq.org/pipermail/wine-patches/attachments/20131231/4664db93/attachment.bin>


More information about the wine-patches mailing list