aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--mail/ChangeLog6
-rw-r--r--mail/mail-component.c4
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);
}