From e00878ab7510939f56c58a24b85a68776e59a353 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Florian=20M=C3=BCllner?= Date: Fri, 20 Sep 2019 21:08:45 +0200 Subject: [PATCH] shellDBus: Don't assume devices have a node Clutter.InputDevice.get_device_node() may return null. Handle that case when building the 'AcceleratorActivated' vardict parameter. https://gitlab.gnome.org/GNOME/gnome-shell/issues/1641 --- js/ui/shellDBus.js | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/js/ui/shellDBus.js b/js/ui/shellDBus.js index e750c207f..fca0b6425 100644 --- a/js/ui/shellDBus.js +++ b/js/ui/shellDBus.js @@ -151,9 +151,13 @@ var GnomeShell = class { let connection = this._dbusImpl.get_connection(); let info = this._dbusImpl.get_info(); let params = { 'device-id': GLib.Variant.new('u', device.get_device_id()), - 'device-node': GLib.Variant.new('s', device.get_device_node()), 'timestamp': GLib.Variant.new('u', timestamp), 'action-mode': GLib.Variant.new('u', Main.actionMode) }; + + let deviceNode = device.get_device_node(); + if (deviceNode) + params['device-node'] = GLib.Variant.new('s', deviceNode); + connection.emit_signal(destination, this._dbusImpl.get_object_path(), info ? info.name : null,