[gnome-shell] messageTray: Check monitor's existence before trying to update the state



commit 023b50e7a7002226d6176bede22930d96da074a9
Author: Mario Sanchez Prada <mario endlessm com>
Date:   Tue Sep 26 11:03:33 2017 +0100

    messageTray: Check monitor's existence before trying to update the state
    
    Not doing this will throw a backtrace when running on headless mode and
    trying to show a notification, due to Main.layoutManager.primaryMonitor
    being undefined, so it's better to return early.
    
    https://bugzilla.gnome.org/show_bug.cgi?id=730551

 js/ui/messageTray.js |    5 +++--
 1 files changed, 3 insertions(+), 2 deletions(-)
---
diff --git a/js/ui/messageTray.js b/js/ui/messageTray.js
index 4704073..73e67eb 100644
--- a/js/ui/messageTray.js
+++ b/js/ui/messageTray.js
@@ -1205,8 +1205,9 @@ var MessageTray = new Lang.Class({
     // _updateState() figures out what (if anything) needs to be done
     // at the present time.
     _updateState: function() {
-        this.actor.visible = !this._bannerBlocked && this._banner != null;
-        if (this._bannerBlocked)
+        let hasMonitor = Main.layoutManager.primaryMonitor != null;
+        this.actor.visible = !this._bannerBlocked && hasMonitor && this._banner != null;
+        if (this._bannerBlocked || !hasMonitor)
             return;
 
         // If our state changes caused _updateState to be called,


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