clutter: Do not trigger repick during relayout
This is at best pointless, since the relayout will change pointer picking conditions, and buggy at worst, since the actor being relayout is not at an state that it can be asked during picking. This specifically fixes warnings like: Can't update stage views actor <unnamed>[<Gjs_ui_workspacesView_WorkspacesDisplay>:0x5601dd557050] is on because it needs an allocation. Can't update stage views actor <unnamed>[<Gjs_ui_workspacesView_WorkspacesView>:0x5601edcf6aa0] is on because it needs an allocation. Can't update stage views actor <unnamed>[<Gjs_ui_workspace_Workspace>:0x5601ee163dc0] is on because it needs an allocation. Can't update stage views actor <unnamed>[<Gjs_ui_workspace_WorkspaceBackground>:0x5601ee1c85b0] is on because it needs an allocation. Can't update stage views actor <unnamed>[<ClutterActor>:0x5601ee4db280] is on because it needs an allocation. Can't update stage views actor <unnamed>[<Gjs_ui_windowPreview_WindowPreview>:0x5601ee1840c0] is on because it needs an allocation. Can't update stage views actor <unnamed>[<Gjs_ui_workspace_Workspace>:0x5601ebe1d1b0] is on because it needs an allocation. Can't update stage views actor <unnamed>[<Gjs_ui_workspace_WorkspaceBackground>:0x5601edbd3420] is on because it needs an allocation. Can't update stage views actor <unnamed>[<ClutterActor>:0x5601ee3cd630] is on because it needs an allocation. Can't update stage views actor <unnamed>[<StLabel>:0x5601ee685730] is on because it needs an allocation. Can't update stage views actor <unnamed>[<ClutterText>:0x5601ed5b5f20] is on because it needs an allocation. When trying to dismiss the overview with a 3fg touchpad gesture while the pointer is over a window clone. Closes: https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/6935 Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3220>
This commit is contained in:
parent
a3c62bf8aa
commit
70a987f7e7
@ -2456,7 +2456,8 @@ transform_changed (ClutterActor *actor)
|
|||||||
static void
|
static void
|
||||||
update_pointer_if_not_animated (ClutterActor *actor)
|
update_pointer_if_not_animated (ClutterActor *actor)
|
||||||
{
|
{
|
||||||
if (!clutter_actor_has_transitions (actor))
|
if (!clutter_actor_has_transitions (actor) &&
|
||||||
|
!CLUTTER_ACTOR_IN_RELAYOUT (actor))
|
||||||
clutter_actor_update_pointer (actor);
|
clutter_actor_update_pointer (actor);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user