From c5386f52cad89e8f6cdc975f8181b5c9a210c49b Mon Sep 17 00:00:00 2001 From: Jeffrey Stedfast Date: Sat, 17 Feb 2001 01:28:43 +0000 Subject: Thaw the defaultfolder. (camel_filter_driver_set_default_folder): Thaw the 2001-02-16 Jeffrey Stedfast * camel-filter-driver.c (camel_filter_driver_finalise): Thaw the defaultfolder. (camel_filter_driver_set_default_folder): Thaw the defaultfolder we're about to replace, and freeze the new defaultfolder. svn path=/trunk/; revision=8259 --- camel/ChangeLog | 7 +++++++ camel/camel-filter-driver.c | 12 +++++++++--- 2 files changed, 16 insertions(+), 3 deletions(-) diff --git a/camel/ChangeLog b/camel/ChangeLog index ff45a526bd..71068702ec 100644 --- a/camel/ChangeLog +++ b/camel/ChangeLog @@ -1,3 +1,10 @@ +2001-02-16 Jeffrey Stedfast + + * camel-filter-driver.c (camel_filter_driver_finalise): Thaw the + defaultfolder. + (camel_filter_driver_set_default_folder): Thaw the defaultfolder + we're about to replace, and freeze the new defaultfolder. + 2001-02-15 Jeffrey Stedfast * providers/vee/camel-vee-folder.c (camel_vee_folder_new): Emit diff --git a/camel/camel-filter-driver.c b/camel/camel-filter-driver.c index 58e8de5412..ede9aa6936 100644 --- a/camel/camel-filter-driver.c +++ b/camel/camel-filter-driver.c @@ -204,8 +204,10 @@ camel_filter_driver_finalise (CamelObject *obj) e_sexp_unref(p->eval); - if (p->defaultfolder) + if (p->defaultfolder) { + camel_folder_thaw (p->defaultfolder); camel_object_unref (CAMEL_OBJECT (p->defaultfolder)); + } while ((node = (struct _filter_rule *)e_dlist_remhead(&p->rules))) { g_free(node->match); @@ -264,13 +266,17 @@ camel_filter_driver_set_default_folder (CamelFilterDriver *d, CamelFolder *def) { struct _CamelFilterDriverPrivate *p = _PRIVATE (d); - if (p->defaultfolder) + if (p->defaultfolder) { + camel_folder_thaw (p->defaultfolder); camel_object_unref (CAMEL_OBJECT (p->defaultfolder)); + } p->defaultfolder = def; - if (p->defaultfolder) + if (p->defaultfolder) { + camel_folder_freeze (p->defaultfolder); camel_object_ref (CAMEL_OBJECT (p->defaultfolder)); + } } void -- cgit v1.2.3