diff --git a/gtk/gtkfilechooserdefault.c b/gtk/gtkfilechooserdefault.c index 4b51c6ba55..2952fd85f0 100644 --- a/gtk/gtkfilechooserdefault.c +++ b/gtk/gtkfilechooserdefault.c @@ -5236,6 +5236,18 @@ path_bar_update (GtkFileChooserDefault *impl) path_bar_set_mode (impl, mode); } +static void +operation_mode_discard_search_widgets (GtkFileChooserDefault *impl) +{ + if (impl->search_hbox) + { + gtk_widget_destroy (impl->search_hbox); + + impl->search_hbox = NULL; + impl->search_entry = NULL; + } +} + /* Stops running operations like populating the browse model, searches, and the recent-files model */ static void operation_mode_stop (GtkFileChooserDefault *impl, OperationMode mode) @@ -5250,9 +5262,7 @@ operation_mode_stop (GtkFileChooserDefault *impl, OperationMode mode) search_stop_searching (impl, FALSE); search_clear_model (impl, TRUE); - gtk_widget_destroy (impl->search_hbox); - impl->search_hbox = NULL; - impl->search_entry = NULL; + operation_mode_discard_search_widgets (impl); break; case OPERATION_MODE_RECENT: