Update to 42.1

This commit is contained in:
Florian Müllner 2022-05-06 20:56:22 +02:00
parent 3ecde27071
commit 34838f58c8
4 changed files with 5 additions and 248 deletions

View File

@ -1,40 +0,0 @@
From 4016f8373d9e1251e76833054598e29c882becaf Mon Sep 17 00:00:00 2001
From: Adam Williamson <awilliam@redhat.com>
Date: Tue, 15 Mar 2022 13:25:16 -0700
Subject: [PATCH] Avoid double slash in path when creating default folders
Creating these default folders still doesn't work. After some
investigation I found that's because the template we use for
the path when creating the `child` `Gio.Settings` instance
results in a double slash - it comes out as e.g.
/org/gnome/desktop/app-folders//folders/Utilities/ . dconf does
not gracefully handle this as many other things that handle
paths do, it considers it a programmer error. It results in
error messages like:
dconf_changeset_set: assertion 'dconf_is_path (path, NULL)' failed
which is slightly confusing. Anyway, we fix it by removing a
slash from the template.
Signed-off-by: Adam Williamson <awilliam@redhat.com>
---
js/ui/appDisplay.js | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/js/ui/appDisplay.js b/js/ui/appDisplay.js
index 116e9931d..4fa2a5f63 100644
--- a/js/ui/appDisplay.js
+++ b/js/ui/appDisplay.js
@@ -1471,7 +1471,7 @@ class AppDisplay extends BaseAppView {
const { name, categories, apps } = DEFAULT_FOLDERS[folder];
const child = new Gio.Settings({
schema_id: 'org.gnome.desktop.app-folders.folder',
- path: `${path}/folders/${folder}/`,
+ path: `${path}folders/${folder}/`,
});
child.set_string('name', name);
child.set_boolean('translate', true);
--
2.35.1

View File

@ -1,70 +0,0 @@
From 6c44162c17033fa8cbd2bcd58be9b2d3bb9a714a Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Florian=20M=C3=BCllner?= <fmuellner@gnome.org>
Date: Sat, 19 Mar 2022 16:53:59 +0100
Subject: [PATCH] switchMonitor: Fix switching configuration
Since commit 37271ffe709fc957, we pass an explicit `switchType` instead
of the selected item's index to select a configuration. Alas, the item
use `switchMode` as property name, so we always end up passing `undefined`.
Change both to `configType` which matches the API on the other end.
https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/5217
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2245>
---
js/ui/switchMonitor.js | 10 +++++-----
1 file changed, 5 insertions(+), 5 deletions(-)
diff --git a/js/ui/switchMonitor.js b/js/ui/switchMonitor.js
index 733858218..10b4a50cd 100644
--- a/js/ui/switchMonitor.js
+++ b/js/ui/switchMonitor.js
@@ -18,7 +18,7 @@ class SwitchMonitorPopup extends SwitcherPopup.SwitcherPopup {
* Try to keep it under around 15 characters.
*/
label: _('Mirror'),
- switchMode: Meta.MonitorSwitchConfigType.ALL_MIRROR,
+ configType: Meta.MonitorSwitchConfigType.ALL_MIRROR,
});
items.push({
@@ -27,7 +27,7 @@ class SwitchMonitorPopup extends SwitcherPopup.SwitcherPopup {
* Try to keep it under around 15 characters.
*/
label: _('Join Displays'),
- switchMode: Meta.MonitorSwitchConfigType.ALL_LINEAR,
+ configType: Meta.MonitorSwitchConfigType.ALL_LINEAR,
});
if (global.backend.get_monitor_manager().has_builtin_panel) {
@@ -37,7 +37,7 @@ class SwitchMonitorPopup extends SwitcherPopup.SwitcherPopup {
* Try to keep it under around 15 characters.
*/
label: _('External Only'),
- switchMode: Meta.MonitorSwitchConfigType.EXTERNAL,
+ configType: Meta.MonitorSwitchConfigType.EXTERNAL,
});
items.push({
icon: 'computer-symbolic',
@@ -45,7 +45,7 @@ class SwitchMonitorPopup extends SwitcherPopup.SwitcherPopup {
* Try to keep it under around 15 characters.
*/
label: _('Built-in Only'),
- switchMode: Meta.MonitorSwitchConfigType.BUILTIN,
+ configType: Meta.MonitorSwitchConfigType.BUILTIN,
});
}
@@ -86,7 +86,7 @@ class SwitchMonitorPopup extends SwitcherPopup.SwitcherPopup {
const monitorManager = global.backend.get_monitor_manager();
const item = this._items[this._selectedIndex];
- monitorManager.switch_config(item.switchType);
+ monitorManager.switch_config(item.configType);
}
});
--
2.35.1

View File

@ -1,124 +0,0 @@
From e69da36095d5093c1c7bec7a9c96c079c0b837f9 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Florian=20M=C3=BCllner?= <fmuellner@gnome.org>
Date: Wed, 13 Apr 2022 20:57:05 +0200
Subject: [PATCH 1/3] layout: Make sure startup animation completes
We currently complete the animation using an onComplete handler,
which only runs if the corresponding transition was stopped when
finished.
While it is unexpected that the transition is interrupted, it can
apparently happen under some circumstances (like VMs with qlx).
The consequences of that are pretty bad, mainly due to the cover
pane that prevents input during the animation not getting removed.
Address this by always completing the animation when the transition
is stopped, regardless of whether it completed or not.
https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/5337
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2269>
---
js/ui/layout.js | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/js/ui/layout.js b/js/ui/layout.js
index 0f279f86c..fe91ff186 100644
--- a/js/ui/layout.js
+++ b/js/ui/layout.js
@@ -740,14 +740,14 @@ var LayoutManager = GObject.registerClass({
translation_y: 0,
duration: STARTUP_ANIMATION_TIME,
mode: Clutter.AnimationMode.EASE_OUT_QUAD,
- onComplete: () => this._startupAnimationComplete(),
+ onStopped: () => this._startupAnimationComplete(),
});
}
_startupAnimationSession() {
- const onComplete = () => this._startupAnimationComplete();
+ const onStopped = () => this._startupAnimationComplete();
if (Main.sessionMode.hasOverview) {
- Main.overview.runStartupAnimation(onComplete);
+ Main.overview.runStartupAnimation(onStopped);
} else {
this.uiGroup.ease({
scale_x: 1,
@@ -755,7 +755,7 @@ var LayoutManager = GObject.registerClass({
opacity: 255,
duration: STARTUP_ANIMATION_TIME,
mode: Clutter.AnimationMode.EASE_OUT_QUAD,
- onComplete,
+ onStopped,
});
}
}
--
2.35.1
From dd28832dcdb7ef390cc444ec046cfafce56ebc81 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Florian=20M=C3=BCllner?= <fmuellner@gnome.org>
Date: Wed, 13 Apr 2022 20:14:47 +0200
Subject: [PATCH 2/3] background: Pass cancellable when querying file info
Otherwise it is possible that the operation completes successfully
after the background has been destroyed, which will throw a warning
(caused by accessing the this._fileWatches object after it has been
nulled).
https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/5337
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2268>
---
js/ui/background.js | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/js/ui/background.js b/js/ui/background.js
index 198194a50..825fee0d9 100644
--- a/js/ui/background.js
+++ b/js/ui/background.js
@@ -492,7 +492,7 @@ var Background = GObject.registerClass({
Gio.FILE_ATTRIBUTE_STANDARD_CONTENT_TYPE,
Gio.FileQueryInfoFlags.NONE,
0,
- null);
+ this._cancellable);
} catch (e) {
this._setLoaded();
return;
--
2.35.1
From ef74f922d65d38718b5d8cb13bc43f129947ffc0 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Florian=20M=C3=BCllner?= <fmuellner@gnome.org>
Date: Wed, 13 Apr 2022 20:51:55 +0200
Subject: [PATCH 3/3] background: Do not queue idle when cancelled
A cancelled cancellable means that the background was destroyed,
so we shouldn't queue an idle or emit the 'loaded' signal anymore.
https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/5337
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2268>
---
js/ui/background.js | 2 ++
1 file changed, 2 insertions(+)
diff --git a/js/ui/background.js b/js/ui/background.js
index 825fee0d9..a68f23301 100644
--- a/js/ui/background.js
+++ b/js/ui/background.js
@@ -333,6 +333,8 @@ var Background = GObject.registerClass({
return;
this.isLoaded = true;
+ if (this._cancellable?.is_cancelled())
+ return;
let id = GLib.idle_add(GLib.PRIORITY_DEFAULT, () => {
this.emit('loaded');
--
2.35.1

View File

@ -1,8 +1,8 @@
%global tarball_version %%(echo %{version} | tr '~' '.')
Name: gnome-shell
Version: 42.0
Release: 3%{?dist}
Version: 42.1
Release: 1%{?dist}
Summary: Window management and application launching for GNOME
License: GPLv2+
@ -19,18 +19,6 @@ Patch40001: 0001-gdm-Work-around-failing-fingerprint-auth.patch
# Work around crashy tear down
Patch60003: 0001-main-Leak-the-GJS-context-and-ShellGlobal.patch
# Fix default folder creation
# https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2242
# https://bugzilla.redhat.com/show_bug.cgi?id=2064473
Patch80001: 0001-Avoid-double-slash-in-path-when-creating-default-fol.patch
# Fix <super>p handling
# https://bugzilla.redhat.com/show_bug.cgi?id=2073406
Patch80002: 0001-switchMonitor-Fix-switching-configuration.patch
# Fix stuck cover pane
# https://bugzilla.redhat.com/show_bug.cgi?id=2063156
Patch80003: fix-stuck-cover-pane.patch
%define eds_version 3.33.1
%define gnome_desktop_version 3.35.91
%define glib2_version 2.56.0
@ -244,6 +232,9 @@ desktop-file-validate %{buildroot}%{_datadir}/applications/evolution-calendar.de
%{_mandir}/man1/gnome-shell.1*
%changelog
* Fri May 06 2022 Florian Müllner <fmuellner@redhat.com> - 42.1-1
- Update to 42.1
* Mon Apr 18 2022 Florian Müllner <fmuellner@redhat.com> - 42.0-3
- Fix monitor config switches with <super>p (#2073406)
- Fix stuck cover pane after startup animation (#2063156)