From 4c35d56f172727f571cf364315ec40a441909a60 Mon Sep 17 00:00:00 2001 From: eabdullin Date: Fri, 31 May 2024 16:41:19 +0000 Subject: [PATCH] Import from AlmaLinux stable repository --- .gnome-shell.metadata | 1 - ...e-overview-on-session-mode-hasOvervi.patch | 38 +++++++++++++++ SOURCES/0001-windowMenu-Ignore-release.patch | 26 ++++++++++ SOURCES/optional-portal-helper.patch | 47 +++++++++++++++++++ SPECS/gnome-shell.spec | 22 ++++++++- 5 files changed, 132 insertions(+), 2 deletions(-) delete mode 100644 .gnome-shell.metadata create mode 100644 SOURCES/0001-overview-Hide-the-overview-on-session-mode-hasOvervi.patch create mode 100644 SOURCES/0001-windowMenu-Ignore-release.patch create mode 100644 SOURCES/optional-portal-helper.patch diff --git a/.gnome-shell.metadata b/.gnome-shell.metadata deleted file mode 100644 index 06e249f..0000000 --- a/.gnome-shell.metadata +++ /dev/null @@ -1 +0,0 @@ -331e9cf71cd1d2a4e9238d87d216da4c6f3a400e SOURCES/gnome-shell-3.32.2.tar.xz diff --git a/SOURCES/0001-overview-Hide-the-overview-on-session-mode-hasOvervi.patch b/SOURCES/0001-overview-Hide-the-overview-on-session-mode-hasOvervi.patch new file mode 100644 index 0000000..2fe001a --- /dev/null +++ b/SOURCES/0001-overview-Hide-the-overview-on-session-mode-hasOvervi.patch @@ -0,0 +1,38 @@ +From 2ddb51234ca69c0e637b35071b4e760d1b72527a Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Jonas=20Dre=C3=9Fler?= +Date: Mon, 24 Feb 2020 11:19:28 +0100 +Subject: [PATCH] overview: Hide the overview on session mode hasOverview + changes + +If the sessionMode does not allow to show the overview, we should also +hide an already visible overview. + +This fixes a bug where, if the lockscreen was shown while the overview +was visible, the Ctrl+Alt+Tab popup would allow navigating inside the +overview because the overview actor is still mapped. + +https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/1043 +--- + js/ui/overview.js | 6 +++++- + 1 file changed, 5 insertions(+), 1 deletion(-) + +diff --git a/js/ui/overview.js b/js/ui/overview.js +index 5bad4cbd62..03cecb6dbc 100644 +--- a/js/ui/overview.js ++++ b/js/ui/overview.js +@@ -196,7 +196,11 @@ var Overview = class { + } + + _sessionUpdated() { +- this.isDummy = !Main.sessionMode.hasOverview; ++ const { hasOverview } = Main.sessionMode; ++ if (!hasOverview) ++ this.hide(); ++ ++ this.isDummy = !hasOverview; + this._createOverview(); + } + +-- +2.43.0 + diff --git a/SOURCES/0001-windowMenu-Ignore-release.patch b/SOURCES/0001-windowMenu-Ignore-release.patch new file mode 100644 index 0000000..6eedee2 --- /dev/null +++ b/SOURCES/0001-windowMenu-Ignore-release.patch @@ -0,0 +1,26 @@ +From e1eb24fdf731af8736cdb76dc28aa2b10679aa5f Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Florian=20M=C3=BCllner?= +Date: Thu, 28 Sep 2023 14:34:24 +0200 +Subject: [PATCH] windowMenu: Ignore release + +If the menu was open on button-press, make sure it is kept open +until explicitly dismissed, regardless of the pointer position. +--- + js/ui/windowMenu.js | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/js/ui/windowMenu.js b/js/ui/windowMenu.js +index f8eb4398c3..2ec11c7879 100644 +--- a/js/ui/windowMenu.js ++++ b/js/ui/windowMenu.js +@@ -205,6 +205,7 @@ var WindowMenuManager = class { + let menu = new WindowMenu(window, this._sourceActor); + + this._manager.addMenu(menu); ++ this._manager.ignoreRelease(); + + menu.connect('activate', () => { + window.check_alive(global.get_current_time()); +-- +2.41.0 + diff --git a/SOURCES/optional-portal-helper.patch b/SOURCES/optional-portal-helper.patch new file mode 100644 index 0000000..a4c8083 --- /dev/null +++ b/SOURCES/optional-portal-helper.patch @@ -0,0 +1,47 @@ +diff --git a/js/portalHelper/main.js b/js/portalHelper/main.js +index e163d6574..c61f3b381 100644 +--- a/js/portalHelper/main.js ++++ b/js/portalHelper/main.js +@@ -1,6 +1,13 @@ + const Format = imports.format; + const Gettext = imports.gettext; +-const { Gio, GLib, GObject, Gtk, Pango, Soup, WebKit2: WebKit } = imports.gi; ++const { Gio, GLib, GObject, Gtk, Pango, Soup } = imports.gi; ++ ++let WebKit; ++try { ++ WebKit = imports.gi.WebKit2; ++} catch { ++ WebKit = null; ++} + + const _ = Gettext.gettext; + +@@ -340,6 +346,11 @@ function initEnvironment() { + function main(argv) { + initEnvironment(); + ++ if (!WebKit) { ++ log('WebKit2 typelib is not installed, captive portal helper will be disabled'); ++ return 1; ++ } ++ + if (!WebKit.WebContext.new_ephemeral) { + log('WebKitGTK 2.16 is required for the portal-helper, see https://bugzilla.gnome.org/show_bug.cgi?id=780453'); + return 1; +diff --git a/js/ui/status/network.js b/js/ui/status/network.js +index 421d2e7d2..13b6501e7 100644 +--- a/js/ui/status/network.js ++++ b/js/ui/status/network.js +@@ -2010,7 +2010,9 @@ var NMApplet = class extends PanelMenu.SystemIndicator { + new PortalHelperProxy(Gio.DBus.session, 'org.gnome.Shell.PortalHelper', + '/org/gnome/Shell/PortalHelper', (proxy, error) => { + if (error) { +- log('Error launching the portal helper: ' + error); ++ // Timeout is expected if WebKit is unavailable ++ if (!error.matches(Gio.IOErrorEnum, Gio.IOErrorEnum.TIMED_OUT)) ++ log('Error launching the portal helper: ' + error); + return; + } + + diff --git a/SPECS/gnome-shell.spec b/SPECS/gnome-shell.spec index b43b405..7a77423 100644 --- a/SPECS/gnome-shell.spec +++ b/SPECS/gnome-shell.spec @@ -1,6 +1,6 @@ Name: gnome-shell Version: 3.32.2 -Release: 51%{?dist} +Release: 55%{?dist} Summary: Window management and application launching for GNOME Group: User Interface/Desktops @@ -70,6 +70,8 @@ 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 Patch63: owe-support.patch +Patch64: 0001-windowMenu-Ignore-release.patch +Patch65: 0001-overview-Hide-the-overview-on-session-mode-hasOvervi.patch # Backport JS invalid access warnings (#1651894, #1663171, #1642482, #1637622) Patch70: fix-invalid-access-warnings.patch @@ -107,6 +109,9 @@ Patch20004: 0004-sessionMode-Allow-extensions-at-the-login-and-unlock.patch # CVE-2020-17489 Patch30001: 0001-loginDialog-Reset-auth-prompt-on-vt-switch-before-fa.patch +# Disable captive portal helper if WebKitGTK is not installed (RHEL-10488) +Patch40001: optional-portal-helper.patch + %define libcroco_version 0.6.8 %define eds_version 3.17.2 %define gnome_desktop_version 3.7.90 @@ -284,6 +289,21 @@ desktop-file-validate %{buildroot}%{_datadir}/applications/evolution-calendar.de %{_mandir}/man1/%{name}.1.gz %changelog +* Thu Dec 21 2023 Florian Müllner - 3.32.2-55 +- Hide the overview on lock + Resolves: RHEL-17349 + +* Wed Nov 01 2023 Michael Catanzaro - 3.32.2-54 +- Disable captive portal helper if WebKitGTK is not installed + Resolves: RHEL-10488 + +* Wed Oct 18 2023 Florian Müllner - 3.32.2-53 +- Fix window-menu closing immediately on open + Resolves: RHEL-2662 + +* Mon Sep 18 2023 Florian Müllner - 3.32.2-52 +- Bump release to avoid conflict with z-stream + * Mon Sep 11 2023 Florian Müllner - 3.32.2-51 - Support OWE networks Resolves: #2033620