diff options
Diffstat (limited to 'camel/providers')
-rw-r--r-- | camel/providers/imap/camel-imap-store.c | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/camel/providers/imap/camel-imap-store.c b/camel/providers/imap/camel-imap-store.c index dd0ba72964..0ed99e8f8c 100644 --- a/camel/providers/imap/camel-imap-store.c +++ b/camel/providers/imap/camel-imap-store.c @@ -735,10 +735,13 @@ get_subscribed_folders_by_hand (CamelImapStore *imap_store, const char *top, g_ptr_array_free (names, TRUE); return; } - result = camel_imap_response_extract (response, "LIST", ex); + result = camel_imap_response_extract (response, "LIST", NULL); if (!result) { - g_ptr_array_free (names, TRUE); - return; + g_hash_table_remove (imap_store->subscribed_folders, + names->pdata[i]); + g_free (names->pdata[i]); + g_ptr_array_remove_index_fast (names, i--); + continue; } fi = parse_list_response_as_folder_info (imap_store, result); |