diff --git a/gnucash/gnome-utils/gnc-gnome-utils.c b/gnucash/gnome-utils/gnc-gnome-utils.c index 66900501ed..b9066ab356 100644 --- a/gnucash/gnome-utils/gnc-gnome-utils.c +++ b/gnucash/gnome-utils/gnc-gnome-utils.c @@ -458,7 +458,7 @@ gnc_gnome_help (const char *file_name, const char *anchor) * toolkit. */ void -gnc_launch_assoc (const char *uri) +gnc_launch_assoc (GtkWindow *parent, const char *uri) { NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init]; NSString *uri_str = [NSString stringWithUTF8String: uri]; @@ -473,14 +473,14 @@ gnc_launch_assoc (const char *uri) return; } - gnc_error_dialog(NULL, "%s", message); + gnc_error_dialog(parent, "%s", message); [pool release]; return; } #elif defined G_OS_WIN32 /* G_OS_WIN32 */ void -gnc_launch_assoc (const char *uri) +gnc_launch_assoc (GtkWindow *parent, const char *uri) { wchar_t *winuri = NULL; gchar *filename = NULL; @@ -506,7 +506,7 @@ gnc_launch_assoc (const char *uri) { const gchar *message = _("GnuCash could not find the associated file"); - gnc_error_dialog(NULL, "%s:\n%s", message, filename); + gnc_error_dialog(parent, "%s:\n%s", message, filename); } g_free (wincmd); g_free (winuri); @@ -516,7 +516,7 @@ gnc_launch_assoc (const char *uri) #else void -gnc_launch_assoc (const char *uri) +gnc_launch_assoc (GtkWindow *parent, const char *uri) { GError *error = NULL; gboolean success; @@ -550,7 +550,7 @@ gnc_launch_assoc (const char *uri) else error_uri = g_strdup (uri); - gnc_error_dialog(NULL, "%s\n%s", message, error_uri); + gnc_error_dialog(parent, "%s\n%s", message, error_uri); g_free (error_uri); } PERR ("%s", error->message); diff --git a/gnucash/gnome-utils/gnc-gnome-utils.h b/gnucash/gnome-utils/gnc-gnome-utils.h index d0ffe2e881..75fcf12261 100644 --- a/gnucash/gnome-utils/gnc-gnome-utils.h +++ b/gnucash/gnome-utils/gnc-gnome-utils.h @@ -58,13 +58,13 @@ void gnc_gnome_help (const char *file_name, const char *anchor); /** Launch the default gnome browser and open the provided URI. */ -void gnc_launch_assoc (const char *uri); +void gnc_launch_assoc (GtkWindow *parent, const char *uri); /** Set the help callback to 'gnc_book_options_help_cb' to open a help browser * and point it to the Book Options link in the Help file. */ void gnc_options_dialog_set_book_options_help_cb (GNCOptionWin *win); - + /** Set the initial values of new book options to values specified in user * preferences. */ diff --git a/gnucash/gnome-utils/gnc-main-window.c b/gnucash/gnome-utils/gnc-main-window.c index 6b1e69f05a..bc9a38e366 100644 --- a/gnucash/gnome-utils/gnc-main-window.c +++ b/gnucash/gnome-utils/gnc-main-window.c @@ -4449,7 +4449,7 @@ get_file_strsplit (const gchar *partial) static gboolean url_signal_cb (GtkAboutDialog *dialog, gchar *uri, gpointer data) { - gnc_launch_assoc (uri); + gnc_launch_assoc (GTK_WINDOW(dialog), uri); return TRUE; } diff --git a/gnucash/gnome/dialog-trans-assoc.c b/gnucash/gnome/dialog-trans-assoc.c index 5db3fc239b..fbb9a00aec 100644 --- a/gnucash/gnome/dialog-trans-assoc.c +++ b/gnucash/gnome/dialog-trans-assoc.c @@ -303,7 +303,7 @@ row_selected_cb (GtkTreeView *view, GtkTreePath *path, if (uri_out_scheme) // make sure we have a scheme entry { - gnc_launch_assoc (uri_out); + gnc_launch_assoc (gnc_ui_get_gtk_window(GTK_WIDGET (view)), uri_out); g_free (uri_out_scheme); } else diff --git a/gnucash/gnome/gnc-split-reg.c b/gnucash/gnome/gnc-split-reg.c index 6a30ca8803..84071323c5 100644 --- a/gnucash/gnome/gnc-split-reg.c +++ b/gnucash/gnome/gnc-split-reg.c @@ -1368,7 +1368,7 @@ gsr_default_execassociated_handler (GNCSplitReg *gsr, gpointer data) if (uri_scheme) // make sure we have a scheme entry { - gnc_launch_assoc (run_uri); + gnc_launch_assoc (GTK_WINDOW (gsr->window), run_uri); g_free (uri_scheme); } else