diff --git a/gtk/gtkfilechooserwidget.c b/gtk/gtkfilechooserwidget.c index 171301a24b..594a908e94 100644 --- a/gtk/gtkfilechooserwidget.c +++ b/gtk/gtkfilechooserwidget.c @@ -5395,6 +5395,10 @@ gtk_file_chooser_widget_get_files (GtkFileChooser *chooser) if (impl->operation_mode == OPERATION_MODE_SEARCH) return get_selected_files_as_model (impl); + info.impl = impl; + info.result = g_list_store_new (G_TYPE_FILE); + info.file_from_entry = NULL; + if (impl->operation_mode == OPERATION_MODE_RECENT) { if (impl->action == GTK_FILE_CHOOSER_ACTION_SAVE) @@ -5403,13 +5407,12 @@ gtk_file_chooser_widget_get_files (GtkFileChooser *chooser) goto file_entry; } else - return get_selected_files_as_model (impl); + { + g_object_unref (info.result); + return get_selected_files_as_model (impl); + } } - info.impl = impl; - info.result = g_list_store_new (G_TYPE_FILE); - info.file_from_entry = NULL; - toplevel = get_toplevel (GTK_WIDGET (impl)); if (toplevel) current_focus = gtk_root_get_focus (GTK_ROOT (toplevel));