[gnome-shell] shell-util: Handle NULL from meta_window_get_image()



commit 60cab56f86312e0ced2371f16c1fc1a7c8a0b406
Author: Florian Müllner <fmuellner gnome org>
Date:   Mon Sep 23 13:46:05 2019 +0200

    shell-util: Handle NULL from meta_window_get_image()
    
    Until commit 506b75fc7f3 we got away with not handling a NULL return
    value, as cairo_surface_destroy() deals with a NULL surface; the same
    isn't true for get_width/get_height, so guard to code in question to
    prevent a crash.
    
    https://gitlab.gnome.org/GNOME/gnome-shell/issues/1678

 src/shell-util.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)
---
diff --git a/src/shell-util.c b/src/shell-util.c
index e94f3c364d..c22dd1c6e5 100644
--- a/src/shell-util.c
+++ b/src/shell-util.c
@@ -419,7 +419,7 @@ canvas_draw_cb (ClutterContent *content,
  * @window_actor: a #MetaWindowActor
  * @window_rect: a #MetaRectangle
  *
- * Returns: (transfer full): a new #ClutterContent
+ * Returns: (transfer full) (nullable): a new #ClutterContent
  */
 ClutterContent *
 shell_util_get_content_for_window_actor (MetaWindowActor *window_actor,
@@ -439,6 +439,9 @@ shell_util_get_content_for_window_actor (MetaWindowActor *window_actor,
 
   surface = meta_window_actor_get_image (window_actor, &clip);
 
+  if (!surface)
+    return NULL;
+
   content = clutter_canvas_new ();
   clutter_canvas_set_size (CLUTTER_CANVAS (content),
                            cairo_image_surface_get_width (surface),


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