From b36cfb5bdcfe6c176cdee9b053d2426d8d0586c9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jonas=20Dre=C3=9Fler?= Date: Mon, 18 May 2020 11:35:11 +0200 Subject: [PATCH] clutter/stage: Don't update modifier state when queuing event The modifier state of the input device is supposed to be set to the newest state, while the modifier state detail of the event is set to the last state before the event (so not including the changes triggered by the event). So since the modifier state of the event is the last state anyway, the state of the ClutterInputDevice is supposed to be set by the backend and not by the stage while queuing the event, so stop setting the state here. https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/1275 --- clutter/clutter/clutter-stage.c | 2 -- 1 file changed, 2 deletions(-) diff --git a/clutter/clutter/clutter-stage.c b/clutter/clutter/clutter-stage.c index 425980ab8..04ad08eb3 100644 --- a/clutter/clutter/clutter-stage.c +++ b/clutter/clutter/clutter-stage.c @@ -1129,7 +1129,6 @@ _clutter_stage_queue_event (ClutterStage *stage, event->type != CLUTTER_PROXIMITY_IN && event->type != CLUTTER_PROXIMITY_OUT) { - ClutterModifierType event_state = clutter_event_get_state (event); ClutterEventSequence *sequence = clutter_event_get_event_sequence (event); guint32 event_time = clutter_event_get_time (event); gfloat event_x, event_y; @@ -1137,7 +1136,6 @@ _clutter_stage_queue_event (ClutterStage *stage, clutter_event_get_coords (event, &event_x, &event_y); _clutter_input_device_set_coords (device, sequence, event_x, event_y, stage); - _clutter_input_device_set_state (device, event_state); _clutter_input_device_set_time (device, event_time); }