diff options
-rw-r--r-- | camel/ChangeLog | 13 | ||||
-rw-r--r-- | camel/camel-mime-filter-index.c | 1 | ||||
-rw-r--r-- | camel/camel-text-index.c | 8 |
3 files changed, 18 insertions, 4 deletions
diff --git a/camel/ChangeLog b/camel/ChangeLog index 040b2ab638..23ae418cbe 100644 --- a/camel/ChangeLog +++ b/camel/ChangeLog @@ -1,3 +1,16 @@ +2002-08-19 Peter Williams <peterw@ximian.com> + + Plug some large leaks in the indexing code. + + * camel-mime-filter-index.c (camel_mime_filter_index_set_index): Unref + the old index if necessary. + + * camel-text-index.c (camel_text_index_get_type): Give it the correct + parent type so that finalize handlers chain. + (camel_text_index_name_get_type): Here too. + (camel_text_index_cursor_get_type): Here too. + (camel_text_index_key_cursor_get_type): Here too. + 2002-08-20 Jeffrey Stedfast <fejj@ximian.com> * providers/imap/camel-imap-store.c (get_folders): Don't let the diff --git a/camel/camel-mime-filter-index.c b/camel/camel-mime-filter-index.c index e9df08072b..6648abf860 100644 --- a/camel/camel-mime-filter-index.c +++ b/camel/camel-mime-filter-index.c @@ -145,6 +145,7 @@ void camel_mime_filter_index_set_index (CamelMimeFilterIndex *mf, CamelIndex *in size_t outlen, outspace; camel_mime_filter_complete((CamelMimeFilter *)mf, "", 0, 0, &out, &outlen, &outspace); + camel_object_unref ((CamelObject *)index); } mf->index = index; diff --git a/camel/camel-text-index.c b/camel/camel-text-index.c index 8a5ab05bf6..046c5a98de 100644 --- a/camel/camel-text-index.c +++ b/camel/camel-text-index.c @@ -784,7 +784,7 @@ camel_text_index_get_type(void) static CamelType type = CAMEL_INVALID_TYPE; if (type == CAMEL_INVALID_TYPE) { - type = camel_type_register(camel_object_get_type(), "CamelTextIndex", + type = camel_type_register(camel_index_get_type(), "CamelTextIndex", sizeof (CamelTextIndex), sizeof (CamelTextIndexClass), (CamelObjectClassInitFunc) camel_text_index_class_init, @@ -1504,7 +1504,7 @@ camel_text_index_name_get_type(void) static CamelType type = CAMEL_INVALID_TYPE; if (type == CAMEL_INVALID_TYPE) { - type = camel_type_register(camel_object_get_type(), "CamelTextIndexName", + type = camel_type_register(camel_index_name_get_type(), "CamelTextIndexName", sizeof (CamelTextIndexName), sizeof (CamelTextIndexNameClass), (CamelObjectClassInitFunc) camel_text_index_name_class_init, @@ -1620,7 +1620,7 @@ camel_text_index_cursor_get_type(void) static CamelType type = CAMEL_INVALID_TYPE; if (type == CAMEL_INVALID_TYPE) { - type = camel_type_register(camel_object_get_type(), "CamelTextIndexCursor", + type = camel_type_register(camel_index_cursor_get_type(), "CamelTextIndexCursor", sizeof (CamelTextIndexCursor), sizeof (CamelTextIndexCursorClass), (CamelObjectClassInitFunc) camel_text_index_cursor_class_init, @@ -1732,7 +1732,7 @@ camel_text_index_key_cursor_get_type(void) static CamelType type = CAMEL_INVALID_TYPE; if (type == CAMEL_INVALID_TYPE) { - type = camel_type_register(camel_object_get_type(), "CamelTextIndexKeyCursor", + type = camel_type_register(camel_index_cursor_get_type(), "CamelTextIndexKeyCursor", sizeof (CamelTextIndexKeyCursor), sizeof (CamelTextIndexKeyCursorClass), (CamelObjectClassInitFunc) camel_text_index_key_cursor_class_init, |