From 641925f2d0b7fc54824b7b05136ada0bd605da6f Mon Sep 17 00:00:00 2001 From: Robert Fewell <14uBobIT@gmail.com> Date: Tue, 7 Aug 2018 10:31:13 +0100 Subject: [PATCH] Bug 796792 - SaveAs Overwrite dialogue in background and not visible Firstly the wrong parent was being used for these secondary warning messages, should be the dialogue and not the main Gnucash application so these have been changed. Also some of these secondary warning dialogues still had NULL as the parent and so the transient parent warning would occur, added parent. --- gnucash/gnome-utils/dialog-file-access.c | 6 +++--- gnucash/gnome-utils/gnc-file.c | 10 +++++----- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/gnucash/gnome-utils/dialog-file-access.c b/gnucash/gnome-utils/dialog-file-access.c index ce8860202a..3126d3b71e 100644 --- a/gnucash/gnome-utils/dialog-file-access.c +++ b/gnucash/gnome-utils/dialog-file-access.c @@ -146,15 +146,15 @@ gnc_ui_file_access_response_cb(GtkDialog *dialog, gint response, GtkDialog *unus gboolean open_readonly = faw->readonly_checkbutton ? gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(faw->readonly_checkbutton)) : FALSE; - gnc_file_open_file (gnc_ui_get_main_window (GTK_WIDGET (dialog)), url, open_readonly); + gnc_file_open_file (GTK_WINDOW(dialog), url, open_readonly); } else if ( faw->type == FILE_ACCESS_SAVE_AS ) { - gnc_file_do_save_as (gnc_ui_get_main_window (GTK_WIDGET (dialog)), url); + gnc_file_do_save_as (GTK_WINDOW(dialog), url); } else if ( faw->type == FILE_ACCESS_EXPORT ) { - gnc_file_do_export (gnc_ui_get_main_window (GTK_WIDGET (dialog)), url); + gnc_file_do_export (GTK_WINDOW(dialog), url); } break; diff --git a/gnucash/gnome-utils/gnc-file.c b/gnucash/gnome-utils/gnc-file.c index 72dddbef39..840601e889 100644 --- a/gnucash/gnome-utils/gnc-file.c +++ b/gnucash/gnome-utils/gnc-file.c @@ -1019,7 +1019,7 @@ RESTART: { gchar *message = gnc_account_name_violations_errmsg ( gnc_get_account_separator_string(), invalid_account_names ); - gnc_warning_dialog(NULL, "%s", message); + gnc_warning_dialog(parent, "%s", message); g_free ( message ); } return TRUE; @@ -1234,7 +1234,7 @@ gnc_file_do_export(GtkWindow *parent, const char * filename) else name = gnc_uri_normalize_uri ( newfile, FALSE ); /* if user says cancel, we should break out */ - if (!gnc_verify_dialog (NULL, FALSE, format, name)) + if (!gnc_verify_dialog (parent, FALSE, format, name)) { return; } @@ -1269,7 +1269,7 @@ gnc_file_do_export(GtkWindow *parent, const char * filename) /* %s is the strerror(3) error string of the error that occurred. */ const char *format = _("There was an error saving the file.\n\n%s"); - gnc_error_dialog (NULL, format, strerror(errno)); + gnc_error_dialog (parent, format, strerror(errno)); return; } } @@ -1471,7 +1471,7 @@ gnc_file_do_save_as (GtkWindow *parent, const char* filename) name = gnc_uri_normalize_uri ( newfile, FALSE ); /* if user says cancel, we should break out */ - if (!gnc_verify_dialog (NULL, FALSE, format, name )) + if (!gnc_verify_dialog (parent, FALSE, format, name )) { xaccLogDisable(); qof_session_destroy (new_session); @@ -1600,7 +1600,7 @@ gnc_file_revert (GtkWindow *parent) else filename = fileurl; - if (!gnc_verify_dialog (NULL, FALSE, title, filename)) + if (!gnc_verify_dialog (parent, FALSE, title, filename)) return; qof_book_mark_session_saved (qof_session_get_book (session));