From: Matthias Clasen Date: Mon, 10 Oct 2022 23:25:45 +0000 (-0400) Subject: filechooser: Prevent recursion when activating items X-Git-Tag: archive/raspbian/4.12.3+ds-1+rpi1~1^2^2^2~22^2~9^2~143^2~32 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=0141ba4e0086da63018c3f282cf34eca871f3926;p=gtk4.git 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 --- 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);