Bring back focus fix (MR #5189), it wasn't in 4.9.1

This commit is contained in:
Adam Williamson 2022-11-29 09:46:48 -08:00
parent 59f9d3f971
commit 746f87a4f0
2 changed files with 43 additions and 1 deletions

View File

@ -0,0 +1,34 @@
From e07f8ef50657dab0d5184d4c6927acc0683bc07d Mon Sep 17 00:00:00 2001
From: Adam Williamson <awilliam@redhat.com>
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 <awilliam@redhat.com>
---
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

View File

@ -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 <awilliam@redhat.com> - 4.9.1-2
- Bring back focus fix (MR #5189), it wasn't in 4.9.1
* Mon Nov 21 2022 David King <amigadave@amigadave.com> - 4.9.1-1
- Update to 4.9.1