* Fixes NB#90762, initialize and free a private field
[modest] / src / widgets / modest-window-mgr.c
index da7aa86..6da29ad 100644 (file)
@@ -61,7 +61,7 @@ static GtkWindow *modest_window_mgr_get_modal_default (ModestWindowMgr *self);
 static void modest_window_mgr_set_modal_default (ModestWindowMgr *self, 
                                                 GtkWindow *window,
                                                 GtkWindow *parent);
-static void modest_window_mgr_close_all_windows_default (ModestWindowMgr *self);
+static gboolean modest_window_mgr_close_all_windows_default (ModestWindowMgr *self);
 static gboolean modest_window_mgr_find_registered_header_default (ModestWindowMgr *self, 
                                                                  TnyHeader *header,
                                                                  ModestWindow **win);
@@ -217,6 +217,8 @@ modest_window_mgr_init (ModestWindowMgr *obj)
 
        priv->cached_view = NULL;
        priv->cached_editor = NULL;
+
+       priv->windows_that_prevent_hibernation = NULL;
 }
 
 static void
@@ -243,6 +245,11 @@ modest_window_mgr_finalize (GObject *obj)
                priv->cached_editor = NULL;
        }
 
+       if (priv->windows_that_prevent_hibernation) {
+               g_slist_free (priv->windows_that_prevent_hibernation);
+               priv->cached_editor = NULL;
+       }
+
        g_slist_foreach (priv->preregistered_uids, (GFunc)g_free, NULL);
        g_slist_free (priv->preregistered_uids);
 
@@ -385,16 +392,16 @@ modest_window_mgr_get_help_id (ModestWindowMgr *self, GtkWindow *win)
        return g_object_get_data (G_OBJECT(win), MODEST_WINDOW_HELP_ID_PARAM);
 }
 
-void
+gboolean
 modest_window_mgr_close_all_windows (ModestWindowMgr *self)
 {
-       MODEST_WINDOW_MGR_GET_CLASS (self)->close_all_windows (self);
+       return MODEST_WINDOW_MGR_GET_CLASS (self)->close_all_windows (self);
 }
 
-static void
+static gboolean
 modest_window_mgr_close_all_windows_default (ModestWindowMgr *self)
 {
-       return ;
+       return TRUE;
 }