[gnome-shell] layout: Fix regressions



commit d9770dcffb75506325f6b92c893c117eca041b61
Author: Adel Gadllah <adel gadllah gmail com>
Date:   Mon Feb 18 13:14:42 2013 +0100

    layout: Fix regressions
    
    Commit 6b4f52462071dc9af5b8915afebc8bc340b49ca2 removed the layer checks
    _updateFullscreen ... this causes corruption when alt-tabbing out
    of a fullscreen window so restore the check.
    
    The commit also removed the screen sized check so we are no longer
    setting all monitors to fullscreen. Fix that as well by using
    window.is_screen_sized() to perform the check.
    
    https://bugzilla.gnome.org/show_bug.cgi?id=694079

 js/ui/layout.js |   14 ++++++++++----
 1 files changed, 10 insertions(+), 4 deletions(-)
---
diff --git a/js/ui/layout.js b/js/ui/layout.js
index 1a9a328..d855ade 100644
--- a/js/ui/layout.js
+++ b/js/ui/layout.js
@@ -776,10 +776,16 @@ const LayoutManager = new Lang.Class({
             if (!metaWindow.showing_on_its_workspace())
                 continue;
 
-            if (metaWindow.is_monitor_sized()) {
-                let monitor = this.monitors[metaWindow.get_monitor()];
-                if (monitor)
-                    monitor.inFullscreen = true;
+            if (layer == Meta.StackLayer.FULLSCREEN ||
+               (layer == Meta.StackLayer.OVERRIDE_REDIRECT && metaWindow.is_monitor_sized())) {
+                if (metaWindow.is_screen_sized()) {
+                    for (let i = 0; i < this.monitors.length; i++)
+                        this.monitors[i].inFullscreen = true;
+                } else {
+                    let monitor = this.monitors[metaWindow.get_monitor()];
+                    if (monitor)
+                        monitor.inFullscreen = true;
+                }
             }
         }
     },


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]