From 99ebef504d127d10793ae3a20701ffa83db82e51 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Florian=20M=C3=BCllner?= Date: Fri, 29 May 2020 00:27:34 +0200 Subject: [PATCH] screenshot: Properly clean up if PickColor() is cancelled We currently only remove the screenshot operation from the shooter map if the color pick operation completed successfully, but not if it was cancelled. As a result, we now reject any further requests from the same sender because we assume that there is an ongoing operation. Fix this by moving the cleanup to a finally clause that runs for both code paths. https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1288 --- js/ui/screenshot.js | 2 ++ 1 file changed, 2 insertions(+) diff --git a/js/ui/screenshot.js b/js/ui/screenshot.js index 6f88e1a20..df5746e1f 100644 --- a/js/ui/screenshot.js +++ b/js/ui/screenshot.js @@ -292,6 +292,8 @@ var ScreenshotService = class { invocation.return_error_literal( Gio.IOErrorEnum, Gio.IOErrorEnum.CANCELLED, 'Operation was cancelled'); + } finally { + this._removeShooterForSender(invocation.get_sender()); } } };