import gnome-shell-3.32.2-50.el8
This commit is contained in:
		
							parent
							
								
									4dbb6e59cf
								
							
						
					
					
						commit
						b0581473c5
					
				
							
								
								
									
										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