mirror of
https://github.com/brl/mutter.git
synced 2024-11-21 15:40:41 -05:00
stage: Only invoke paint phase callbacks when painting views
These phase callbacks are not intended to be inovked when something secondary is painting the stage, such as a screen cast stream, or similar. Thus, only invoke the callbacks when there is a view associated with the paint context, which will not be the case for offscreen painting. https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/1222
This commit is contained in:
parent
c7ad9b33c2
commit
b5691d6bf0
@ -198,17 +198,22 @@ meta_stage_paint (ClutterActor *actor,
|
||||
CLUTTER_ACTOR_CLASS (meta_stage_parent_class)->paint (actor, paint_context);
|
||||
|
||||
view = clutter_paint_context_get_stage_view (paint_context);
|
||||
|
||||
notify_watchers_for_mode (stage, view, paint_context,
|
||||
META_STAGE_WATCH_AFTER_ACTOR_PAINT);
|
||||
if (view)
|
||||
{
|
||||
notify_watchers_for_mode (stage, view, paint_context,
|
||||
META_STAGE_WATCH_AFTER_ACTOR_PAINT);
|
||||
}
|
||||
|
||||
g_signal_emit (stage, signals[ACTORS_PAINTED], 0);
|
||||
|
||||
for (l = stage->overlays; l; l = l->next)
|
||||
meta_overlay_paint (l->data, paint_context);
|
||||
|
||||
notify_watchers_for_mode (stage, view, paint_context,
|
||||
META_STAGE_WATCH_AFTER_OVERLAY_PAINT);
|
||||
if (view)
|
||||
{
|
||||
notify_watchers_for_mode (stage, view, paint_context,
|
||||
META_STAGE_WATCH_AFTER_OVERLAY_PAINT);
|
||||
}
|
||||
}
|
||||
|
||||
static void
|
||||
|
Loading…
Reference in New Issue
Block a user