keyboard: Bind emoji pager visibility to swipeTracker enabled state

The swipeTracker may connect gestures on the stage, so we might end up
in the odd situation that the swipeTracker is handling events for an
invisible actor. Avoid doing this.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2543>
This commit is contained in:
Carlos Garnacho 2022-11-16 11:41:36 +01:00 committed by Marge Bot
parent 7e4f7c7e5b
commit a0352ba312

View File

@ -687,6 +687,10 @@ var EmojiPager = GObject.registerClass({
this._swipeTracker = swipeTracker; this._swipeTracker = swipeTracker;
this.connect('destroy', () => this._onDestroy()); this.connect('destroy', () => this._onDestroy());
this.bind_property(
'visible', this._swipeTracker, 'enabled',
GObject.BindingFlags.DEFAULT);
} }
_onDestroy() { _onDestroy() {