backends: Make meta_backend_update_last_device() take a clutter device

Instead of a pretty x11 specific device ID. This also updates the argument
of the ::last-device-changed signal to be a ClutterInputDevice.

https://gitlab.gnome.org/GNOME/mutter/merge_requests/852
This commit is contained in:
Carlos Garnacho
2019-10-04 18:23:49 +02:00
parent 4761c4ee1c
commit f55d4f33af
4 changed files with 22 additions and 28 deletions

View File

@ -46,6 +46,7 @@
#include "backends/meta-stage-private.h"
#include "backends/x11/meta-clutter-backend-x11.h"
#include "backends/x11/meta-event-x11.h"
#include "backends/x11/meta-seat-x11.h"
#include "backends/x11/meta-stage-x11.h"
#include "backends/x11/meta-renderer-x11.h"
#include "clutter/clutter.h"
@ -242,6 +243,9 @@ handle_device_change (MetaBackendX11 *x11,
XIEvent *event)
{
XIDeviceChangedEvent *device_changed;
ClutterInputDevice *device;
ClutterBackend *backend;
ClutterSeat *seat;
if (event->evtype != XI_DeviceChanged)
return;
@ -251,8 +255,11 @@ handle_device_change (MetaBackendX11 *x11,
if (device_changed->reason != XISlaveSwitch)
return;
meta_backend_update_last_device (META_BACKEND (x11),
device_changed->sourceid);
backend = meta_backend_get_clutter_backend (META_BACKEND (x11));
seat = clutter_backend_get_default_seat (backend);
device = meta_seat_x11_lookup_device_id (META_SEAT_X11 (seat),
device_changed->sourceid);
meta_backend_update_last_device (META_BACKEND (x11), device);
}
/* Clutter makes the assumption that there is only one X window