On receiving dbus ui calls, if we have a modal dialog on top,
authorJosé Dapena Paz <jdapena@igalia.com>
Wed, 10 Feb 2010 17:04:30 +0000 (18:04 +0100)
committerJosé Dapena Paz <jdapena@igalia.com>
Wed, 10 Feb 2010 17:09:24 +0000 (18:09 +0100)
raise modest properly.

Fixes NB#156458.

src/dbus_api/modest-dbus-callbacks.c

index e5727f5..6f41480 100644 (file)
@@ -1531,8 +1531,17 @@ on_idle_show_memory_low (gpointer user_data)
 static gboolean
 on_idle_present_modal (gpointer user_data)
 {
+       GtkWindow *current, *transient;
        gdk_threads_enter ();
-       gtk_window_present (user_data);
+       current = (GtkWindow *) user_data;
+       while (GTK_IS_DIALOG (current)) {
+               transient = gtk_window_get_transient_for (GTK_WINDOW (current));
+               if (transient == NULL)
+                       break;
+               else
+                       current = transient;
+       }
+       gtk_window_present (current);
        gdk_threads_leave ();
 
        return FALSE;