[mutter/wip/carlosg/clip-me-harder: 2/5] compositor: Check frame bounds region before use



commit a6f7c85aac2a6ae0d5773b337d58f2e6a672f0ee
Author: Carlos Garnacho <carlosg gnome org>
Date:   Sun Jan 27 18:51:10 2019 +0100

    compositor: 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


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]