mutter/debian/patches/screenshot-Cache-ScreencastSupported-property.patch

48 lines
1.8 KiB
Diff
Raw Normal View History

2023-03-09 18:20:19 +01:00
From: =?utf-8?q?Florian_M=C3=BCllner?= <fmuellner@gnome.org>
Date: Sun, 6 Nov 2022 13:06:44 +0100
Subject: screenshot: Cache ScreencastSupported property
The screencast service shuts down when not in use, so it is almost
certainly not running when handling the screencast shortcut.
Instead of making sure the service is restarted, just cache the
property when initializing the proxy.
Origin: https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2533
Applied-upstream: 43.2, commit:b23de7f5309dcff34b2245d3797bb39381dff60c
---
js/ui/screenshot.js | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/js/ui/screenshot.js b/js/ui/screenshot.js
index a01fbe3..b2ea6fa 100644
--- a/js/ui/screenshot.js
+++ b/js/ui/screenshot.js
@@ -1017,6 +1017,7 @@ var ScreenshotUI = GObject.registerClass({
});
this._screencastInProgress = false;
+ this._screencastSupported = false;
this._screencastProxy = new ScreencastProxy(
Gio.DBus.session,
@@ -1028,7 +1029,8 @@ var ScreenshotUI = GObject.registerClass({
return;
}
- this._castButton.visible = this._screencastProxy.ScreencastSupported;
+ this._screencastSupported = this._screencastProxy.ScreencastSupported;
+ this._castButton.visible = this._screencastSupported;
});
this._lockdownSettings = new Gio.Settings({ schema_id: 'org.gnome.desktop.lockdown' });
@@ -1450,7 +1452,7 @@ var ScreenshotUI = GObject.registerClass({
if (this._screencastInProgress)
return;
- if (mode === UIMode.SCREENCAST && !this._screencastProxy.ScreencastSupported)
+ if (mode === UIMode.SCREENCAST && !this._screencastSupported)
return;
this._castButton.checked = mode === UIMode.SCREENCAST;