mirror of
https://github.com/brl/mutter.git
synced 2024-12-26 12:52:14 +00:00
wayland/actor-surface: Always schedule stage updates on frame callbacks
There is an increasing number of cases where we want the frame callback logic to run for a stage-view and the complexity needed to avoid these, combined with the likelyhood of bugs, arguably does not justify the benefit any more. Thus unconditionally schedule updates for all stage-views when frame callbacks are requested. Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/2789>
This commit is contained in:
parent
2d5dd06a50
commit
fe17dbc322
@ -308,19 +308,14 @@ meta_wayland_actor_surface_apply_state (MetaWaylandSurfaceRole *surface_role,
|
|||||||
MetaWaylandActorSurfacePrivate *priv =
|
MetaWaylandActorSurfacePrivate *priv =
|
||||||
meta_wayland_actor_surface_get_instance_private (actor_surface);
|
meta_wayland_actor_surface_get_instance_private (actor_surface);
|
||||||
|
|
||||||
if (!wl_list_empty (&pending->frame_callback_list) &&
|
if (priv->actor && !wl_list_empty (&pending->frame_callback_list))
|
||||||
priv->actor &&
|
|
||||||
!meta_surface_actor_is_obscured (priv->actor))
|
|
||||||
{
|
{
|
||||||
GList *l;
|
ClutterStage *stage;
|
||||||
|
|
||||||
for (l = clutter_actor_peek_stage_views (CLUTTER_ACTOR (priv->actor)); l;
|
stage =
|
||||||
l = l->next)
|
CLUTTER_STAGE (clutter_actor_get_stage (CLUTTER_ACTOR (priv->actor)));
|
||||||
{
|
if (stage)
|
||||||
ClutterStageView *view = l->data;
|
clutter_stage_schedule_update (stage);
|
||||||
|
|
||||||
clutter_stage_view_schedule_update (view);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
meta_wayland_actor_surface_queue_frame_callbacks (actor_surface, pending);
|
meta_wayland_actor_surface_queue_frame_callbacks (actor_surface, pending);
|
||||||
|
Loading…
Reference in New Issue
Block a user