From 1bbacee2b323be266fe482e9a7c7849448e5b2b8 Mon Sep 17 00:00:00 2001 From: Chenthill Palanisamy Date: Wed, 15 Nov 2006 08:01:16 +0000 Subject: Fixes #219729. --- servers/exchange/ChangeLog | 7 +++++++ servers/exchange/storage/exchange-account.c | 9 ++++++++- 2 files changed, 15 insertions(+), 1 deletion(-) (limited to 'servers') 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 + + * 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 * 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) { -- cgit v1.2.1