diff options
Diffstat (limited to 'mail')
-rw-r--r-- | mail/ChangeLog | 6 | ||||
-rw-r--r-- | mail/mail-component.c | 4 |
2 files changed, 8 insertions, 2 deletions
diff --git a/mail/ChangeLog b/mail/ChangeLog index c45feeab48..fcdc80d10b 100644 --- a/mail/ChangeLog +++ b/mail/ChangeLog @@ -1,3 +1,9 @@ +2006-05-04 Jeffrey Stedfast <fejj@novell.com> + + * mail-component.c (mail_component_remove_store): Ref the store + before removing the store from our hash and cache. Should fix + Novell bug #166987. + 2006-04-30 Shi Pu <shi.pu@sun.com> ** Fixes bug #323853 diff --git a/mail/mail-component.c b/mail/mail-component.c index c6c6298a1c..9f48497891 100644 --- a/mail/mail-component.c +++ b/mail/mail-component.c @@ -1231,6 +1231,7 @@ mail_component_remove_store (MailComponent *component, CamelStore *store) if (!(si = g_hash_table_lookup (priv->store_hash, store))) return; + camel_object_ref (store); g_hash_table_remove (priv->store_hash, store); si->removed = 1; store_info_unref(si); @@ -1240,8 +1241,7 @@ mail_component_remove_store (MailComponent *component, CamelStore *store) mail_note_store_remove (store); em_folder_tree_model_remove_store (priv->model, store); - - camel_object_ref(store); + mail_async_event_emit (priv->async_event, MAIL_ASYNC_THREAD, (MailAsyncFunc) store_disconnect, store, NULL, NULL); } |