diff --git a/0001-shell-Avoid-handling-map-events-from-other-windows.patch b/0001-shell-Avoid-handling-map-events-from-other-windows.patch new file mode 100644 index 0000000..83fc0a5 --- /dev/null +++ b/0001-shell-Avoid-handling-map-events-from-other-windows.patch @@ -0,0 +1,50 @@ +From 7196e8aaea48054dd5fe825d371aec2319960897 Mon Sep 17 00:00:00 2001 +From: Carlos Garnacho +Date: Wed, 21 Apr 2021 20:54:06 +0200 +Subject: [PATCH] shell: Avoid handling map events from other windows + +The CcWindow tries to unset the focus when first mapping the window. +However this pretty wide check intercepts mapping events from other +windows than the toplevel (e.g. subsurfaces, for popovers). This +causes the focus to move away from the popover, overriding its +modality. + +Check that the event received is addressed to the CcWindow's +GDK window before unsetting the focus, so we don't mess with popover +focus. + +Fixes: https://gitlab.gnome.org/GNOME/gnome-control-center/-/issues/1327 +--- + shell/cc-window.c | 15 ++++++++++----- + 1 file changed, 10 insertions(+), 5 deletions(-) + +diff --git a/shell/cc-window.c b/shell/cc-window.c +index 400c39116..de4eccc04 100644 +--- a/shell/cc-window.c ++++ b/shell/cc-window.c +@@ -585,12 +585,17 @@ gdk_window_set_cb (CcWindow *self) + } + + static gboolean +-window_map_event_cb (CcWindow *self) ++window_map_event_cb (CcWindow *self, ++ GdkEvent *event) + { +- /* If focus ends up in a category icon view one of the items is +- * immediately selected which looks odd when we are starting up, so +- * we explicitly unset the focus here. */ +- gtk_window_set_focus (GTK_WINDOW (self), NULL); ++ if (event->any.window == gtk_widget_get_window (GTK_WIDGET (self))) ++ { ++ /* If focus ends up in a category icon view one of the items is ++ * immediately selected which looks odd when we are starting up, so ++ * we explicitly unset the focus here. */ ++ gtk_window_set_focus (GTK_WINDOW (self), NULL); ++ } ++ + return GDK_EVENT_PROPAGATE; + } + +-- +2.37.3 + diff --git a/gnome-control-center.spec b/gnome-control-center.spec index 46bb6ed..4a89fa5 100644 --- a/gnome-control-center.spec +++ b/gnome-control-center.spec @@ -14,7 +14,7 @@ Name: gnome-control-center Version: 40.0 -Release: 28%{?dist} +Release: 29%{?dist} Summary: Utilities to configure the GNOME desktop License: GPLv2+ and CC-BY-SA @@ -50,6 +50,9 @@ Patch12: display-infobar-if-night-light-unsupported.patch # https://bugzilla.redhat.com/show_bug.cgi?id=2110581 Patch13: gnome-control-center-wwan-5g-support.patch +# https://bugzilla.redhat.com/show_bug.cgi?id=2168686 +Patch14: 0001-shell-Avoid-handling-map-events-from-other-windows.patch + BuildRequires: chrpath BuildRequires: cups-devel BuildRequires: desktop-file-utils @@ -239,6 +242,10 @@ chrpath --delete $RPM_BUILD_ROOT%{_bindir}/gnome-control-center %dir %{_datadir}/gnome/wm-properties %changelog +* Fri Feb 10 2023 Felipe Borges - 40.0-29 +- Fix keyboard accessibility of screen resolution list + Resolves: rhbz#2168686 + * Wed Oct 26 2022 Felipe Borges - 40.0-28 - Support WWAN 5G connections Resolves: rhbz#2110581