[gnome-shell] screenshot: Handle window screenshot failures gracefully



commit d72da7d2465628150d83a9a152df2525691de1b0
Author: Florian Müllner <fmuellner gnome org>
Date:   Sun Oct 18 16:01:05 2020 +0200

    screenshot: Handle window screenshot failures gracefully
    
    meta_window_actor_get_image() may return NULL. Instead of crashing,
    catch that case and return a proper error.
    
    https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/3258

 src/shell-screenshot.c | 9 +++++++++
 1 file changed, 9 insertions(+)
---
diff --git a/src/shell-screenshot.c b/src/shell-screenshot.c
index ff81ce3388..1b73766e00 100644
--- a/src/shell-screenshot.c
+++ b/src/shell-screenshot.c
@@ -295,6 +295,15 @@ grab_window_screenshot (ShellScreenshot     *screenshot,
 
   priv->image = meta_window_actor_get_image (META_WINDOW_ACTOR (window_actor),
                                              NULL);
+
+  if (!priv->image)
+    {
+      g_task_report_new_error (screenshot, on_screenshot_written, result, NULL,
+                               G_IO_ERROR, G_IO_ERROR_FAILED,
+                               "Capturing window failed");
+      return;
+    }
+
   priv->datetime = g_date_time_new_now_local ();
 
   if (flags & SHELL_SCREENSHOT_FLAG_INCLUDE_CURSOR)


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