From 51501663366e68de80d5dd4ae2ed3be617ee49f9 Mon Sep 17 00:00:00 2001 From: Carlos Garnacho Date: Fri, 19 Apr 2019 16:52:53 +0000 Subject: [PATCH] workspacesView: sync gesture enabled state after setting it up completely At the point it is disabled, it has got signal handlers connected but this._workspacesView is uninitialized. This triggers: (gnome-shell:3993): Gjs-WARNING **: 18:49:53.281: JS ERROR: Exception in callback for signal: cancel: TypeError: this._workspacesViews is undefined _endTouchGesture@resource:///org/gnome/shell/ui/workspacesView.js:527:25 _emit@resource:///org/gnome/gjs/modules/signals.js:142:27 set enabled@resource:///org/gnome/shell/ui/windowManager.js:478:13 WorkspacesDisplay<@resource:///org/gnome/shell/ui/workspacesView.js:482:9 ViewSelector<@resource:///org/gnome/shell/ui/viewSelector.js:167:35 ControlsManager<@resource:///org/gnome/shell/ui/overviewControls.js:405:29 init@resource:///org/gnome/shell/ui/overview.js:234:26 _initializeUI@resource:///org/gnome/shell/ui/main.js:184:5 start@resource:///org/gnome/shell/ui/main.js:124:5 @
:1:31 On startup. Shuffling these two lines prevent this from happening. https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/506 (cherry picked from commit 59edea4bb4e0b2ccbb07fe4fc2b5808641219344) --- js/ui/workspacesView.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/js/ui/workspacesView.js b/js/ui/workspacesView.js index f63178167..fe06d9dae 100644 --- a/js/ui/workspacesView.js +++ b/js/ui/workspacesView.js @@ -479,12 +479,12 @@ var WorkspacesDisplay = class { this.actor.connect('notify::mapped', () => { switchGesture.enabled = this.actor.mapped; }); - switchGesture.enabled = this.actor.mapped; this._primaryIndex = Main.layoutManager.primaryIndex; this._workspacesViews = []; this._primaryScrollAdjustment = null; + switchGesture.enabled = this.actor.mapped; this._settings = new Gio.Settings({ schema_id: MUTTER_SCHEMA }); this._settings.connect('changed::workspaces-only-on-primary',