diff --git a/0001-focus-fall-back-to-old-behaviour-if-we-didn-t-focus-.patch b/0001-focus-fall-back-to-old-behaviour-if-we-didn-t-focus-.patch new file mode 100644 index 0000000..3738cc7 --- /dev/null +++ b/0001-focus-fall-back-to-old-behaviour-if-we-didn-t-focus-.patch @@ -0,0 +1,34 @@ +From e07f8ef50657dab0d5184d4c6927acc0683bc07d Mon Sep 17 00:00:00 2001 +From: Adam Williamson +Date: Tue, 1 Nov 2022 17:26:29 -0700 +Subject: [PATCH] focus: fall back to old behaviour if we didn't focus anything + +8455b9ac74 seems to have introduced a problem where we can wind +up focusing no widget at all if the `while (parent)` loop doesn't +find a widget it can successfully move the focus to. This 'fixes' +that by falling back to doing the previous thing if we make it +all the way through that loop without moving the focus. Thanks to +@coreyberla for a hint to improve the implementation. + +Signed-off-by: Adam Williamson +--- + gtk/gtkwindow.c | 3 +++ + 1 file changed, 3 insertions(+) + +diff --git a/gtk/gtkwindow.c b/gtk/gtkwindow.c +index a7cbde18bc..21dfb49880 100644 +--- a/gtk/gtkwindow.c ++++ b/gtk/gtkwindow.c +@@ -4703,6 +4703,9 @@ maybe_unset_focus_and_default (GtkWindow *window) + parent = _gtk_widget_get_parent (parent); + } + ++ if (!parent) ++ gtk_widget_child_focus (GTK_WIDGET (window), GTK_DIR_TAB_FORWARD); ++ + priv->move_focus = FALSE; + g_clear_object (&priv->move_focus_widget); + } +-- +2.38.1 + diff --git a/gtk4.spec b/gtk4.spec index a77e4fc..0b34c89 100644 --- a/gtk4.spec +++ b/gtk4.spec @@ -17,7 +17,7 @@ Name: gtk4 Version: 4.9.1 -Release: 1%{?dist} +Release: 2%{?dist} Summary: GTK graphical user interface library License: LGPLv2+ @@ -28,6 +28,11 @@ Source1: settings.ini # private requires that are needed for rpm automatic dep extraction. # https://gitlab.gnome.org/GNOME/gtk/-/merge_requests/4756 Patch0: 0001-Revert-Meson-Simplify-pkgconfig-file-generator.patch +# https://gitlab.gnome.org/GNOME/gtk/-/merge_requests/5189 +# https://gitlab.gnome.org/GNOME/nautilus/-/issues/2574 +# Fix a problem which could lead to no element being focused +# (so keyboard shortcuts don't work) in some cases +Patch1: 0001-focus-fall-back-to-old-behaviour-if-we-didn-t-focus-.patch BuildRequires: cups-devel BuildRequires: desktop-file-utils @@ -239,6 +244,9 @@ desktop-file-validate %{buildroot}%{_datadir}/applications/*.desktop %{_mandir}/man1/gtk4-widget-factory.1* %changelog +* Tue Nov 29 2022 Adam Williamson - 4.9.1-2 +- Bring back focus fix (MR #5189), it wasn't in 4.9.1 + * Mon Nov 21 2022 David King - 4.9.1-1 - Update to 4.9.1