diff options
author | Veerapuram Varadhan <vvaradan@src.gnome.org> | 2006-07-26 21:19:18 +0800 |
---|---|---|
committer | Veerapuram Varadhan <vvaradan@src.gnome.org> | 2006-07-26 21:19:18 +0800 |
commit | 2777802f60e8de91ea9dd454e411372f4078bf0f (patch) | |
tree | 1efd16dc1edba6654d1ce885fb6745573c6ba9b9 | |
parent | 17b5a64632af6ee83679331c097422eeb7055528 (diff) | |
download | gsoc2013-evolution-2777802f60e8de91ea9dd454e411372f4078bf0f.tar gsoc2013-evolution-2777802f60e8de91ea9dd454e411372f4078bf0f.tar.gz gsoc2013-evolution-2777802f60e8de91ea9dd454e411372f4078bf0f.tar.bz2 gsoc2013-evolution-2777802f60e8de91ea9dd454e411372f4078bf0f.tar.lz gsoc2013-evolution-2777802f60e8de91ea9dd454e411372f4078bf0f.tar.xz gsoc2013-evolution-2777802f60e8de91ea9dd454e411372f4078bf0f.tar.zst gsoc2013-evolution-2777802f60e8de91ea9dd454e411372f4078bf0f.zip |
** Fixes bgo bug #333821 and bnc bug 181851
* mail-folder-cache.c: (ping_store_ping): Ping store only iff
store is online and connected.
svn path=/trunk/; revision=32419
-rw-r--r-- | mail/ChangeLog | 7 | ||||
-rw-r--r-- | mail/mail-folder-cache.c | 11 |
2 files changed, 17 insertions, 1 deletions
diff --git a/mail/ChangeLog b/mail/ChangeLog index c3e443f4a0..2739f1e006 100644 --- a/mail/ChangeLog +++ b/mail/ChangeLog @@ -1,3 +1,10 @@ +2006-07-26 Veerapuram Varadhan <vvaradhan@novell.com> + + ** Fixes bgo bug #333821 and bnc bug 181851 + + * mail-folder-cache.c: (ping_store_ping): Ping store only iff + store is online and connected. + 2006-07-26 Arvind <sa.phoenix@gmail.com> ** Fix for bug #274276 diff --git a/mail/mail-folder-cache.c b/mail/mail-folder-cache.c index 53e42512c0..598141657e 100644 --- a/mail/mail-folder-cache.c +++ b/mail/mail-folder-cache.c @@ -864,9 +864,18 @@ ping_store_desc (struct _mail_msg *mm, int done) static void ping_store_ping (struct _mail_msg *mm) { + gboolean online = FALSE; struct _ping_store_msg *m = (struct _ping_store_msg *) mm; - if (CAMEL_SERVICE (m->store)->status == CAMEL_SERVICE_CONNECTED) + if (CAMEL_SERVICE (m->store)->status == CAMEL_SERVICE_CONNECTED) { + if (CAMEL_IS_DISCO_STORE (m->store) && + camel_disco_store_status (CAMEL_DISCO_STORE (m->store)) != CAMEL_DISCO_STORE_OFFLINE) + online = TRUE; + else if (CAMEL_IS_OFFLINE_STORE (m->store) && + CAMEL_OFFLINE_STORE (m->store)->state != CAMEL_OFFLINE_STORE_NETWORK_UNAVAIL) + online = TRUE; + } + if (online) camel_store_noop (m->store, &mm->ex); } |