[gnome-shell/gnome-3-26] layout: Unset primary and bottom monitor when headless



commit 5f8a5114833d7d31d4bd64affbd323bb7252c3d0
Author: Jonas Ådahl <jadahl gmail com>
Date:   Fri Oct 6 20:26:24 2017 -0400

    layout: Unset primary and bottom monitor when headless
    
    We were handling being initially headless by only setting the primary
    and bottom monitor if there was any primary monitor, then checking the
    primary monitor reference before making calls assuming there was any
    monitors.
    
    What we didn't do was unset the primary and bottom monitor when going
    headless, meaning that temporarly disconnecting a monitor while having
    windows open caused an assert to be triggered due to various code paths
    taking the path assuming there are valid monitors.
    
    Unsetting both the primary and bottom monitor when going headless avoids
    the code paths in the same way as they were avoided when starting
    headless.
    
    https://bugzilla.gnome.org/show_bug.cgi?id=788607

 js/ui/layout.js |    3 +++
 1 files changed, 3 insertions(+), 0 deletions(-)
---
diff --git a/js/ui/layout.js b/js/ui/layout.js
index 304c2a1..2f18947 100644
--- a/js/ui/layout.js
+++ b/js/ui/layout.js
@@ -351,6 +351,9 @@ var LayoutManager = new Lang.Class({
                 this._loadBackground();
                 this._pendingLoadBackground = false;
             }
+        } else {
+            this.primaryMonitor = null;
+            this.bottomMonitor = null;
         }
     },
 


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