From d0053fd3c738f9f532a4207d6b29d24c57c46203 Mon Sep 17 00:00:00 2001 From: Jeffrey Stedfast Date: Fri, 7 Dec 2001 20:25:04 +0000 Subject: Check that the mail-display hasn't been destroyed. 2001-12-04 Jeffrey Stedfast * mail-display.c (stream_write_or_redisplay_when_loaded): Check that the mail-display hasn't been destroyed. (mail_display_redisplay): Same here. 2001-12-07 Dan Winship * mail-send-recv.c (receive_update_got_store): If updating a store that we don't have an associated storage for, just request a folder tree and then free it. (For the Connector) * mail-callbacks.h: Add missing part of Jeff's 12-03 patch so this actually compiles. svn path=/trunk/; revision=14938 --- mail/mail-send-recv.c | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) (limited to 'mail/mail-send-recv.c') diff --git a/mail/mail-send-recv.c b/mail/mail-send-recv.c index be5b13f248..f42c018a8e 100644 --- a/mail/mail-send-recv.c +++ b/mail/mail-send-recv.c @@ -607,6 +607,14 @@ receive_get_folder(CamelFilterDriver *d, const char *uri, void *data, CamelExcep return folder; } +static void +receive_update_got_folderinfo (CamelStore *store, CamelFolderInfo *info, void *data) +{ + if (info) + camel_store_free_folder_info (store, info); + receive_done ("", data); +} + static void receive_update_got_store (char *uri, CamelStore *store, void *data) { @@ -619,7 +627,12 @@ receive_update_got_store (char *uri, CamelStore *store, void *data) mail_note_store(store, storage, CORBA_OBJECT_NIL, receive_update_done, info); /*bonobo_object_unref (BONOBO_OBJECT (storage));*/ } else { - receive_done ("", info); + /* If we get here, store must be an external + * storage other than /local. (Eg, Exchange). + * Do a get_folder_info just to force it to + * update itself. + */ + mail_get_folderinfo(store, receive_update_got_folderinfo, info); } } else { receive_done ("", info); -- cgit v1.2.3