From e641547ddf2c2afb42b4f2d3f250d84e1463a710 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marco=20Trevisan=20=28Trevi=C3=B1o=29?= Date: Thu, 4 Feb 2021 17:37:02 +0100 Subject: [PATCH] appDisplay: Do not bind popdown call to grabHelper onUngrab grabHelper is passing a boolean argument to onUngrab() callback function and since commit 1acbdcc9b3b0 we'd end up adding it to to the callback list or we'd try to invoke it: (gnome-shell:3490851): Gjs-CRITICAL **: 17:19:20.460: JS ERROR: TypeError: func is not a function onComplete/<@/media/M2/GNOME/gnome-shell/js/ui/appDisplay.js:2407:56 onComplete@/media/M2/GNOME/gnome-shell/js/ui/appDisplay.js:2407:40 _makeEaseCallback/<@/media/M2/GNOME/gnome-shell/js/ui/environment.js:85:13 _easeActor/<@/media/M2/GNOME/gnome-shell/js/ui/environment.js:170:64 Use an arrow function so that we can control the parameters we pass to popdown. Part-of: --- js/ui/appDisplay.js | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/js/ui/appDisplay.js b/js/ui/appDisplay.js index 2d81a8516..69b4d0fff 100644 --- a/js/ui/appDisplay.js +++ b/js/ui/appDisplay.js @@ -2574,8 +2574,10 @@ var AppFolderDialog = GObject.registerClass({ if (this._isOpen) return; - this._isOpen = this._grabHelper.grab({ actor: this, - onUngrab: this.popdown.bind(this) }); + this._isOpen = this._grabHelper.grab({ + actor: this, + onUngrab: () => this.popdown(), + }); if (!this._isOpen) return;