diff options
-rw-r--r-- | e-util/e-dialog-utils.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/e-util/e-dialog-utils.c b/e-util/e-dialog-utils.c index 19d9030d30..832d1b844a 100644 --- a/e-util/e-dialog-utils.c +++ b/e-util/e-dialog-utils.c @@ -46,6 +46,7 @@ e_notice (gpointer parent, GtkMessageType type, const gchar *format, ...) va_start (args, format); str = g_strdup_vprintf (format, args); + dialog = gtk_message_dialog_new (NULL, GTK_DIALOG_DESTROY_WITH_PARENT, type, @@ -55,8 +56,11 @@ e_notice (gpointer parent, GtkMessageType type, const gchar *format, ...) va_end (args); g_free (str); + if (parent && !gtk_widget_is_toplevel (parent)) + parent = gtk_widget_get_toplevel (parent); if (parent) gtk_window_set_transient_for (GTK_WINDOW (dialog), parent); + gtk_dialog_run (GTK_DIALOG (dialog)); gtk_widget_destroy (dialog); } |