aboutsummaryrefslogtreecommitdiffstats
path: root/mail/component-factory.c
diff options
context:
space:
mode:
authorJeffrey Stedfast <fejj@ximian.com>2001-03-19 12:16:40 +0800
committerJeffrey Stedfast <fejj@src.gnome.org>2001-03-19 12:16:40 +0800
commit02adc1ca5f80cddea6e4b42bd7519b23f299bd50 (patch)
treedccad398dcfad6d4d3c2a59a35064d5ad11a28d1 /mail/component-factory.c
parentd19d151d29c6812c50e7434280e75160d85be1e0 (diff)
downloadgsoc2013-evolution-02adc1ca5f80cddea6e4b42bd7519b23f299bd50.tar
gsoc2013-evolution-02adc1ca5f80cddea6e4b42bd7519b23f299bd50.tar.gz
gsoc2013-evolution-02adc1ca5f80cddea6e4b42bd7519b23f299bd50.tar.bz2
gsoc2013-evolution-02adc1ca5f80cddea6e4b42bd7519b23f299bd50.tar.lz
gsoc2013-evolution-02adc1ca5f80cddea6e4b42bd7519b23f299bd50.tar.xz
gsoc2013-evolution-02adc1ca5f80cddea6e4b42bd7519b23f299bd50.tar.zst
gsoc2013-evolution-02adc1ca5f80cddea6e4b42bd7519b23f299bd50.zip
unref the standard folders. (owner_set_cb): Use g_atexit() to call
2001-03-18 Jeffrey Stedfast <fejj@ximian.com> * component-factory.c (unref_standard_folders): unref the standard folders. (owner_set_cb): Use g_atexit() to call unref_standard_folders() when evolution-mail exits. This should solve the problem where these folders are not synced when evolution-mail closes (because they still had refs on them on close). svn path=/trunk/; revision=8814
Diffstat (limited to 'mail/component-factory.c')
-rw-r--r--mail/component-factory.c13
1 files changed, 13 insertions, 0 deletions
diff --git a/mail/component-factory.c b/mail/component-factory.c
index c1ed7119f4..8aa12b1e7d 100644
--- a/mail/component-factory.c
+++ b/mail/component-factory.c
@@ -165,6 +165,17 @@ static struct {
};
static void
+unref_standard_folders (void)
+{
+ int i;
+
+ for (i = 0; i < sizeof (standard_folders) / sizeof (standard_folders[0]); i++) {
+ if (standard_folders[i].folder)
+ camel_object_unref (CAMEL_OBJECT (standard_folders[i].folder));
+ }
+}
+
+static void
got_folder (char *uri, CamelFolder *folder, void *data)
{
CamelFolder **fp = data;
@@ -220,6 +231,8 @@ owner_set_cb (EvolutionShellComponent *shell_component,
g_free (uri);
}
+ g_atexit (unref_standard_folders);
+
mail_session_enable_interaction (TRUE);
mail_autoreceive_setup ();