wayland: Avoid repick_for_event() call
We can also tell the stage to emit crossing events, which will be handled in place (i.e. not queued), and yield the same result. Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/1654>
This commit is contained in:
parent
1f17a7ffef
commit
717e5d969a
@ -581,17 +581,13 @@ static void
|
||||
repick_for_event (MetaWaylandPointer *pointer,
|
||||
const ClutterEvent *for_event)
|
||||
{
|
||||
MetaBackend *backend = meta_get_backend ();
|
||||
ClutterStage *stage = CLUTTER_STAGE (meta_backend_get_stage (backend));
|
||||
ClutterActor *actor;
|
||||
MetaWaylandSurface *surface;
|
||||
|
||||
if (for_event && clutter_event_type (for_event) == CLUTTER_LEAVE)
|
||||
if (clutter_event_type (for_event) == CLUTTER_LEAVE)
|
||||
actor = clutter_event_get_related (for_event);
|
||||
else if (for_event)
|
||||
actor = clutter_event_get_source (for_event);
|
||||
else
|
||||
actor = clutter_stage_get_device_actor (stage, pointer->device, NULL);
|
||||
actor = clutter_event_get_source (for_event);
|
||||
|
||||
if (META_IS_SURFACE_ACTOR_WAYLAND (actor))
|
||||
{
|
||||
@ -1031,9 +1027,7 @@ meta_wayland_pointer_repick (MetaWaylandPointer *pointer)
|
||||
point,
|
||||
CLUTTER_CURRENT_TIME,
|
||||
new_actor,
|
||||
FALSE);
|
||||
|
||||
repick_for_event (pointer, NULL);
|
||||
TRUE);
|
||||
}
|
||||
|
||||
void
|
||||
|
Loading…
Reference in New Issue
Block a user