[evolution-patches] Exchange: Fix for bug 314762



Hello -

Attached is the fix for the bug 314762 that caused Evolution to go into
an infinite loop on startup in offline mode with a calendar or tasklist
selected for offline usage. Please review.

Thanks -
Praveen.

Index: plugins/exchange-operations/ChangeLog
===================================================================
RCS file: /cvs/gnome/evolution/plugins/exchange-operations/ChangeLog,v
retrieving revision 1.50
diff -u -p -r1.50 ChangeLog
--- plugins/exchange-operations/ChangeLog	26 Aug 2005 10:28:30 -0000	1.50
+++ plugins/exchange-operations/ChangeLog	29 Aug 2005 11:50:41 -0000
@@ -1,3 +1,10 @@
+2005-08-29  Praveen Kumar  <kpraveen novell com>
+
+	** Fixes bug 314762
+	
+	* exchange-config-listener.c (remove_selected_non_offline_esources) :
+	Fixing a nasty infinite loop by swapping an if and while block.
+	
 2005-08-26  Shakti Sen <shprasad novell com>
 
 	* exchange-folder.c (org_gnome_exchange_folder_unsubscribe): Fixes the
Index: plugins/exchange-operations/exchange-config-listener.c
===================================================================
RCS file: /cvs/gnome/evolution/plugins/exchange-operations/exchange-config-listener.c,v
retrieving revision 1.14
diff -u -p -r1.14 exchange-config-listener.c
--- plugins/exchange-operations/exchange-config-listener.c	25 Aug 2005 15:27:51 -0000	1.14
+++ plugins/exchange-operations/exchange-config-listener.c	29 Aug 2005 11:50:41 -0000
@@ -1162,12 +1162,12 @@ remove_selected_non_offline_esources (Ex
 				if (ids) {
 					offline_mode = (gchar*) e_source_get_property (source,
 										       "offline_sync");
-					while ((node_to_be_deleted = 
-						g_slist_find_custom (ids, 
-								     source_uid, 
-								     (GCompareFunc) strcmp))) {
-						if (!offline_mode || 
-						    (offline_mode && strcmp (offline_mode, "1"))) {
+					if (!offline_mode || 
+					    (offline_mode && strcmp (offline_mode, "1"))) {
+						while ((node_to_be_deleted = 
+							g_slist_find_custom (ids, 
+									     source_uid, 
+									     (GCompareFunc) strcmp))) {
 							g_free (node_to_be_deleted->data);
 							ids = g_slist_delete_link (ids, 
 										   node_to_be_deleted);


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