Index: camel/providers/groupwise/camel-groupwise-folder.c =================================================================== --- camel/providers/groupwise/camel-groupwise-folder.c (revision 9858) +++ camel/providers/groupwise/camel-groupwise-folder.c (revision 9859) @@ -1200,10 +1200,6 @@ if (gw_store->current_folder != folder) { gw_store->current_folder = folder; } - - if (list) { - gw_update_cache (folder, list, ex, FALSE); - } if (check_all && !is_proxy) { EGwContainer *container; @@ -1214,8 +1210,15 @@ if (camel_folder_summary_count (folder->summary) == e_gw_container_get_total_count (container)) check_all = FALSE; + + folder->summary->unread_count = e_gw_container_get_unread_count (container); + folder->summary->visible_count = e_gw_container_get_total_count (container); g_object_unref (container); } + + if (list) { + gw_update_cache (folder, list, ex, FALSE); + } } @@ -1352,6 +1355,8 @@ mi->info.content->type = camel_content_type_new ("multipart", "mixed"); } + mi->info.flags = 0; + if (type == E_GW_ITEM_TYPE_APPOINTMENT || type == E_GW_ITEM_TYPE_TASK || type == E_GW_ITEM_TYPE_NOTE) camel_message_info_set_user_flag ((CamelMessageInfo*)mi, "$has_cal", TRUE); } @@ -1368,16 +1373,12 @@ item_status = e_gw_item_get_item_status (item); if (item_status & E_GW_ITEM_STAT_READ) - status_flags |= CAMEL_MESSAGE_SEEN; + mi->info.flags |= CAMEL_MESSAGE_SEEN; else mi->info.flags &= ~CAMEL_MESSAGE_SEEN; if (item_status & E_GW_ITEM_STAT_REPLIED) - status_flags |= CAMEL_MESSAGE_ANSWERED; - if (exists) - mi->info.flags |= status_flags; - else - mi->info.flags = status_flags; + mi->info.flags |= CAMEL_MESSAGE_ANSWERED; priority = e_gw_item_get_priority (item); if (priority && !(g_ascii_strcasecmp (priority,"High"))) { @@ -1468,6 +1469,7 @@ } } + mi->info.dirty = TRUE; if (exists) { camel_folder_change_info_change_uid (changes, mi->info.uid); camel_message_info_free (pmi); @@ -1475,12 +1477,7 @@ mi->info.uid = camel_pstring_strdup (e_gw_item_get_id(item)); mi->info.size = e_gw_item_get_mail_size (item); mi->info.subject = camel_pstring_strdup(e_gw_item_get_subject(item)); - mi->info.dirty = TRUE; - folder->summary->visible_count ++; - if (!(mi->info.flags & CAMEL_MESSAGE_SEEN)) - folder->summary->unread_count ++; - camel_folder_summary_add (folder->summary,(CamelMessageInfo *)mi); camel_folder_change_info_add_uid (changes, mi->info.uid); camel_folder_change_info_recent_uid (changes, mi->info.uid); Index: servers/groupwise/e-gw-connection.c =================================================================== --- servers/groupwise/e-gw-connection.c (revision 9858) +++ servers/groupwise/e-gw-connection.c (revision 9859) @@ -840,7 +840,7 @@ } e_gw_message_write_string_parameter (msg, "uid", NULL, uid); - e_gw_message_write_string_parameter (msg, "view", NULL, "count"); + e_gw_message_write_string_parameter (msg, "view", NULL, "count unreadCount"); e_gw_message_write_footer (msg); /* send message to server */ @@ -2772,7 +2772,7 @@ if (buffer && buf_length && atoi (buf_length) > 0) { gsize len = atoi (buf_length) ; - *attachment = g_base64_decode (buffer,&len) ; + *attachment = (char *) g_base64_decode (buffer,&len) ; *attach_length = len ; } else { *attachment = NULL;