summaryrefslogtreecommitdiff
path: root/servers
diff options
context:
space:
mode:
authorChenthill Palanisamy <pchen@src.gnome.org>2006-11-15 08:01:16 +0000
committerChenthill Palanisamy <pchen@src.gnome.org>2006-11-15 08:01:16 +0000
commit1bbacee2b323be266fe482e9a7c7849448e5b2b8 (patch)
treeeec66ae22401852071ed7591448952c924c69e4d /servers
parent114c71cb6799d0298daf5658ea369fa14b024996 (diff)
downloadevolution-data-server-1bbacee2b323be266fe482e9a7c7849448e5b2b8.tar.gz
Fixes #219729.
Diffstat (limited to 'servers')
-rw-r--r--servers/exchange/ChangeLog7
-rw-r--r--servers/exchange/storage/exchange-account.c9
2 files changed, 15 insertions, 1 deletions
diff --git a/servers/exchange/ChangeLog b/servers/exchange/ChangeLog
index 8fdd9965e..616d7afe6 100644
--- a/servers/exchange/ChangeLog
+++ b/servers/exchange/ChangeLog
@@ -1,3 +1,10 @@
+2006-11-15 Chenthill Palanisamy <pchenthill@novell.com>
+
+ * storage/exchange-account.c:
+ (exchange_account_connect): Check if the mode is unsupported
+ and reset the connecting variable.
+ Fixes #219729 (bugzilla.novell.com)
+
2006-11-07 Chenthill Palanisamy <pchenthill@novell.com>
* storage/exchange-constants.h: Define a flag to
diff --git a/servers/exchange/storage/exchange-account.c b/servers/exchange/storage/exchange-account.c
index 29d1b9a21..64f5e2bb3 100644
--- a/servers/exchange/storage/exchange-account.c
+++ b/servers/exchange/storage/exchange-account.c
@@ -1372,9 +1372,16 @@ exchange_account_connect (ExchangeAccount *account, const char *pword,
*info_result = EXCHANGE_ACCOUNT_CONNECT_SUCCESS;
exchange_account_is_offline (account, &mode);
-
+
g_mutex_lock (account->priv->connect_lock);
+ if (mode == UNSUPPORTED_MODE) {
+ *info_result = EXCHANGE_ACCOUNT_CONNECT_ERROR;
+ account->priv->connecting = FALSE;
+ g_mutex_unlock (account->priv->connect_lock);
+ return NULL;
+ }
+
if (account->priv->connecting || mode == OFFLINE_MODE) {
g_mutex_unlock (account->priv->connect_lock);
if (mode == OFFLINE_MODE) {