aboutsummaryrefslogtreecommitdiffstats
path: root/e-util/e-dialog-utils.c
diff options
context:
space:
mode:
authorMichael Meeks <michael.meeks@novell.com>2010-05-19 21:41:16 +0800
committerMichael Meeks <michael.meeks@novell.com>2010-05-19 21:41:16 +0800
commit115ae99796dd1988fe1ecc0e1fba90b4f982978d (patch)
tree2f4b9dab096f7b852503f5ed444db4c3e435f3a8 /e-util/e-dialog-utils.c
parentc20b1701e81473504f1d67f6e7387a6f1e5fb856 (diff)
downloadgsoc2013-evolution-115ae99796dd1988fe1ecc0e1fba90b4f982978d.tar
gsoc2013-evolution-115ae99796dd1988fe1ecc0e1fba90b4f982978d.tar.gz
gsoc2013-evolution-115ae99796dd1988fe1ecc0e1fba90b4f982978d.tar.bz2
gsoc2013-evolution-115ae99796dd1988fe1ecc0e1fba90b4f982978d.tar.lz
gsoc2013-evolution-115ae99796dd1988fe1ecc0e1fba90b4f982978d.tar.xz
gsoc2013-evolution-115ae99796dd1988fe1ecc0e1fba90b4f982978d.tar.zst
gsoc2013-evolution-115ae99796dd1988fe1ecc0e1fba90b4f982978d.zip
Find a better transient parent if we are not passed a window; fixes
some transience issues in the calendar dialog re-layout.
Diffstat (limited to 'e-util/e-dialog-utils.c')
-rw-r--r--e-util/e-dialog-utils.c4
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);
}