import gnome-shell-3.32.2-50.el8
This commit is contained in:
parent
6c0b3c2483
commit
3a69c2d5f7
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
|
||||
Version: 3.32.2
|
||||
Release: 48%{?dist}
|
||||
Release: 50%{?dist}
|
||||
Summary: Window management and application launching for GNOME
|
||||
|
||||
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
|
||||
Patch58: 0001-status-volume-Hide-sliders-initially.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)
|
||||
Patch60: fix-invalid-access-warnings.patch
|
||||
Patch61: more-spurious-allocation-warnings.patch
|
||||
Patch62: fix-some-js-warnings.patch
|
||||
Patch63: fix-double-disposed-backgrounds.patch
|
||||
Patch70: fix-invalid-access-warnings.patch
|
||||
Patch71: more-spurious-allocation-warnings.patch
|
||||
Patch72: fix-some-js-warnings.patch
|
||||
Patch73: fix-double-disposed-backgrounds.patch
|
||||
|
||||
# Backport performance fixes under load (#1820760)
|
||||
Patch70: 0001-environment-reduce-calls-to-g_time_zone_new_local.patch
|
||||
Patch71: 0002-environment-Fix-date-conversion.patch
|
||||
Patch72: 0003-shell-app-system-Monitor-for-icon-theme-changes.patch
|
||||
Patch73: 0004-global-force-fsync-to-worker-thread-when-saving-stat.patch
|
||||
Patch74: 0005-app-cache-add-ShellAppCache-for-GAppInfo-caching.patch
|
||||
Patch75: 0006-js-Always-use-AppSystem-to-lookup-apps.patch
|
||||
Patch80: 0001-environment-reduce-calls-to-g_time_zone_new_local.patch
|
||||
Patch81: 0002-environment-Fix-date-conversion.patch
|
||||
Patch82: 0003-shell-app-system-Monitor-for-icon-theme-changes.patch
|
||||
Patch83: 0004-global-force-fsync-to-worker-thread-when-saving-stat.patch
|
||||
Patch84: 0005-app-cache-add-ShellAppCache-for-GAppInfo-caching.patch
|
||||
Patch85: 0006-js-Always-use-AppSystem-to-lookup-apps.patch
|
||||
|
||||
# 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)
|
||||
Patch85: osk-fixes.patch
|
||||
Patch86: 0001-keyboard-Only-enable-keyboard-if-ClutterDeviceManage.patch
|
||||
Patch95: osk-fixes.patch
|
||||
Patch96: 0001-keyboard-Only-enable-keyboard-if-ClutterDeviceManage.patch
|
||||
|
||||
# suspend/resume fix on nvidia (#1663440)
|
||||
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
|
||||
|
||||
%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
|
||||
- Fix warnings on double-disposed backgrounds
|
||||
Resolves: #2116555
|
||||
|
Loading…
Reference in New Issue
Block a user