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
This commit is contained in:
parent
7539de2320
commit
b36cfb5bdc
@ -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);
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user