aboutsummaryrefslogtreecommitdiffstats
path: root/camel
diff options
context:
space:
mode:
Diffstat (limited to 'camel')
-rw-r--r--camel/ChangeLog7
-rw-r--r--camel/providers/imap/camel-imap-folder.c12
2 files changed, 16 insertions, 3 deletions
diff --git a/camel/ChangeLog b/camel/ChangeLog
index ea8e16e36b..6a0b9c8cd4 100644
--- a/camel/ChangeLog
+++ b/camel/ChangeLog
@@ -3,6 +3,13 @@
* providers/imap/camel-imap-folder.c (camel_imap_folder_init): Set
some default permanent_flags. This is the other cause of bug
#28038.
+ (imap_refresh_info): After calling camel_imap_command() with a
+ NULL format value (this is a shortcut to change the current_folder
+ by SELECTing it), call camel_imap_folder_selected(). This may have
+ been why permanent_flags never got set on the folder even after
+ going online in bug #28038.
+ (imap_update_summary): Same here. Also NULL-guard
+ camel_imap_response_free().
2002-08-07 Jeffrey Stedfast <fejj@ximian.com>
diff --git a/camel/providers/imap/camel-imap-folder.c b/camel/providers/imap/camel-imap-folder.c
index 9e390800f4..7976c7d19e 100644
--- a/camel/providers/imap/camel-imap-folder.c
+++ b/camel/providers/imap/camel-imap-folder.c
@@ -473,13 +473,16 @@ imap_refresh_info (CamelFolder *folder, CamelException *ex)
}
/* If the folder isn't selected, select it (which will force
- * a rescan if one is needed.
+ * a rescan if one is needed).
*/
CAMEL_IMAP_STORE_LOCK (imap_store, command_lock);
if (imap_store->current_folder != folder) {
CAMEL_IMAP_STORE_UNLOCK (imap_store, command_lock);
response = camel_imap_command (imap_store, folder, ex, NULL);
- camel_imap_response_free (imap_store, response);
+ if (response) {
+ camel_imap_folder_selected (folder, response, NULL);
+ camel_imap_response_free (imap_store, response);
+ }
return;
}
CAMEL_IMAP_STORE_UNLOCK (imap_store, command_lock);
@@ -2264,7 +2267,10 @@ imap_update_summary (CamelFolder *folder, int exists,
/* now re-select it and process the EXISTS response */
response = camel_imap_command (imap_store, folder, ex, NULL);
- camel_imap_response_free (imap_store, response);
+ if (response) {
+ camel_imap_folder_selected (folder, response, NULL);
+ camel_imap_response_free (imap_store, response);
+ }
}
return;