From 755c42a087bcee3eff4ad0b144a4f0e95385a311 Mon Sep 17 00:00:00 2001 From: John Ralls Date: Sat, 3 Dec 2016 17:50:38 -0800 Subject: [PATCH] Prevent crash when there's an error loading a qif import file. --- src/import-export/qif-imp/assistant-qif-import.c | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/src/import-export/qif-imp/assistant-qif-import.c b/src/import-export/qif-imp/assistant-qif-import.c index 438975702f..941d7467fe 100644 --- a/src/import-export/qif-imp/assistant-qif-import.c +++ b/src/import-export/qif-imp/assistant-qif-import.c @@ -1698,7 +1698,7 @@ gnc_ui_qif_import_load_progress_start_cb(GtkButton * button, SCM parse_results = scm_c_eval_string("qif-file:parse-fields-results"); SCM scm_qiffile; SCM imported_files = SCM_EOL; - SCM load_return, parse_return; + SCM load_return = SCM_BOOL_F, parse_return = SCM_BOOL_F; SCM progress; /* Raise the busy flag so the assistant can't be canceled unexpectedly. */ @@ -1804,11 +1804,15 @@ gnc_ui_qif_import_load_progress_start_cb(GtkButton * button, */ /* This step will fill the remainder of the bar. */ - gnc_progress_dialog_push(wind->load_progress, 1); - parse_return = scm_call_2(qif_file_parse, SCM_CAR(imported_files), progress); - gnc_progress_dialog_pop(wind->load_progress); - wind->ask_date_format = FALSE; - wind->date_format = NULL; + if (!wind->load_stop) + { + gnc_progress_dialog_push(wind->load_progress, 1); + parse_return = scm_call_2(qif_file_parse, SCM_CAR(imported_files), + progress); + gnc_progress_dialog_pop(wind->load_progress); + wind->ask_date_format = FALSE; + wind->date_format = NULL; + } if (parse_return == SCM_BOOL_T) { /* Canceled by the user. */