From fedf164cb97afe53eab3e3e4fcfb1765e89a61b5 Mon Sep 17 00:00:00 2001 From: 9 Date: Mon, 29 Oct 2001 05:06:28 +0000 Subject: Copy the folder's full_name before trying to use it to rename. 2001-10-29 * mail-vfolder.c (rule_changed): Copy the folder's full_name before trying to use it to rename. (vfolder_edit_rule): Set 'orig' to be a reference of the original rule. (edit_rule_clicked): Dont lookup orig by name, copy it over instead. * folder-browser.c (got_folder): oops, emit signal before unreffing object, incase we got killded during getting folder. (got_folder): Reset get_id. (folder_browser_new): Set get_id of the get_folder task. (folder_browser_init): Init get_id. (folder_browser_destroy): IF we have outstanding 'get folder' op, cancel it. svn path=/trunk/; revision=14323 --- mail/mail-folder-cache.c | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) (limited to 'mail/mail-folder-cache.c') diff --git a/mail/mail-folder-cache.c b/mail/mail-folder-cache.c index 3ef602eda0..732a9dadb5 100644 --- a/mail/mail-folder-cache.c +++ b/mail/mail-folder-cache.c @@ -47,7 +47,7 @@ #include "mail-vfolder.h" #include "mail-autofilter.h" -#define d(x) +#define d(x) x /* note that many things are effectively serialised by having them run in the main loop thread which they need to do because of corba/gtk calls */ @@ -161,13 +161,16 @@ real_flush_updates(void *o, void *event_data, void *data) } else { /* Its really a rename, but we have no way of telling the shell that, so remove it */ if (up->oldpath) { - if (storage != NULL) + if (storage != NULL) { + printf("Removing old folder (rename?) '%s'\n", up->oldpath); evolution_storage_removed_folder(storage, up->oldpath); + } /* ELSE? Shell supposed to handle the local snot case */ } /* We can tell the vfolder code though */ if (up->olduri && up->add) { + printf("renaming folder '%s' to '%s'\n", up->olduri, up->uri); mail_vfolder_rename_uri(up->store, up->olduri, up->uri); mail_filter_rename_uri(up->store, up->olduri, up->uri); } @@ -590,7 +593,7 @@ store_folder_renamed(CamelObject *o, void *event_data, void *data) CamelRenameInfo *info = event_data; struct _store_info *si; - d(printf("Folder renamed?\n")); + d(printf("Folder renamed: oldbase = '%s' new->full = '%s'\n", info->old_base, info->new->full_name)); LOCK(info_lock); si = g_hash_table_lookup(stores, store); -- cgit v1.2.3