From d72da7d2465628150d83a9a152df2525691de1b0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Florian=20M=C3=BCllner?= Date: Sun, 18 Oct 2020 16:01:05 +0200 Subject: [PATCH] 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 ff81ce338..1b73766e0 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)