Merge a few fixes from upstream.

Should fix the following warning in ~/.cache/gdm/sessions.log:
Gjs-WARNING **: 15:26:37.599: JS ERROR: Exception in callback for signal: hidden: Error: Page -2 does not exist at IconGrid
This commit is contained in:
ajacoutot 2022-11-25 09:33:39 +00:00
parent f2992047dc
commit f7f78c3d3a
5 changed files with 99 additions and 1 deletions

View File

@ -7,7 +7,7 @@ COMMENT= next generation GNOME shell
GNOME_PROJECT= gnome-shell
# sync with meta/gnome "V" variable
GNOME_VERSION= 43.1
REVISION= 4
REVISION= 5
# GPLv2+
PERMIT_PACKAGE= Yes

View File

@ -0,0 +1,22 @@
From f9ac8890d0a714c7cb44005def66fb5d0d15f6e4 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Florian=20M=C3=BCllner?= <fmuellner@gnome.org>
Date: Sun, 6 Nov 2022 11:56:41 +0100
Subject: [PATCH] dbusService/screencast: Hold during gstreamer checks
Index: js/dbusServices/screencast/screencastService.js
--- js/dbusServices/screencast/screencastService.js.orig
+++ js/dbusServices/screencast/screencastService.js
@@ -271,10 +271,13 @@ var ScreencastService = class extends ServiceImplement
constructor() {
super(ScreencastIface, '/org/gnome/Shell/Screencast');
+ this.hold(); // gstreamer initializing can take a bit
this._canScreencast = ScreencastService.canScreencast();
Gst.init(null);
Gtk.init();
+
+ this.release();
this._recorders = new Map();
this._senders = new Map();

View File

@ -0,0 +1,24 @@
From 2326721561d5b0b82a0bdbf3d7aba5bc14f9cbb7 Mon Sep 17 00:00:00 2001
From: Alessandro Bono <alessandro.bono369@gmail.com>
Date: Fri, 11 Nov 2022 11:47:16 +0100
Subject: [PATCH] appDisplay: Connect to hidden signal after content initialization
Index: js/ui/appDisplay.js
--- js/ui/appDisplay.js.orig
+++ js/ui/appDisplay.js
@@ -1324,9 +1324,12 @@ class AppDisplay extends BaseAppView {
this._placeholder = null;
- Main.overview.connect('hidden', () => this.goToPage(0));
-
- this._redisplayWorkId = Main.initializeDeferredWork(this, this._redisplay.bind(this));
+ this._overviewHiddenId = 0;
+ this._redisplayWorkId = Main.initializeDeferredWork(this, () => {
+ this._redisplay();
+ if (this._overviewHiddenId === 0)
+ this._overviewHiddenId = Main.overview.connect('hidden', () => this.goToPage(0));
+ });
Shell.AppSystem.get_default().connect('installed-changed', () => {
Main.queueDeferredWork(this._redisplayWorkId);

View File

@ -0,0 +1,17 @@
From a2cd818c8c4d6a81d565099b01920b8815dea355 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Florian=20M=C3=BCllner?= <fmuellner@gnome.org>
Date: Fri, 18 Nov 2022 22:40:31 +0100
Subject: [PATCH] inhibitShorcutsDialog: Fix permission check
Index: js/ui/inhibitShortcutsDialog.js
--- js/ui/inhibitShortcutsDialog.js.orig
+++ js/ui/inhibitShortcutsDialog.js
@@ -143,7 +143,7 @@ var InhibitShortcutsDialog = GObject.registerClass({
if (permissions[appId] === undefined) // Not found
this._dialog.open();
- else if (permissions[appId] === GRANTED)
+ else if (permissions[appId][0] === GRANTED)
this._emitResponse(DialogResponse.ALLOW);
else
this._emitResponse(DialogResponse.DENY);

View File

@ -0,0 +1,35 @@
From b23de7f5309dcff34b2245d3797bb39381dff60c Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Florian=20M=C3=BCllner?= <fmuellner@gnome.org>
Date: Sun, 6 Nov 2022 13:06:44 +0100
Subject: [PATCH] screenshot: Cache ScreencastSupported property
Index: js/ui/screenshot.js
--- js/ui/screenshot.js.orig
+++ 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;