* this is dirk's version of sergio's patch to only create
[modest] / src / widgets / modest-window-mgr.c
index aa654f4..0451e9f 100644 (file)
@@ -682,7 +682,7 @@ modest_window_mgr_unregister_window (ModestWindowMgr *self,
        /* Remove the viewer window handler from the hash table. The
           HashTable could not exist if the main window was closeed
           when there were other windows remaining */
-       if (MODEST_IS_MSG_VIEW_WINDOW (window) && priv->viewaer_handlers) {
+       if (MODEST_IS_MSG_VIEW_WINDOW (window) && priv->viewer_handlers) {
                tmp = (gulong *) g_hash_table_lookup (priv->viewer_handlers, window);
                /* If the viewer was created without a main window
                   (for example when opening a message through D-Bus
@@ -815,7 +815,7 @@ modest_window_mgr_show_toolbars (ModestWindowMgr *self,
 }
 
 ModestWindow*  
-modest_window_mgr_get_main_window (ModestWindowMgr *self)
+modest_window_mgr_get_main_window (ModestWindowMgr *self, gboolean create)
 {
        ModestWindowMgrPrivate *priv;
        
@@ -823,7 +823,7 @@ modest_window_mgr_get_main_window (ModestWindowMgr *self)
        priv = MODEST_WINDOW_MGR_GET_PRIVATE (self);
        
        /* create the main window, if it hasn't been created yet */
-       if (!priv->main_window) {
+       if (!priv->main_window && create) {
                /* modest_window_mgr_register_window will set priv->main_window */
                modest_window_mgr_register_window (self, modest_main_window_new ());
                g_debug ("%s: created main window: %p\n", __FUNCTION__, priv->main_window);
@@ -833,6 +833,18 @@ modest_window_mgr_get_main_window (ModestWindowMgr *self)
 }
 
 
+gboolean
+modest_window_mgr_main_window_exists  (ModestWindowMgr *self)
+{
+       ModestWindowMgrPrivate *priv;
+       
+       g_return_val_if_fail (MODEST_IS_WINDOW_MGR (self), FALSE);
+       priv = MODEST_WINDOW_MGR_GET_PRIVATE (self);
+
+       return priv->main_window != NULL;
+}
+
+
 GtkWindow *
 modest_window_mgr_get_modal (ModestWindowMgr *self)
 {