Blob Blame History Raw
From 8f66d508bad63412f61d2162bb05224ee1637ab1 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Florian=20M=C3=BCllner?= <fmuellner@gnome.org>
Date: Fri, 16 Nov 2018 11:39:08 +0100
Subject: [PATCH] altSwitcher: Fix error when all alternatives are disabled

While we do consider the case that we don't have a child to show for the
visibility, we are still trying to move the click action unconditionally.

https://gitlab.gnome.org/GNOME/gnome-shell/issues/783
---
 js/ui/status/system.js | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/js/ui/status/system.js b/js/ui/status/system.js
index 68a0b4b5b..cd6f3d8b0 100644
--- a/js/ui/status/system.js
+++ b/js/ui/status/system.js
@@ -58,6 +58,9 @@ var AltSwitcher = new Lang.Class({
             childToShow = this._standard;
         } else if (this._alternate.visible) {
             childToShow = this._alternate;
+        } else {
+            this.actor.hide();
+            return;
         }
 
         let childShown = this.actor.get_child();
@@ -79,7 +82,7 @@ var AltSwitcher = new Lang.Class({
             global.sync_pointer();
         }
 
-        this.actor.visible = (childToShow != null);
+        this.actor.show();
     },
 
     _onDestroy() {
-- 
2.20.1