diff --git a/SOURCES/0001-x11-Do-not-unminimize-windows-with-initial-IconicSta.patch b/SOURCES/0001-x11-Do-not-unminimize-windows-with-initial-IconicSta.patch new file mode 100644 index 0000000..2630eae --- /dev/null +++ b/SOURCES/0001-x11-Do-not-unminimize-windows-with-initial-IconicSta.patch @@ -0,0 +1,71 @@ +From 6ad5c45090c3009d62b97452dc91f1705118feb3 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Jonas=20=C3=85dahl?= +Date: Mon, 18 May 2026 16:09:57 +0200 +Subject: [PATCH] x11: Do not unminimize windows with initial IconicState + +This is a revert of commit be5c2ebc. While this worked around issues in +wine/proton, it did contravene icccm in the interpretation of initially +iconic windows. + +This reverts commit be5c2ebcb59652c91a5817762e6535b357f14a47. + +Closes: https://gitlab.gnome.org/GNOME/mutter/-/issues/2043 +Adapted-from: +--- + src/x11/events.c | 37 +++++++++++++------------------------ + 1 file changed, 13 insertions(+), 24 deletions(-) + +diff --git a/src/x11/events.c b/src/x11/events.c +index 905b5bf9d2..3b258b6e36 100644 +--- a/src/x11/events.c ++++ b/src/x11/events.c +@@ -1410,33 +1410,22 @@ handle_other_xevent (MetaX11Display *x11_display, + { + window = meta_window_x11_new (display, event->xmaprequest.window, + FALSE, META_COMP_EFFECT_CREATE); +- /* The window might have initial iconic state, but this is a +- * MapRequest, fall through to ensure it is unminimized in +- * that case. +- */ + } +- else if (frame_was_receiver) ++ /* if frame was receiver it's some malicious send event or something */ ++ else if (!frame_was_receiver && window) + { +- meta_warning ("Map requests on the frame window are unexpected\n"); +- break; +- } +- +- /* Double check that creating the MetaWindow succeeded */ +- if (window == NULL) +- break; +- +- meta_verbose ("MapRequest on %s mapped = %d minimized = %d\n", +- window->desc, window->mapped, window->minimized); +- +- if (window->minimized) +- { +- meta_window_unminimize (window); +- if (window->workspace != workspace_manager->active_workspace) ++ meta_verbose ("MapRequest on %s mapped = %d minimized = %d\n", ++ window->desc, window->mapped, window->minimized); ++ if (window->minimized) + { +- meta_verbose ("Changing workspace due to MapRequest mapped = %d minimized = %d\n", +- window->mapped, window->minimized); +- meta_window_change_workspace (window, +- workspace_manager->active_workspace); ++ meta_window_unminimize (window); ++ if (window->workspace != workspace_manager->active_workspace) ++ { ++ meta_verbose ("Changing workspace due to MapRequest mapped = %d minimized = %d\n", ++ window->mapped, window->minimized); ++ meta_window_change_workspace (window, ++ workspace_manager->active_workspace); ++ } + } + } + break; +-- +2.54.0 + diff --git a/SPECS/mutter.spec b/SPECS/mutter.spec index be41059..58497cd 100644 --- a/SPECS/mutter.spec +++ b/SPECS/mutter.spec @@ -8,7 +8,7 @@ Name: mutter Version: 3.32.2 -Release: 74%{?dist} +Release: 75%{?dist} Summary: Window and compositing manager based on Clutter License: GPLv2+ @@ -223,6 +223,9 @@ Patch533: 0001-x11-iconcache-Turn-icons-from-WM_HINTS-pixmaps-to-ca.patch # RHEL-87743 Patch534: 0001-x11-display-add-support-for-_GTK_WORKAREAS_Dn.patch +# RHEL-177609 +Patch535: 0001-x11-Do-not-unminimize-windows-with-initial-IconicSta.patch + BuildRequires: chrpath BuildRequires: pango-devel BuildRequires: startup-notification-devel @@ -364,6 +367,10 @@ desktop-file-validate %{buildroot}/%{_datadir}/applications/%{name}.desktop %{_datadir}/mutter-%{mutter_api_version}/tests %changelog +* Thu Jun 04 2026 Jonas Ådahl - 3.32.2-75 +- Don't unminimize mapped windows + Resolves: RHEL-177609 + * Fri Jun 27 2025 Jonas Ådahl - 3.32.2-74 - Backport implementation for _GTK_WORKAREAS_D# X11 property Related: RHEL-87743