diff options
-rw-r--r-- | camel/ChangeLog | 7 | ||||
-rw-r--r-- | camel/camel-store.c | 17 | ||||
-rw-r--r-- | camel/providers/imap/camel-imap-store.c | 2 |
3 files changed, 11 insertions, 15 deletions
diff --git a/camel/ChangeLog b/camel/ChangeLog index 4c3c8045e0..1d77f1341e 100644 --- a/camel/ChangeLog +++ b/camel/ChangeLog @@ -1,3 +1,10 @@ +2002-09-30 Jeffrey Stedfast <fejj@ximian.com> + + * camel-store.c (camel_folder_info_build): Don't strip the + namespace from the fi->full_name when hasing or creating fake + parent folders. Fixes a bug I found while trying to reproduce bug + #31456. + 2002-09-30 Not Zed <NotZed@Ximian.com> * providers/imap/camel-imap-folder.c (imap_get_message): Remove diff --git a/camel/camel-store.c b/camel/camel-store.c index 1987ea4ddd..f7ae7cba78 100644 --- a/camel/camel-store.c +++ b/camel/camel-store.c @@ -874,25 +874,14 @@ camel_folder_info_build (GPtrArray *folders, const char *namespace, hash = g_hash_table_new (g_str_hash, g_str_equal); for (i = 0; i < folders->len; i++) { fi = folders->pdata[i]; - if (!strncmp (namespace, fi->full_name, nlen)) - name = fi->full_name + nlen; - else - name = fi->full_name; - if (*name == separator) - name++; - g_hash_table_insert (hash, name, fi); + g_hash_table_insert (hash, fi->full_name, fi); } /* Now find parents. */ for (i = 0; i < folders->len; i++) { fi = folders->pdata[i]; - if (!strncmp (namespace, fi->full_name, nlen)) - name = fi->full_name + nlen; - else - name = fi->full_name; - if (*name == separator) - name++; - + name = fi->full_name; + /* set the path if it isn't already set */ if (!fi->path) camel_folder_info_build_path (fi, separator); diff --git a/camel/providers/imap/camel-imap-store.c b/camel/providers/imap/camel-imap-store.c index f854d78a11..215f15f279 100644 --- a/camel/providers/imap/camel-imap-store.c +++ b/camel/providers/imap/camel-imap-store.c @@ -911,7 +911,7 @@ imap_forget_folder (CamelImapStore *imap_store, const char *folder_name, CamelEx unlink (summary_file); g_free (summary_file); - + journal_file = g_strdup_printf ("%s/summary", folder_dir); unlink (journal_file); g_free (journal_file); |