evolution-data-server/bnc-158112-send-receive-dlg-takes-time.patch

83 lines
2.6 KiB
Diff
Raw Normal View History

--- 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);