diff options
author | Daniel van Vugt <daniel.van.vugt@canonical.com> | 2021-06-09 13:48:57 +0800 |
---|---|---|
committer | Daniel van Vugt <daniel.van.vugt@canonical.com> | 2021-06-09 13:56:52 +0800 |
commit | 97c6a68b0d35fbcb03f3cdbd027350070f2877ac (patch) | |
tree | d32c339dd93310ae2df7c71225a5a34bd5f5e3e0 /clutter | |
parent | dce3aa5c015ecd2ab3c151a5322b81849bcdd3f1 (diff) | |
download | mutter-97c6a68b0d35fbcb03f3cdbd027350070f2877ac.tar.gz |
clutter/stage-cogl: Ensure queued_redraw_clip is not empty
When using `CLUTTER_PAINT=damage-region` highlighting was conspicuously
absent during fullscreen animations like entering or leaving the
overview. That was because `queued_redraw_clip` was empty, because it
had been initialized from `redraw_clip == NULL` (full stage redraw).
Now we paint the damage region as the full view (which it is) instead
of nothing at all.
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/1890>
Diffstat (limited to 'clutter')
-rw-r--r-- | clutter/clutter/cogl/clutter-stage-cogl.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/clutter/clutter/cogl/clutter-stage-cogl.c b/clutter/clutter/cogl/clutter-stage-cogl.c index 5e81899b0..2fe6bd10e 100644 --- a/clutter/clutter/cogl/clutter-stage-cogl.c +++ b/clutter/clutter/cogl/clutter-stage-cogl.c @@ -541,12 +541,12 @@ clutter_stage_cogl_redraw_view_primary (ClutterStageCogl *stage_cogl, }; fb_clip_region = cairo_region_create_rectangle (&fb_rect); + g_clear_pointer (&redraw_clip, cairo_region_destroy); + redraw_clip = cairo_region_create_rectangle (&view_rect); + if (G_UNLIKELY (clutter_paint_debug_flags & CLUTTER_DEBUG_PAINT_DAMAGE_REGION)) queued_redraw_clip = cairo_region_reference (redraw_clip); - - g_clear_pointer (&redraw_clip, cairo_region_destroy); - redraw_clip = cairo_region_create_rectangle (&view_rect); } g_return_if_fail (!cairo_region_is_empty (fb_clip_region)); |