aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--mail/ChangeLog11
-rw-r--r--mail/mail-folder-cache.c15
2 files changed, 12 insertions, 14 deletions
diff --git a/mail/ChangeLog b/mail/ChangeLog
index 3c2a38f0ec..1fe82f5790 100644
--- a/mail/ChangeLog
+++ b/mail/ChangeLog
@@ -1,3 +1,13 @@
+2002-07-01 Not Zed <NotZed@Ximian.com>
+
+ * mail-folder-cache.c (folder_deleted): Removed. The
+ folder's deleted event isn't needed since we're listening to the
+ store's folder_deleted signal. Also, the code was wrong, it
+ cleared the folder without disconnecting events, etc. See #16486,
+ and probably others.
+ (mail_note_folder): Dont hook onto deleted anymore.
+ (unset_folder_info): Or unhook from it.
+
2002-06-28 Jeffrey Stedfast <fejj@ximian.com>
* component-factory.c (mail_load_storages): Don't skip over
@@ -73,6 +83,7 @@
* mail-format.c (handle_multipart_signed): Use the new gpg cipher
context.
+>>>>>>> 1.2235
2002-06-18 Jeffrey Stedfast <fejj@ximian.com>
* message-list.c (message_list_change_first_visible_parent): New
diff --git a/mail/mail-folder-cache.c b/mail/mail-folder-cache.c
index 4ceb61b16a..8b55601f7a 100644
--- a/mail/mail-folder-cache.c
+++ b/mail/mail-folder-cache.c
@@ -227,7 +227,6 @@ unset_folder_info(struct _folder_info *mfi, int delete)
camel_object_unhook_event((CamelObject *)folder, "folder_changed", folder_changed, mfi);
camel_object_unhook_event((CamelObject *)folder, "message_changed", folder_changed, mfi);
- camel_object_unhook_event((CamelObject *)folder, "deleted", folder_deleted, mfi);
camel_object_unhook_event((CamelObject *)folder, "renamed", folder_renamed, mfi);
camel_object_unhook_event((CamelObject *)folder, "finalize", folder_finalised, mfi);
}
@@ -393,17 +392,6 @@ folder_finalised(CamelObject *o, gpointer event_data, gpointer user_data)
}
static void
-folder_deleted(CamelObject *o, gpointer event_data, gpointer user_data)
-{
- struct _folder_info *mfi = user_data;
-
- d(printf("Folder deleted '%s'!\n", ((CamelFolder *)o)->full_name));
- LOCK(info_lock);
- mfi->folder = NULL;
- UNLOCK(info_lock);
-}
-
-static void
folder_renamed(CamelObject *o, gpointer event_data, gpointer user_data)
{
struct _folder_info *mfi = user_data;
@@ -454,7 +442,6 @@ void mail_note_folder(CamelFolder *folder)
camel_object_hook_event((CamelObject *)folder, "folder_changed", folder_changed, mfi);
camel_object_hook_event((CamelObject *)folder, "message_changed", folder_changed, mfi);
- camel_object_hook_event((CamelObject *)folder, "deleted", folder_deleted, mfi);
camel_object_hook_event((CamelObject *)folder, "renamed", folder_renamed, mfi);
camel_object_hook_event((CamelObject *)folder, "finalize", folder_finalised, mfi);
@@ -494,7 +481,7 @@ store_folder_unsubscribed(CamelObject *o, void *event_data, void *data)
struct _folder_info *mfi;
CamelStore *store = (CamelStore *)o;
- d(printf("Folder deleted: %s\n", fi->full_name));
+ d(printf("Store Folder deleted: %s\n", fi->full_name));
LOCK(info_lock);
si = g_hash_table_lookup(stores, store);