[clutter/clutter-1.20] evdev: Set core device on translated events
- From: Carlos Garnacho <carlosg src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [clutter/clutter-1.20] evdev: Set core device on translated events
- Date: Wed, 21 May 2014 12:19:16 +0000 (UTC)
commit 76d48f79d655095b89afef6211a61aae834da805
Author: Carlos Garnacho <carlosg gnome org>
Date: Fri Apr 25 20:03:09 2014 +0200
evdev: Set core device on translated events
And ensure the core pointer shares the same stage than the slave
device when those events are set. This fixes problems on the evdev
backend where the last touch unsets the stage on the device, but
nothing sets it back afterwards.
https://bugzilla.gnome.org/show_bug.cgi?id=728968
clutter/evdev/clutter-device-manager-evdev.c | 5 +++++
1 files changed, 5 insertions(+), 0 deletions(-)
---
diff --git a/clutter/evdev/clutter-device-manager-evdev.c b/clutter/evdev/clutter-device-manager-evdev.c
index aa4dc23..211bfaf 100644
--- a/clutter/evdev/clutter-device-manager-evdev.c
+++ b/clutter/evdev/clutter-device-manager-evdev.c
@@ -380,8 +380,11 @@ notify_absolute_motion (ClutterInputDevice *input_device,
_clutter_xkb_translate_state (event, seat->xkb, seat->button_state);
event->motion.x = x;
event->motion.y = y;
+ clutter_event_set_device (event, seat->core_pointer);
clutter_event_set_source_device (event, input_device);
+ _clutter_input_device_set_stage (seat->core_pointer, stage);
+
queue_event (event);
}
@@ -456,6 +459,7 @@ notify_scroll (ClutterInputDevice *input_device,
clutter_input_device_get_coords (seat->core_pointer, NULL, &point);
event->scroll.x = point.x;
event->scroll.y = point.y;
+ clutter_event_set_device (event, seat->core_pointer);
clutter_event_set_source_device (event, input_device);
queue_event (event);
@@ -535,6 +539,7 @@ notify_button (ClutterInputDevice *input_device,
clutter_input_device_get_coords (seat->core_pointer, NULL, &point);
event->button.x = point.x;
event->button.y = point.y;
+ clutter_event_set_device (event, seat->core_pointer);
clutter_event_set_source_device (event, input_device);
queue_event (event);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]