diff options
author | 8 <NotZed@Ximian.com> | 2001-10-19 08:45:02 +0800 |
---|---|---|
committer | Michael Zucci <zucchi@src.gnome.org> | 2001-10-19 08:45:02 +0800 |
commit | ae5590f88d2a2a7097d3f47b09ab96a9c2059a05 (patch) | |
tree | 72becf18c0ba7bafd92a07eed7954bedd26a133a /mail/component-factory.c | |
parent | ae6f93814ac620833fe9e7c7684b51a1ef01ea11 (diff) | |
download | gsoc2013-evolution-ae5590f88d2a2a7097d3f47b09ab96a9c2059a05.tar.gz gsoc2013-evolution-ae5590f88d2a2a7097d3f47b09ab96a9c2059a05.tar.zst gsoc2013-evolution-ae5590f88d2a2a7097d3f47b09ab96a9c2059a05.zip |
Added remove flag - its not adduri, its removeuri, its less typing than
2001-10-18 <NotZed@Ximian.com>
* mail-vfolder.c (vfolder_adduri): Added remove flag - its not
adduri, its removeuri, its less typing than creating a removeuri.
(vfolder_adduri_do): Implement the remove flag.
(mail_vfolder_remove_uri): Changed to mail_vfolder_delte_uri, to
indicate its actually been deleted.
(mail_vfolder_add_uri): Added remove flag.
(rule_changed): When adding existing folders to a new rule, strdup
the list data.
* mail-folder-cache.c (store_finalised): Unhook from all events
when done.
(mail_note_store_remove): Remove a store from being noted.
(free_folder_info): Also if we have a folder, unhook all events.
Also remove the uri from vfolders.
(mail_note_folder): Remove warning about adding folders to stores
that aren't added yet - we might actually be removing the store.
* component-factory.c (mail_remove_storage): Call
mail_note_store_remove when we remove the storage.
svn path=/trunk/; revision=13782
Diffstat (limited to 'mail/component-factory.c')
-rw-r--r-- | mail/component-factory.c | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/mail/component-factory.c b/mail/component-factory.c index 52f249b840..64e92101a9 100644 --- a/mail/component-factory.c +++ b/mail/component-factory.c @@ -130,11 +130,8 @@ storage_activate (BonoboControl *control, gboolean activate, camel_exception_clear (&ex); storage = g_hash_table_lookup (storages_hash, store); - if (storage && - !gtk_object_get_data (GTK_OBJECT (storage), "connected")) { - mail_note_store (CAMEL_STORE(store), storage, - CORBA_OBJECT_NIL, NULL, NULL); - } + if (storage && !gtk_object_get_data (GTK_OBJECT (storage), "connected")) + mail_note_store (CAMEL_STORE(store), storage, CORBA_OBJECT_NIL, NULL, NULL); camel_object_unref (CAMEL_OBJECT (store)); } @@ -1207,6 +1204,10 @@ mail_remove_storage (CamelStore *store) storage = g_hash_table_lookup (storages_hash, store); g_hash_table_remove (storages_hash, store); + + /* so i guess potentially we could have a race, add a store while one + being removed. ?? */ + mail_note_store_remove(store); shell_client = evolution_shell_component_get_owner (shell_component); corba_shell = bonobo_object_corba_objref (BONOBO_OBJECT (shell_client)); |