From a3dcdaae30bdcbadec7ba3fa31c9eb0bb2a4c8c2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Florian=20M=C3=BCllner?= Date: Sat, 25 Sep 2021 14:15:32 +0200 Subject: [PATCH] screenshot: Unrestrict PickColor Commit dd2cd6286cd3 restricted callers of the screenshot methods to portal implementations, gnome-settings-daemon and gnome-screenshot. That restriction does make sense for the actual screenshot methods, but `PickColor` is actually used by GTK in its color picker (and therefore may be called from arbitrary applications). Fix this by unrestricting access to `PickColor` again. Considering that the method is always interactive, it's not very privacy/security-sensitive anyway. https://gitlab.gnome.org/GNOME/gtk/-/issues/4283 Part-of: --- js/ui/screenshot.js | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/js/ui/screenshot.js b/js/ui/screenshot.js index bf537b7d6..ae1156f47 100644 --- a/js/ui/screenshot.js +++ b/js/ui/screenshot.js @@ -37,7 +37,7 @@ var ScreenshotService = class { Gio.DBus.session.own_name('org.gnome.Shell.Screenshot', Gio.BusNameOwnerFlags.REPLACE, null, null); } - _createScreenshot(invocation, needsDisk = true) { + _createScreenshot(invocation, needsDisk = true, restrictCallers = true) { let lockedDown = false; if (needsDisk) lockedDown = this._lockdownSettings.get_boolean('disable-save-to-disk'); @@ -53,7 +53,7 @@ var ScreenshotService = class { Gio.IOErrorEnum, Gio.IOErrorEnum.PERMISSION_DENIED, 'Saving to disk is disabled'); return null; - } else { + } else if (restrictCallers) { try { this._senderChecker.checkInvocation(invocation); } catch (e) { @@ -311,7 +311,7 @@ var ScreenshotService = class { } async PickColorAsync(params, invocation) { - const screenshot = this._createScreenshot(invocation, false); + const screenshot = this._createScreenshot(invocation, false, false); if (!screenshot) return;