From 46d91acdffd9a7d9d54fce5d72a07bfc62100b02 Mon Sep 17 00:00:00 2001 From: Dirk Hohndel Date: Sun, 16 Sep 2012 05:01:25 -0400 Subject: Don't close existing data file in file_open if user cancels This logic seems to make much more sense - if the user hits 'OK' then the old file is closed and the new one openened. Otherwise, leave things unchanged. Reported-by: Miika Turkia Signed-off-by: Dirk Hohndel --- gtk-gui.c | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/gtk-gui.c b/gtk-gui.c index 9b15cb4ee..27bf30cc4 100644 --- a/gtk-gui.c +++ b/gtk-gui.c @@ -286,11 +286,6 @@ static void file_open(GtkWidget *w, gpointer data) GtkFileFilter *filter; const char *current_default; - /* first, close the existing file, if any, and forget its name */ - file_close(w, data); - free((void *)existing_filename); - existing_filename = NULL; - dialog = gtk_file_chooser_dialog_new("Open File", GTK_WINDOW(main_window), GTK_FILE_CHOOSER_ACTION_OPEN, @@ -308,6 +303,12 @@ static void file_open(GtkWidget *w, gpointer data) if (gtk_dialog_run(GTK_DIALOG(dialog)) == GTK_RESPONSE_ACCEPT) { GSList *filenames, *fn_glist; char *filename; + + /* first, close the existing file, if any, and forget its name */ + file_close(w, data); + free((void *)existing_filename); + existing_filename = NULL; + filenames = fn_glist = gtk_file_chooser_get_filenames(GTK_FILE_CHOOSER(dialog)); GError *error = NULL; -- cgit v1.2.3-70-g09d2