From 328eff735294e39b4eaeafa9711d8d4d0c31e39f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jonas=20=C3=85dahl?= Date: Wed, 12 Dec 2018 15:29:21 +0100 Subject: [PATCH] screen-cast/monitor-stream-src: Copy content before cursor is drawn To get a consistent behaviour no matter whether HW cursors are in use or not, make sure to copy the framebuffer content before the stage overlays (cursor sprite textures) are painted. https://gitlab.gnome.org/GNOME/mutter/merge_requests/357 --- src/backends/meta-screen-cast-monitor-stream-src.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/backends/meta-screen-cast-monitor-stream-src.c b/src/backends/meta-screen-cast-monitor-stream-src.c index 1118daadd..2aad3aa0c 100644 --- a/src/backends/meta-screen-cast-monitor-stream-src.c +++ b/src/backends/meta-screen-cast-monitor-stream-src.c @@ -35,7 +35,7 @@ struct _MetaScreenCastMonitorStreamSrc { MetaScreenCastStreamSrc parent; - gulong stage_painted_handler_id; + gulong actors_painted_handler_id; }; G_DEFINE_TYPE (MetaScreenCastMonitorStreamSrc, @@ -110,8 +110,8 @@ meta_screen_cast_monitor_stream_src_enable (MetaScreenCastStreamSrc *src) ClutterStage *stage; stage = get_stage (monitor_src); - monitor_src->stage_painted_handler_id = - g_signal_connect_after (stage, "paint", + monitor_src->actors_painted_handler_id = + g_signal_connect_after (stage, "actors-painted", G_CALLBACK (stage_painted), monitor_src); clutter_actor_queue_redraw (CLUTTER_ACTOR (stage)); @@ -125,8 +125,8 @@ meta_screen_cast_monitor_stream_src_disable (MetaScreenCastStreamSrc *src) ClutterStage *stage; stage = get_stage (monitor_src); - g_signal_handler_disconnect (stage, monitor_src->stage_painted_handler_id); - monitor_src->stage_painted_handler_id = 0; + g_signal_handler_disconnect (stage, monitor_src->actors_painted_handler_id); + monitor_src->actors_painted_handler_id = 0; } static void