* Changes in the autotools stuff affecting a lot of platform dependent
[modest] / src / widgets / modest-window-mgr.c
index 1fefe35..fb88abf 100644 (file)
@@ -330,7 +330,7 @@ remove_uid (GSList *list, const gchar *uid)
        GSList *cursor = list, *start = list;
        
        if (!uid)
-               return FALSE;
+               return list;
        
        while (cursor) {
                GSList *next = g_slist_next (cursor);
@@ -546,7 +546,7 @@ get_show_toolbar_key (GType window_type,
        return key;
 }
 
-#ifdef MODEST_PLATFORM_MAEMO
+#ifndef MODEST_TOOLKIT_GTK
 static void
 on_window_is_topmost (GObject    *gobject,
                      GParamSpec *arg1,
@@ -672,7 +672,7 @@ modest_window_mgr_register_window (ModestWindowMgr *self,
        /* Listen to window state changes. Unfortunately
           window-state-event does not properly work for the Maemo
           version, so we need to use is-topmost and the ifdef */
-#ifdef MODEST_PLATFORM_MAEMO
+#ifndef MODEST_TOOLKIT_GTK
        priv->window_state_uids = 
                modest_signal_mgr_connect (priv->window_state_uids, 
                                           G_OBJECT (window), 
@@ -904,7 +904,7 @@ modest_window_mgr_unregister_window (ModestWindowMgr *self,
 
        /* Disconnect the "window-state-event" handler, we won't need it anymore */
        if (priv->window_state_uids) {
-#ifdef MODEST_PLATFORM_MAEMO
+#ifndef MODEST_TOOLKIT_GTK
                priv->window_state_uids = 
                        modest_signal_mgr_disconnect (priv->window_state_uids, 
                                                      G_OBJECT (window), 
@@ -1237,6 +1237,10 @@ idle_top_modal (gpointer data)
        if (topmost) {
                gdk_threads_enter ();
                gtk_window_present (topmost);
+               /* It seems that the window looses modality if some
+                  other is shown on top of it after set_transient_for
+                  and set_parent */
+               gtk_window_set_modal (topmost, TRUE);
                gdk_threads_leave ();
        }