diff options
author | Benoit Gschwind <gschwind@gnu-log.net> | 2017-10-25 22:13:30 +0200 |
---|---|---|
committer | Jonas Ã…dahl <jadahl@gmail.com> | 2017-11-09 17:46:15 +0800 |
commit | 74e88dd18f2d66d8ab861dacfab3e1ba07065ac5 (patch) | |
tree | 95f12cde2ef441d7b2bc178617b4a0424b9808b7 | |
parent | 8d7f425de41efc9d643df06ba3f03a4e6fc2a115 (diff) | |
download | mutter-74e88dd18f2d66d8ab861dacfab3e1ba07065ac5.tar.gz |
backend: Reset current device id when current device removed
Bluetooth mouse usually goes in sleep state after a timeout, when that
happen the mouse is disconnected and on_device_removed function is
called. Before the patch if a touch device is available the
on_device_removed function hide the cursor. The issue is that the cursor
does not reappear once the bluetooth mouse is reconnected because
MetaBackend::current_device_id is not invalidated when on_device_removed
was called.
The patch set MetaBackend::current_device_id to 0 if the current device
is removed. This will make update_last_device to be triggered as soon as
another input device is used or the bluetooth mouse reconnect, as
consequence that the cursor reappear. The id 0 is never given to devices
and can safely used as undefine id.
https://bugzilla.gnome.org/show_bug.cgi?id=761067
-rw-r--r-- | src/backends/meta-backend.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/src/backends/meta-backend.c b/src/backends/meta-backend.c index c856823e2..798dc5ffd 100644 --- a/src/backends/meta-backend.c +++ b/src/backends/meta-backend.c @@ -337,6 +337,8 @@ on_device_removed (ClutterDeviceManager *device_manager, gboolean has_touchscreen, has_pointing_device; ClutterInputDeviceType device_type; + priv->current_device_id = 0; + device_type = clutter_input_device_get_device_type (device); has_touchscreen = check_has_slave_touchscreen (device_manager); |