File bnc-158112-send-receive-dlg-takes-time.patch of Package evolution-data-server

--- camel/providers/groupwise/camel-groupwise-folder.c.orig	2006-03-23 16:21:05.882346341 +0100
+++ camel/providers/groupwise/camel-groupwise-folder.c	2006-03-23 16:21:53.346929567 +0100
@@ -902,6 +902,7 @@ groupwise_refresh_folder(CamelFolder *fo
 	char *container_id = NULL;
 	char *time_string = NULL, *t_str = NULL;
 	struct _folder_update_msg *msg;
+       gboolean check_all = FALSE;
 
 	if (((CamelOfflineStore *) gw_store)->state == CAMEL_OFFLINE_STORE_NETWORK_UNAVAIL) {
 		g_warning ("In offline mode. Cannot refresh!!!\n");
@@ -947,7 +948,7 @@ groupwise_refresh_folder(CamelFolder *fo
 	time_string =  g_strdup (((CamelGroupwiseSummary *) folder->summary)->time_string);
 	t_str = g_strdup (time_string); 
 
-#if 0
+
 	/*Get the New Items*/
 	status = e_gw_connection_get_quick_messages (cnc, container_id,
 			"peek id",
@@ -963,18 +964,23 @@ groupwise_refresh_folder(CamelFolder *fo
 	 */
 	if (summary->time_string)
 		g_free (summary->time_string);
+
+       
 	summary->time_string = g_strdup (t_str);
 	g_free (t_str);	
 	t_str = NULL;
 
+       /*
 	for ( sl = slist ; sl != NULL; sl = sl->next) 
-		list = g_list_append (list, sl->data);
+               list = g_list_append (list, sl->data);*/
 
+       if (slist && g_slist_length(slist) != 0)
+               check_all = TRUE;
+       
 	g_slist_free (slist);
 	slist = NULL;
 
 	t_str = g_strdup (time_string);
-#endif
 	
 	/*Get those items which have been modifed*/
 
@@ -989,15 +995,16 @@ groupwise_refresh_folder(CamelFolder *fo
 	
 	/* The storing of time-stamp to summary code below should be commented if the 
 	   above commented code is uncommented */
-	if (summary->time_string)
+
+/*     if (summary->time_string)
 		g_free (summary->time_string);
 
 	summary->time_string = g_strdup (t_str);
 
-	g_free (t_str), t_str = NULL;
+       g_free (t_str), t_str = NULL;*/
 
 	for ( sl = slist ; sl != NULL; sl = sl->next) 
-		list = g_list_append (list, sl->data);
+               list = g_list_prepend (list, sl->data);
 
 	g_slist_free (slist);
 	slist = NULL;
@@ -1021,6 +1028,7 @@ groupwise_refresh_folder(CamelFolder *fo
 	 * this folder, and update the summary.
 	 */
 	/*create a new session thread for the update all operation*/
+       if (check_all) {
 	msg = camel_session_thread_msg_new (session, &update_ops, sizeof(*msg));
 	msg->cnc = cnc;
 	msg->t_str = g_strdup (time_string);
@@ -1030,7 +1038,7 @@ groupwise_refresh_folder(CamelFolder *fo
 	camel_folder_freeze (folder);
 	camel_session_thread_queue (session, &msg->msg, 0);
 	/*thread creation and queueing done*/
-
+       }
 
 end3: 
 	g_list_foreach (list, (GFunc) g_object_unref, NULL);
openSUSE Build Service is sponsored by