From 0141ba4e0086da63018c3f282cf34eca871f3926 Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Mon, 10 Oct 2022 19:25:45 -0400 Subject: [PATCH] filechooser: Prevent recursion when activating items When a list item is activated, we activate the default widget. Unfortunately, due to some other bug, sometimes the open button is not made sensitive, and then default.activate falls back to activating the focus widget (which is the item we are just coming from). Boom --- gtk/gtkfilechooserwidget.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/gtk/gtkfilechooserwidget.c b/gtk/gtkfilechooserwidget.c index e3070b08b9..4f3c30d399 100644 --- a/gtk/gtkfilechooserwidget.c +++ b/gtk/gtkfilechooserwidget.c @@ -6298,7 +6298,10 @@ column_view_row_activated_cb (GtkColumnView *column_view, else if (self->action == GTK_FILE_CHOOSER_ACTION_OPEN || self->action == GTK_FILE_CHOOSER_ACTION_SAVE) { + /* prevent recursion */ + g_signal_handlers_block_by_func (column_view, column_view_row_activated_cb, self); gtk_widget_activate_default (GTK_WIDGET (self)); + g_signal_handlers_unblock_by_func (column_view, column_view_row_activated_cb, self); } g_clear_object (&info); -- 2.30.2