import gnome-shell-3.32.2-50.el8
This commit is contained in:
parent
84f1550333
commit
ed8ecf1107
51
SOURCES/0001-layout-Initialize-regions-unconditionally.patch
Normal file
51
SOURCES/0001-layout-Initialize-regions-unconditionally.patch
Normal file
@ -0,0 +1,51 @@
|
|||||||
|
From d2661753076a60a7981836e4a85e88c4588fb1b2 Mon Sep 17 00:00:00 2001
|
||||||
|
From: =?UTF-8?q?Florian=20M=C3=BCllner?= <fmuellner@gnome.org>
|
||||||
|
Date: Thu, 17 Nov 2022 15:21:42 +0100
|
||||||
|
Subject: [PATCH] layout: Initialize regions unconditionally
|
||||||
|
|
||||||
|
We currently initialize regions in all code paths except for the
|
||||||
|
greeter. But while there are no windows on the login screen, the
|
||||||
|
work area can still be used for positioning, for example for
|
||||||
|
notifications.
|
||||||
|
|
||||||
|
Part-of:
|
||||||
|
<https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2546>
|
||||||
|
---
|
||||||
|
js/ui/layout.js | 15 +++++++--------
|
||||||
|
1 file changed, 7 insertions(+), 8 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/js/ui/layout.js b/js/ui/layout.js
|
||||||
|
index beb4c0a5d..bb51946b7 100644
|
||||||
|
--- a/js/ui/layout.js
|
||||||
|
+++ b/js/ui/layout.js
|
||||||
|
@@ -624,20 +624,19 @@ var LayoutManager = GObject.registerClass({
|
||||||
|
reactive: true });
|
||||||
|
this.addChrome(this._coverPane);
|
||||||
|
|
||||||
|
+ // Force an update of the regions before we scale the UI group to
|
||||||
|
+ // get the correct allocation for the struts.
|
||||||
|
+ // Do this even when we don't animate on restart, so that maximized
|
||||||
|
+ // windows restore to the right size.
|
||||||
|
+ this._updateRegions();
|
||||||
|
+
|
||||||
|
if (Meta.is_restart()) {
|
||||||
|
- // On restart, we don't do an animation. Force an update of the
|
||||||
|
- // regions immediately so that maximized windows restore to the
|
||||||
|
- // right size taking struts into account.
|
||||||
|
- this._updateRegions();
|
||||||
|
+ // On restart, we don't do an animation.
|
||||||
|
} else if (Main.sessionMode.isGreeter) {
|
||||||
|
this.panelBox.translation_y = -this.panelBox.height;
|
||||||
|
} else {
|
||||||
|
this._updateBackgrounds();
|
||||||
|
|
||||||
|
- // We need to force an update of the regions now before we scale
|
||||||
|
- // the UI group to get the correct allocation for the struts.
|
||||||
|
- this._updateRegions();
|
||||||
|
-
|
||||||
|
this.keyboardBox.hide();
|
||||||
|
|
||||||
|
let monitor = this.primaryMonitor;
|
||||||
|
--
|
||||||
|
2.38.1
|
||||||
|
|
@ -0,0 +1,59 @@
|
|||||||
|
From 96404287bc4269dea7b037e7b178e54ebf616d47 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Daniel van Vugt <daniel.van.vugt@canonical.com>
|
||||||
|
Date: Tue, 24 Nov 2020 17:34:08 +0800
|
||||||
|
Subject: [PATCH] st-bin: Disallow st_bin_set_child with already-parented
|
||||||
|
children
|
||||||
|
|
||||||
|
Not checking for this would result in `clutter_actor_add_child`
|
||||||
|
failing, but StBin keeping a copy in `priv->child`. So later on,
|
||||||
|
`st_bin_remove` would never be called on it and this assertion
|
||||||
|
would fail and crash the whole shell:
|
||||||
|
|
||||||
|
```
|
||||||
|
static void
|
||||||
|
st_bin_destroy (ClutterActor *actor)
|
||||||
|
{
|
||||||
|
StBinPrivate *priv = st_bin_get_instance_private (ST_BIN (actor));
|
||||||
|
|
||||||
|
if (priv->child)
|
||||||
|
clutter_actor_destroy (priv->child);
|
||||||
|
g_assert (priv->child == NULL);
|
||||||
|
|
||||||
|
```
|
||||||
|
|
||||||
|
By disallowing spurious `st_bin_set_child` calls we now prevent StBin
|
||||||
|
from entering such a corrupt state and the above assertion won't fail
|
||||||
|
anymore.
|
||||||
|
|
||||||
|
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1507>
|
||||||
|
---
|
||||||
|
src/st/st-bin.c | 13 +++++++++++++
|
||||||
|
1 file changed, 13 insertions(+)
|
||||||
|
|
||||||
|
diff --git a/src/st/st-bin.c b/src/st/st-bin.c
|
||||||
|
index f013909e8..7959a4e95 100644
|
||||||
|
--- a/src/st/st-bin.c
|
||||||
|
+++ b/src/st/st-bin.c
|
||||||
|
@@ -434,6 +434,19 @@ st_bin_set_child (StBin *bin,
|
||||||
|
if (priv->child == child)
|
||||||
|
return;
|
||||||
|
|
||||||
|
+ if (child)
|
||||||
|
+ {
|
||||||
|
+ ClutterActor *parent = clutter_actor_get_parent (child);
|
||||||
|
+
|
||||||
|
+ if (parent)
|
||||||
|
+ {
|
||||||
|
+ g_warning ("%s: The provided 'child' actor %p already has a "
|
||||||
|
+ "(different) parent %p and can't be made a child of %p.",
|
||||||
|
+ G_STRFUNC, child, parent, bin);
|
||||||
|
+ return;
|
||||||
|
+ }
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
if (priv->child)
|
||||||
|
clutter_actor_remove_child (CLUTTER_ACTOR (bin), priv->child);
|
||||||
|
|
||||||
|
--
|
||||||
|
2.38.1
|
||||||
|
|
131
SOURCES/fix-nm-device-settings.patch
Normal file
131
SOURCES/fix-nm-device-settings.patch
Normal file
@ -0,0 +1,131 @@
|
|||||||
|
From e2a1b737156804e2647e5de938c3d170c11b6ba4 Mon Sep 17 00:00:00 2001
|
||||||
|
From: =?UTF-8?q?Florian=20M=C3=BCllner?= <fmuellner@gnome.org>
|
||||||
|
Date: Fri, 31 Jul 2020 20:40:36 +0200
|
||||||
|
Subject: [PATCH 1/2] status/network: Use D-Bus to launch Settings panels
|
||||||
|
|
||||||
|
For more obscure network configurations, we need to launch the
|
||||||
|
corresponding Settings panel with additional parameters, so we
|
||||||
|
cannot simply launch the .desktop file.
|
||||||
|
|
||||||
|
However we can do better than spawning a command line: Control center
|
||||||
|
exposes an application action we can use instead, so the process is
|
||||||
|
launched with the appropriate activation environment and startup
|
||||||
|
notification support.
|
||||||
|
|
||||||
|
https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1385
|
||||||
|
---
|
||||||
|
js/ui/status/network.js | 33 +++++++++++++++++++++++++++++----
|
||||||
|
1 file changed, 29 insertions(+), 4 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/js/ui/status/network.js b/js/ui/status/network.js
|
||||||
|
index f8991d02f..0e7e82ce0 100644
|
||||||
|
--- a/js/ui/status/network.js
|
||||||
|
+++ b/js/ui/status/network.js
|
||||||
|
@@ -15,6 +15,8 @@ const Util = imports.misc.util;
|
||||||
|
|
||||||
|
const { loadInterfaceXML } = imports.misc.fileUtils;
|
||||||
|
|
||||||
|
+Gio._promisify(Gio.DBusConnection.prototype, 'call', 'call_finish');
|
||||||
|
+
|
||||||
|
const NMConnectionCategory = {
|
||||||
|
INVALID: 'invalid',
|
||||||
|
WIRED: 'wired',
|
||||||
|
@@ -75,6 +77,30 @@ function ensureActiveConnectionProps(active, client) {
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
+function launchSettingsPanel(panel, ...args) {
|
||||||
|
+ const param = new GLib.Variant('(sav)',
|
||||||
|
+ [panel, args.map(s => new GLib.Variant('s', s))]);
|
||||||
|
+ const platformData = {
|
||||||
|
+ 'desktop-startup-id': new GLib.Variant('s',
|
||||||
|
+ '_TIME%s'.format(global.get_current_time())),
|
||||||
|
+ };
|
||||||
|
+ try {
|
||||||
|
+ Gio.DBus.session.call(
|
||||||
|
+ 'org.gnome.ControlCenter',
|
||||||
|
+ '/org/gnome/ControlCenter',
|
||||||
|
+ 'org.freedesktop.Application',
|
||||||
|
+ 'ActivateAction',
|
||||||
|
+ new GLib.Variant('(sava{sv})',
|
||||||
|
+ ['launch-panel', [param], platformData]),
|
||||||
|
+ null,
|
||||||
|
+ Gio.DBusCallFlags.NONE,
|
||||||
|
+ -1,
|
||||||
|
+ null);
|
||||||
|
+ } catch (e) {
|
||||||
|
+ log('Failed to launch Settings panel: %s'.format(e.message));
|
||||||
|
+ }
|
||||||
|
+}
|
||||||
|
+
|
||||||
|
var NMConnectionItem = class {
|
||||||
|
constructor(section, connection) {
|
||||||
|
this._section = section;
|
||||||
|
@@ -534,8 +560,7 @@ var NMDeviceModem = class extends NMConnectionDevice {
|
||||||
|
}
|
||||||
|
|
||||||
|
_autoConnect() {
|
||||||
|
- Util.spawn(['gnome-control-center', 'network',
|
||||||
|
- 'connect-3g', this._device.get_path()]);
|
||||||
|
+ launchSettingsPanel('network', 'connect-3g', this._device.get_path());
|
||||||
|
}
|
||||||
|
|
||||||
|
_sessionUpdated() {
|
||||||
|
@@ -920,8 +945,8 @@ var NMWirelessDialog = class extends ModalDialog.ModalDialog {
|
||||||
|
|| (accessPoints[0]._secType == NMAccessPointSecurity.WPA_ENT)) {
|
||||||
|
// 802.1x-enabled APs require further configuration, so they're
|
||||||
|
// handled in gnome-control-center
|
||||||
|
- Util.spawn(['gnome-control-center', 'wifi', 'connect-8021x-wifi',
|
||||||
|
- this._device.get_path(), accessPoints[0].get_path()]);
|
||||||
|
+ launchSettingsPanel('wifi', 'connect-8021x-wifi',
|
||||||
|
+ this._device.get_path(), accessPoints[0].get_path());
|
||||||
|
} else {
|
||||||
|
let connection = new NM.SimpleConnection();
|
||||||
|
this._client.add_and_activate_connection_async(connection, this._device, accessPoints[0].get_path(), null, null)
|
||||||
|
--
|
||||||
|
2.38.1
|
||||||
|
|
||||||
|
|
||||||
|
From 9ca1989fcc73157685742470c25f538d01d8df44 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Xiaoguang Wang <xwang@suse.com>
|
||||||
|
Date: Mon, 21 Feb 2022 09:11:23 +0800
|
||||||
|
Subject: [PATCH 2/2] network: Get dbus path from NMDevice
|
||||||
|
|
||||||
|
In the NetworkManager new version the NMDevice.get_path returns pci
|
||||||
|
path, we need to use NM prototype to get device dbus path.
|
||||||
|
|
||||||
|
https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/4565
|
||||||
|
|
||||||
|
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2194>
|
||||||
|
---
|
||||||
|
js/ui/status/network.js | 7 ++++++-
|
||||||
|
1 file changed, 6 insertions(+), 1 deletion(-)
|
||||||
|
|
||||||
|
diff --git a/js/ui/status/network.js b/js/ui/status/network.js
|
||||||
|
index 0e7e82ce0..9d6a83b73 100644
|
||||||
|
--- a/js/ui/status/network.js
|
||||||
|
+++ b/js/ui/status/network.js
|
||||||
|
@@ -946,7 +946,7 @@ var NMWirelessDialog = class extends ModalDialog.ModalDialog {
|
||||||
|
// 802.1x-enabled APs require further configuration, so they're
|
||||||
|
// handled in gnome-control-center
|
||||||
|
launchSettingsPanel('wifi', 'connect-8021x-wifi',
|
||||||
|
- this._device.get_path(), accessPoints[0].get_path());
|
||||||
|
+ this._getDeviceDBusPath(), accessPoints[0].get_path());
|
||||||
|
} else {
|
||||||
|
let connection = new NM.SimpleConnection();
|
||||||
|
this._client.add_and_activate_connection_async(connection, this._device, accessPoints[0].get_path(), null, null)
|
||||||
|
@@ -956,6 +956,11 @@ var NMWirelessDialog = class extends ModalDialog.ModalDialog {
|
||||||
|
this.close();
|
||||||
|
}
|
||||||
|
|
||||||
|
+ _getDeviceDBusPath() {
|
||||||
|
+ // nm_object_get_path() is shadowed by nm_device_get_path()
|
||||||
|
+ return NM.Object.prototype.get_path.call(this._device);
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
_notifySsidCb(accessPoint) {
|
||||||
|
if (accessPoint.get_ssid() != null) {
|
||||||
|
accessPoint.disconnect(accessPoint._notifySsidId);
|
||||||
|
--
|
||||||
|
2.38.1
|
||||||
|
|
@ -1,6 +1,6 @@
|
|||||||
Name: gnome-shell
|
Name: gnome-shell
|
||||||
Version: 3.32.2
|
Version: 3.32.2
|
||||||
Release: 48%{?dist}
|
Release: 50%{?dist}
|
||||||
Summary: Window management and application launching for GNOME
|
Summary: Window management and application launching for GNOME
|
||||||
|
|
||||||
Group: User Interface/Desktops
|
Group: User Interface/Desktops
|
||||||
@ -66,27 +66,30 @@ Patch56: 0001-main-Unset-the-right-prevFocus-actor-after-the-focus.patch
|
|||||||
Patch57: defend-against-corrupt-notifications.patch
|
Patch57: defend-against-corrupt-notifications.patch
|
||||||
Patch58: 0001-status-volume-Hide-sliders-initially.patch
|
Patch58: 0001-status-volume-Hide-sliders-initially.patch
|
||||||
Patch59: 0001-shell-recorder-Restore-cursor-recording.patch
|
Patch59: 0001-shell-recorder-Restore-cursor-recording.patch
|
||||||
|
Patch60: 0001-st-bin-Disallow-st_bin_set_child-with-already-parent.patch
|
||||||
|
Patch61: 0001-layout-Initialize-regions-unconditionally.patch
|
||||||
|
Patch62: fix-nm-device-settings.patch
|
||||||
|
|
||||||
# Backport JS invalid access warnings (#1651894, #1663171, #1642482, #1637622)
|
# Backport JS invalid access warnings (#1651894, #1663171, #1642482, #1637622)
|
||||||
Patch60: fix-invalid-access-warnings.patch
|
Patch70: fix-invalid-access-warnings.patch
|
||||||
Patch61: more-spurious-allocation-warnings.patch
|
Patch71: more-spurious-allocation-warnings.patch
|
||||||
Patch62: fix-some-js-warnings.patch
|
Patch72: fix-some-js-warnings.patch
|
||||||
Patch63: fix-double-disposed-backgrounds.patch
|
Patch73: fix-double-disposed-backgrounds.patch
|
||||||
|
|
||||||
# Backport performance fixes under load (#1820760)
|
# Backport performance fixes under load (#1820760)
|
||||||
Patch70: 0001-environment-reduce-calls-to-g_time_zone_new_local.patch
|
Patch80: 0001-environment-reduce-calls-to-g_time_zone_new_local.patch
|
||||||
Patch71: 0002-environment-Fix-date-conversion.patch
|
Patch81: 0002-environment-Fix-date-conversion.patch
|
||||||
Patch72: 0003-shell-app-system-Monitor-for-icon-theme-changes.patch
|
Patch82: 0003-shell-app-system-Monitor-for-icon-theme-changes.patch
|
||||||
Patch73: 0004-global-force-fsync-to-worker-thread-when-saving-stat.patch
|
Patch83: 0004-global-force-fsync-to-worker-thread-when-saving-stat.patch
|
||||||
Patch74: 0005-app-cache-add-ShellAppCache-for-GAppInfo-caching.patch
|
Patch84: 0005-app-cache-add-ShellAppCache-for-GAppInfo-caching.patch
|
||||||
Patch75: 0006-js-Always-use-AppSystem-to-lookup-apps.patch
|
Patch85: 0006-js-Always-use-AppSystem-to-lookup-apps.patch
|
||||||
|
|
||||||
# Stop screen recording on monitor changes (#1705392)
|
# Stop screen recording on monitor changes (#1705392)
|
||||||
Patch80: 0001-screencast-Stop-recording-when-screen-size-or-resour.patch
|
Patch90: 0001-screencast-Stop-recording-when-screen-size-or-resour.patch
|
||||||
|
|
||||||
# Backport OSK fixes (#1871041)
|
# Backport OSK fixes (#1871041)
|
||||||
Patch85: osk-fixes.patch
|
Patch95: osk-fixes.patch
|
||||||
Patch86: 0001-keyboard-Only-enable-keyboard-if-ClutterDeviceManage.patch
|
Patch96: 0001-keyboard-Only-enable-keyboard-if-ClutterDeviceManage.patch
|
||||||
|
|
||||||
# suspend/resume fix on nvidia (#1663440)
|
# suspend/resume fix on nvidia (#1663440)
|
||||||
Patch10001: 0001-background-refresh-after-suspend-on-wayland.patch
|
Patch10001: 0001-background-refresh-after-suspend-on-wayland.patch
|
||||||
@ -280,6 +283,16 @@ desktop-file-validate %{buildroot}%{_datadir}/applications/evolution-calendar.de
|
|||||||
%{_mandir}/man1/%{name}.1.gz
|
%{_mandir}/man1/%{name}.1.gz
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Thu Dec 01 2022 Florian Müllner <fmuellner@redhat.com> - 3.32.2-50
|
||||||
|
- Fix struts on login screen
|
||||||
|
Resolves: #2138941
|
||||||
|
- Fix launching network device settings
|
||||||
|
Resolves: #1879405
|
||||||
|
|
||||||
|
* Mon Nov 21 2022 Florian Müllner <fmuellner@redhat.com> - 3.32.2-49
|
||||||
|
- Fix assert durin StBin destruction
|
||||||
|
Resolves: #2130131
|
||||||
|
|
||||||
* Fri Aug 12 2022 Florian Müllner <fmuellner@redhat.com> - 3.32.2-48
|
* Fri Aug 12 2022 Florian Müllner <fmuellner@redhat.com> - 3.32.2-48
|
||||||
- Fix warnings on double-disposed backgrounds
|
- Fix warnings on double-disposed backgrounds
|
||||||
Resolves: #2116555
|
Resolves: #2116555
|
||||||
|
Loading…
Reference in New Issue
Block a user