From 0f6ab787acb0b5151e927770e1cc02587a5b1820 Mon Sep 17 00:00:00 2001 From: Carlos Garnacho Date: Sun, 27 Jan 2019 18:51:10 +0100 Subject: [PATCH] window-actor: Check frame bounds region before use It may be NULL when the window goes unmanaged. This was unnoticed as we barely enter the clip_shadow_under_window() check. https://gitlab.gnome.org/GNOME/mutter/merge_requests/698 --- src/compositor/meta-window-actor.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/compositor/meta-window-actor.c b/src/compositor/meta-window-actor.c index 84c282e18..a3b2c3da0 100644 --- a/src/compositor/meta-window-actor.c +++ b/src/compositor/meta-window-actor.c @@ -683,7 +683,8 @@ meta_window_actor_paint (ClutterActor *actor) meta_window_actor_get_shadow_bounds (self, appears_focused, &bounds); clip = cairo_region_create_rectangle (&bounds); - cairo_region_subtract (clip, frame_bounds); + if (frame_bounds) + cairo_region_subtract (clip, frame_bounds); } meta_shadow_paint (shadow, @@ -1351,7 +1352,8 @@ meta_window_actor_set_clip_region_beneath (MetaWindowActor *self, if (clip_shadow_under_window (self)) { cairo_region_t *frame_bounds = meta_window_get_frame_bounds (priv->window); - cairo_region_subtract (priv->shadow_clip, frame_bounds); + if (frame_bounds) + cairo_region_subtract (priv->shadow_clip, frame_bounds); } } else