Changeset 3677
- Timestamp:
- 05/21/08 09:43:12
- Files:
-
- releases/modest/diablo-pe1/ChangeLog (modified) (1 diff)
- releases/modest/diablo-pe1/libtinymail-camel/camel-lite/camel/camel-folder-summary.c (modified) (2 diffs)
- releases/modest/diablo-pe1/libtinymail-camel/camel-lite/camel/camel-folder-summary.h (modified) (1 diff)
- releases/modest/diablo-pe1/libtinymail-camel/camel-lite/camel/providers/imap/camel-imap-folder.c (modified) (3 diffs)
- releases/modest/diablo-pe1/libtinymail-camel/camel-lite/camel/providers/local/camel-local-summary.c (modified) (1 diff)
- releases/modest/diablo-pe1/libtinymail-camel/camel-lite/camel/providers/local/camel-mbox-summary.c (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
releases/modest/diablo-pe1/ChangeLog
r3676 r3677 1 2008-05-20 Philip Van Hoof <pvanhoof@gnome.org> 2 3 * Fixed a fallback envelope fetch, don't do the clear on the summary. 4 Instead mark all as expunged 5 1 6 2008-05-20 Jose Dapena Paz <jdapena@igalia.com> 2 7 releases/modest/diablo-pe1/libtinymail-camel/camel-lite/camel/camel-folder-summary.c
r3570 r3677 347 347 g_ptr_array_foreach (s->expunged, foreach_msginfo, (gpointer)s->message_info_size); 348 348 349 /* camel_folder_summary_clear(s); */350 349 g_ptr_array_free(s->messages, TRUE); 351 350 g_ptr_array_free(s->expunged, TRUE); … … 1623 1622 } 1624 1623 1624 void 1625 camel_folder_summary_dispose_all (CamelFolderSummary *s) 1626 { 1627 int i; 1628 1629 if (s->messages && s->messages->len > 0) 1630 { 1631 GPtrArray *items = g_ptr_array_sized_new (s->messages->len); 1632 1633 CAMEL_SUMMARY_LOCK(s, summary_lock); 1634 g_static_rec_mutex_lock (&global_lock); 1635 1636 for (i=0; i<s->messages->len; i++) { 1637 CamelMessageInfo *info = (CamelMessageInfo *) s->messages->pdata[i]; 1638 CamelMessageInfoBase *mi = (CamelMessageInfoBase *) s->messages->pdata[i]; 1639 1640 mi->flags |= CAMEL_MESSAGE_EXPUNGED; 1641 mi->flags |= CAMEL_MESSAGE_FREED; 1642 destroy_possible_pstring_stuff (s, info, FALSE); 1643 mi->subject = "Expunged"; 1644 mi->to = "Expunged"; 1645 mi->from = "Expunged"; 1646 mi->cc = "Expunged"; 1647 1648 g_ptr_array_add (items, info); 1649 } 1650 1651 for (i=0; i<items->len; i++) { 1652 CamelMessageInfo *info = (CamelMessageInfo *) items->pdata[i]; 1653 g_ptr_array_remove(s->messages, info); 1654 g_ptr_array_add (s->expunged, info); 1655 } 1656 1657 s->had_expunges = TRUE; 1658 s->flags |= CAMEL_SUMMARY_DIRTY; 1659 1660 g_static_rec_mutex_unlock (&global_lock); 1661 CAMEL_SUMMARY_UNLOCK(s, summary_lock); 1662 1663 g_ptr_array_free (items, TRUE); 1664 1665 } 1666 } 1625 1667 1626 1668 /** releases/modest/diablo-pe1/libtinymail-camel/camel-lite/camel/camel-folder-summary.h
r3635 r3677 410 410 void camel_folder_summary_unlock (); 411 411 412 void camel_folder_summary_dispose_all (CamelFolderSummary *s); 413 412 414 G_END_DECLS 413 415 releases/modest/diablo-pe1/libtinymail-camel/camel-lite/camel/providers/imap/camel-imap-folder.c
r3646 r3677 624 624 else if (validity != imap_summary->validity) { 625 625 imap_summary->validity = validity; 626 camel_folder_summary_ clear(folder->summary);626 camel_folder_summary_dispose_all (folder->summary); 627 627 CAMEL_IMAP_FOLDER_REC_LOCK (imap_folder, cache_lock); 628 628 camel_imap_message_cache_clear (imap_folder->cache); … … 3352 3352 if (tcnt < (exists - seq)) 3353 3353 { 3354 int i; 3355 3354 3356 g_ptr_array_foreach (needheaders, (GFunc)g_free, NULL); 3355 3357 g_ptr_array_free (needheaders, TRUE); … … 3367 3369 return; 3368 3370 } 3369 camel_folder_summary_clear (folder->summary); 3371 3372 camel_folder_summary_dispose_all (folder->summary); 3373 3370 3374 tcnt = cnt = imap_get_uids (folder, store, ex, needheaders, (exists - seq) - tcnt); 3371 3375 releases/modest/diablo-pe1/libtinymail-camel/camel-lite/camel/providers/local/camel-local-summary.c
r3453 r3677 163 163 } 164 164 165 /* if (forceindex166 || g_stat(s->summary_path, &st) == -1167 || ((CamelLocalSummaryClass *)(CAMEL_OBJECT_GET_CLASS(cls)))->load(cls, forceindex, ex) == -1) {168 w(g_warning("Could not load summary: flags may be reset"));169 camel_folder_summary_clear((CamelFolderSummary *)cls);170 return -1;171 }*/172 173 165 return 0; 174 166 } releases/modest/diablo-pe1/libtinymail-camel/camel-lite/camel/providers/local/camel-mbox-summary.c
r3258 r3677 553 553 /* check if the summary is up-to-date */ 554 554 if (g_stat(cls->folder_path, &st) == -1) { 555 camel_folder_summary_ clear(s);555 camel_folder_summary_dispose_all (s); 556 556 camel_exception_setv (ex, CAMEL_EXCEPTION_SYSTEM, 557 557 _("Cannot check folder: %s: %s"), … … 576 576 } 577 577 } 578 camel_folder_summary_ clear(s);578 camel_folder_summary_dispose_all (s); 579 579 ret = 0; 580 580 } else {
