diff --git a/0001-Revert-treepopover-Do-not-propagate-natural-width-of.patch b/0001-Revert-treepopover-Do-not-propagate-natural-width-of.patch new file mode 100644 index 0000000..c3759d6 --- /dev/null +++ b/0001-Revert-treepopover-Do-not-propagate-natural-width-of.patch @@ -0,0 +1,26 @@ +From 339b9eb1b979fffc751cc82d1142d6231be8f0c5 Mon Sep 17 00:00:00 2001 +From: Mat +Date: Wed, 26 Oct 2022 13:51:23 +0300 +Subject: [PATCH] Revert "treepopover: Do not propagate natural width of + content" + +This reverts commit 9c919ffa462dd4511da0bfd19d36d2e15c51651b. +--- + gtk/gtktreepopover.c | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/gtk/gtktreepopover.c b/gtk/gtktreepopover.c +index 992c4574a5..ca7575a765 100644 +--- a/gtk/gtktreepopover.c ++++ b/gtk/gtktreepopover.c +@@ -266,6 +266,7 @@ gtk_tree_popover_init (GtkTreePopover *popover) + + sw = gtk_scrolled_window_new (); + gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (sw), GTK_POLICY_NEVER, GTK_POLICY_AUTOMATIC); ++ gtk_scrolled_window_set_propagate_natural_width (GTK_SCROLLED_WINDOW (sw), TRUE); + gtk_scrolled_window_set_propagate_natural_height (GTK_SCROLLED_WINDOW (sw), TRUE); + gtk_popover_set_child (GTK_POPOVER (popover), sw); + +-- +2.37.3 + 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..fe40bd6 --- /dev/null +++ b/0001-focus-fall-back-to-old-behaviour-if-we-didn-t-focus-.patch @@ -0,0 +1,34 @@ +From 22efa03cae870dfc049b4a2d313173f8ef312a81 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.37.3 + diff --git a/gtk4.spec b/gtk4.spec index d5ba37b..1540c3f 100644 --- a/gtk4.spec +++ b/gtk4.spec @@ -17,7 +17,7 @@ Name: gtk4 Version: 4.8.2 -Release: 1%{?dist} +Release: 2%{?dist} Summary: GTK graphical user interface library License: LGPLv2+ @@ -28,6 +28,16 @@ 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 +# https://gitlab.gnome.org/GNOME/gtk/-/merge_requests/5071 +# https://gitlab.gnome.org/GNOME/gtk/-/issues/5192 +# Avoids app widgets potentially becoming unexpectedly narrower +Patch2: 0001-Revert-treepopover-Do-not-propagate-natural-width-of.patch + BuildRequires: cups-devel BuildRequires: desktop-file-utils @@ -239,6 +249,10 @@ desktop-file-validate %{buildroot}%{_datadir}/applications/*.desktop %{_mandir}/man1/gtk4-widget-factory.1* %changelog +* Tue Nov 01 2022 Adam Williamson - 4.8.2-2 +- Attempt to fix a focus issue introduced in 4.8.2 (nautilus gl2574) +- Backport MR #5091 to fix a width problem (gtk gl5192) + * Thu Oct 27 2022 David King - 4.8.2-1 - Update to 4.8.2