diff options
-rw-r--r-- | camel/ChangeLog | 7 | ||||
-rw-r--r-- | 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 <fejj@ximian.com> + + * 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 <fejj@ximian.com> * 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 |