mirror of
https://github.com/brl/mutter.git
synced 2025-01-22 17:38:56 +00:00
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
This commit is contained in:
parent
8857b19d49
commit
76d48f79d6
@ -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);
|
||||
|
Loading…
x
Reference in New Issue
Block a user