aboutsummaryrefslogtreecommitdiffstats
path: root/camel/providers/imap
diff options
context:
space:
mode:
authorPeter Williams <peterw@ximian.com>2002-07-16 23:14:27 +0800
committerPeter Williams <peterw@src.gnome.org>2002-07-16 23:14:27 +0800
commit5c501444a0178a37a69bccbad0d5628f93fd9fa0 (patch)
tree8dd20835ad58cbec7aad2326e43c14fa20a0bc24 /camel/providers/imap
parent8d208b95bb0a9a240f0ac5a9110be1ebf550ac15 (diff)
downloadgsoc2013-evolution-5c501444a0178a37a69bccbad0d5628f93fd9fa0.tar.gz
gsoc2013-evolution-5c501444a0178a37a69bccbad0d5628f93fd9fa0.tar.zst
gsoc2013-evolution-5c501444a0178a37a69bccbad0d5628f93fd9fa0.zip
If we're not online and the message isn't in our cache, give up.
2002-07-15 Peter Williams <peterw@ximian.com> * providers/imap/camel-imap-folder.c (imap_get_message): If we're not online and the message isn't in our cache, give up. svn path=/trunk/; revision=17475
Diffstat (limited to 'camel/providers/imap')
-rw-r--r--camel/providers/imap/camel-imap-folder.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/camel/providers/imap/camel-imap-folder.c b/camel/providers/imap/camel-imap-folder.c
index ee8a7b1f4a..8688adb8a0 100644
--- a/camel/providers/imap/camel-imap-folder.c
+++ b/camel/providers/imap/camel-imap-folder.c
@@ -1821,7 +1821,13 @@ imap_get_message (CamelFolder *folder, const char *uid, CamelException *ex)
if (store->server_level < IMAP_LEVEL_IMAP4REV1 ||
(stream = camel_imap_folder_fetch_data (imap_folder, uid, "", TRUE, NULL)))
return get_message_simple (imap_folder, uid, stream, ex);
-
+
+ /* If we're not actually connected and it's not in the cache,
+ * that's as far as we can go.
+ */
+ if (camel_disco_store_check_online (CAMEL_DISCO_STORE (store), ex) == FALSE)
+ return NULL;
+
mi = camel_folder_summary_uid (folder->summary, uid);
g_return_val_if_fail (mi != NULL, NULL);