clutter/actor: Do not report hidden actors as present on stage view

The stage view list does not get updated when an actor gets hidden in
order to avoid unnecessary work, such as scale changes. However, we
still want `is_effectively_on_stage_view` to report `FALSE` in this
case.

Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/2662>
This commit is contained in:
Robert Mader 2022-10-15 21:31:47 +02:00
parent 62fd18030f
commit 07ec482e28

View File

@ -15715,6 +15715,10 @@ clutter_actor_is_effectively_on_stage_view (ClutterActor *self,
g_return_val_if_fail (CLUTTER_IS_ACTOR (self), FALSE); g_return_val_if_fail (CLUTTER_IS_ACTOR (self), FALSE);
if (!CLUTTER_ACTOR_IS_MAPPED (self) &&
!clutter_actor_has_mapped_clones (self))
return FALSE;
if (g_list_find (self->priv->stage_views, view)) if (g_list_find (self->priv->stage_views, view))
return TRUE; return TRUE;