evolution r36842 - trunk/plugins/exchange-operations



Author: abharath
Date: Mon Dec  8 07:22:13 2008
New Revision: 36842
URL: http://svn.gnome.org/viewvc/evolution?rev=36842&view=rev

Log:
2008-12-08  Bharath Acharya  <abharath novell com>

        ** Fix for bug #558498

        * exchange-account-setup.c: (org_gnome_exchange_settings),
        (destroy_oof_data), (org_gnome_exchange_commit):
        * org-gnome-exchange-operations.error.xml:Check for the offline
        status before setting up the Exchange settings.


Modified:
   trunk/plugins/exchange-operations/ChangeLog
   trunk/plugins/exchange-operations/exchange-account-setup.c
   trunk/plugins/exchange-operations/org-gnome-exchange-operations.error.xml

Modified: trunk/plugins/exchange-operations/exchange-account-setup.c
==============================================================================
--- trunk/plugins/exchange-operations/exchange-account-setup.c	(original)
+++ trunk/plugins/exchange-operations/exchange-account-setup.c	Mon Dec  8 07:22:13 2008
@@ -181,6 +181,7 @@
 	const char *source_url;
 	char *message = NULL, *txt = NULL, *oof_message;
 	gboolean oof_state = FALSE;
+	gint offline_status;
 
 	GtkVBox *vbox_settings;
 
@@ -234,6 +235,14 @@
 
 	account = exchange_operations_get_exchange_account ();
 
+	exchange_config_listener_get_offline_status (exchange_global_config_listener,
+								    &offline_status);
+	if (offline_status == OFFLINE_MODE) {
+		e_error_run (NULL, ERROR_DOMAIN ":exchange-settings-offline", NULL);
+	
+		return NULL;
+	}	
+
 	oof_data = g_new0 (OOFData, 1);
 
 	oof_data->state = FALSE;
@@ -857,7 +866,8 @@
 {
 	if (oof_data->message)
 		g_free (oof_data->message);
-	g_free (oof_data);
+	if (oof_data)
+		g_free (oof_data);
 }
 
 void
@@ -866,6 +876,7 @@
 	EMConfigTargetAccount *target_account;
 	const char *source_url;
 	CamelURL *url;
+	gint offline_status;
 
 	target_account = (EMConfigTargetAccount *)data->config->target;
 	source_url = e_account_get_string (target_account->account,  E_ACCOUNT_SOURCE_URL);
@@ -886,6 +897,14 @@
 	}
 
 	camel_url_free (url);
+	
+	exchange_config_listener_get_offline_status (exchange_global_config_listener,
+								    &offline_status);
+	
+	if (offline_status == OFFLINE_MODE) {
+                return;
+	}
+	
 	/* Set oof data in exchange account */
 	set_oof_info ();
 	destroy_oof_data ();

Modified: trunk/plugins/exchange-operations/org-gnome-exchange-operations.error.xml
==============================================================================
--- trunk/plugins/exchange-operations/org-gnome-exchange-operations.error.xml	(original)
+++ trunk/plugins/exchange-operations/org-gnome-exchange-operations.error.xml	Mon Dec  8 07:22:13 2008
@@ -48,6 +48,11 @@
   <_secondary>Cannot display folders.</_secondary>
  </error>
 
+ <error id="exchange-settings-offline" type="info">
+  <_primary>Exchange Account is offline.</_primary>
+  <_secondary>Cannot access the "Exchange settings" tab in offline mode.</_secondary>
+ </error>
+
  <error id="account-offline-generic" type="info">
   <_primary>Exchange Account is offline.</_primary>
   <_secondary>Cannot perform the operation.</_secondary>



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]