Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
No build reason found for images:x86_64
home:jberkman
evolution-data-server-2.6
bnc-190345-mark-unjunk-gw-hangs.patch
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File bnc-190345-mark-unjunk-gw-hangs.patch of Package evolution-data-server-2.6
Index: camel/providers/groupwise/camel-groupwise-summary.c =================================================================== RCS file: /cvs/gnome/evolution-data-server/camel/providers/groupwise/camel-groupwise-summary.c,v retrieving revision 1.12 diff -u -p -r1.12 camel-groupwise-summary.c --- camel/providers/groupwise/camel-groupwise-summary.c 24 Jul 2006 13:40:47 -0000 1.12 +++ camel/providers/groupwise/camel-groupwise-summary.c 18 Aug 2006 11:46:04 -0000 @@ -265,7 +265,13 @@ gw_info_set_flags (CamelMessageInfo *inf * we make sure this doesn't have any side effects*/ if ((set == CAMEL_MESSAGE_JUNK_LEARN) && (old & CAMEL_GW_MESSAGE_JUNK)) { - mi->flags |= CAMEL_MESSAGE_JUNK; + mi->flags |= CAMEL_GW_MESSAGE_NOJUNK | CAMEL_MESSAGE_JUNK; + + /* This has ugly side-effects. Evo will never learn unjunk. + + We need to create one CAMEL_MESSAGE_HIDDEN flag which must be used for all hiding operations. We must also get rid of the seperate file that is maintained somewhere in evolution/mail/em-folder-browser.c for hidden messages + */ + if (mi->summary) { camel_folder_summary_touch(mi->summary); } Index: camel/providers/groupwise/camel-groupwise-folder.c =================================================================== RCS file: /cvs/gnome/evolution-data-server/camel/providers/groupwise/camel-groupwise-folder.c,v retrieving revision 1.141 diff -u -p -r1.141 camel-groupwise-folder.c --- camel/providers/groupwise/camel-groupwise-folder.c 22 Jul 2006 08:42:33 -0000 1.141 +++ camel/providers/groupwise/camel-groupwise-folder.c 18 Aug 2006 11:46:04 -0000 @@ -541,6 +541,7 @@ move_to_mailbox (CamelFolder *folder, Ca g_ptr_array_add (uids, (gpointer) uid); dest = camel_store_get_folder (folder->parent_store, "Mailbox", 0, ex); + camel_message_info_set_flags (info, CAMEL_MESSAGE_DELETED|CAMEL_MESSAGE_JUNK|CAMEL_MESSAGE_JUNK_LEARN|CAMEL_GW_MESSAGE_NOJUNK|CAMEL_GW_MESSAGE_JUNK, 0); if (dest) groupwise_transfer_messages_to (folder, uids, dest, NULL, TRUE, ex); else @@ -561,6 +562,7 @@ move_to_junk (CamelFolder *folder, Camel g_ptr_array_add (uids, (gpointer) uid); dest = camel_store_get_folder (folder->parent_store, JUNK_FOLDER, 0, ex); + if (dest) groupwise_transfer_messages_to (folder, uids, dest, NULL, TRUE, ex); else { @@ -571,9 +573,7 @@ move_to_junk (CamelFolder *folder, Camel else groupwise_transfer_messages_to (folder, uids, dest, NULL, TRUE, ex); } - update_junk_list (folder->parent_store, info, ADD_JUNK_ENTRY); - } /********************* back to folder functions*************************/ @@ -620,6 +620,7 @@ groupwise_sync (CamelFolder *folder, gbo return; } CAMEL_SERVICE_UNLOCK (gw_store, connect_lock); + g_print ("\n\aEntered folder_sync function for the folder [%s]\n\a", camel_folder_get_name (folder)); count = camel_folder_summary_count (folder->summary); CAMEL_GROUPWISE_FOLDER_LOCK (folder, cache_lock); @@ -633,11 +634,21 @@ groupwise_sync (CamelFolder *folder, gbo continue; flags = camel_message_info_flags (info); - if ((flags & CAMEL_MESSAGE_JUNK) && !(flags & CAMEL_GW_MESSAGE_JUNK)) /*marked a message junk*/ + if ((flags & CAMEL_MESSAGE_JUNK) && strcmp(camel_folder_get_name(folder), JUNK_FOLDER)) { + /*marked a message junk*/ move_to_junk (folder, info, ex); + camel_folder_summary_remove_uid (folder->summary, camel_message_info_uid(info)); + camel_data_cache_remove (gw_folder->cache, "cache", camel_message_info_uid(info), ex); + continue; + } - else if ((flags & CAMEL_MESSAGE_JUNK) && (flags & CAMEL_GW_MESSAGE_JUNK)) /*message was marked as junk, now unjunk*/ + if ((flags & CAMEL_GW_MESSAGE_NOJUNK) && !strcmp(camel_folder_get_name(folder), JUNK_FOLDER)) { + /*message was marked as junk, now unjunk*/ move_to_mailbox (folder, info, ex); + camel_folder_summary_remove_uid (folder->summary, camel_message_info_uid(info)); + camel_data_cache_remove (gw_folder->cache, "cache", camel_message_info_uid(info), ex); + continue; + } if (gw_info && (gw_info->info.flags & CAMEL_MESSAGE_FOLDER_FLAGGED)) { do_flags_diff (&diff, gw_info->server_flags, gw_info->info.flags); @@ -684,7 +695,9 @@ groupwise_sync (CamelFolder *folder, gbo } camel_message_info_free (info); } + CAMEL_GROUPWISE_FOLDER_UNLOCK (folder, cache_lock); + if (deleted_items) { CAMEL_SERVICE_LOCK (gw_store, connect_lock); if (!strcmp (folder->full_name, "Trash")) {
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor