Ken Thomases : winemac: In -setFrameIfOnScreen:, don' t adjust window levels if fullscreen-ness didn't change.

Alexandre Julliard julliard at winehq.org
Fri May 17 14:24:33 CDT 2013


Module: wine
Branch: master
Commit: 7a047af6404585f7eeb5b402ea45b6950e635947
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=7a047af6404585f7eeb5b402ea45b6950e635947

Author: Ken Thomases <ken at codeweavers.com>
Date:   Thu May 16 18:43:40 2013 -0500

winemac: In -setFrameIfOnScreen:, don't adjust window levels if fullscreen-ness didn't change.

---

 dlls/winemac.drv/cocoa_window.m |    6 +++++-
 1 files changed, 5 insertions(+), 1 deletions(-)

diff --git a/dlls/winemac.drv/cocoa_window.m b/dlls/winemac.drv/cocoa_window.m
index ae5f40b..16244e8 100644
--- a/dlls/winemac.drv/cocoa_window.m
+++ b/dlls/winemac.drv/cocoa_window.m
@@ -762,7 +762,11 @@ static inline void fix_generic_modifiers_by_device(NSUInteger* modifiers)
 
                 if (on_screen)
                 {
-                    [[WineApplicationController sharedController] adjustWindowLevels];
+                    BOOL fullscreen = (screen_covered_by_rect(frame, screens) != nil);
+                    BOOL oldFullscreen = (screen_covered_by_rect(oldFrame, screens) != nil);
+
+                    if (fullscreen != oldFullscreen)
+                        [[WineApplicationController sharedController] adjustWindowLevels];
 
                     /* In case Cocoa adjusted the frame we tried to set, generate a frame-changed
                        event.  The back end will ignore it if nothing actually changed. */




More information about the wine-cvs mailing list