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
This commit is contained in:
parent
3b5675b79a
commit
e00878ab75
@ -151,9 +151,13 @@ var GnomeShell = class {
|
|||||||
let connection = this._dbusImpl.get_connection();
|
let connection = this._dbusImpl.get_connection();
|
||||||
let info = this._dbusImpl.get_info();
|
let info = this._dbusImpl.get_info();
|
||||||
let params = { 'device-id': GLib.Variant.new('u', device.get_device_id()),
|
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),
|
'timestamp': GLib.Variant.new('u', timestamp),
|
||||||
'action-mode': GLib.Variant.new('u', Main.actionMode) };
|
'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,
|
connection.emit_signal(destination,
|
||||||
this._dbusImpl.get_object_path(),
|
this._dbusImpl.get_object_path(),
|
||||||
info ? info.name : null,
|
info ? info.name : null,
|
||||||
|
Loading…
Reference in New Issue
Block a user