* camel/providers/imap/camel-imap-folder.c: Delete mails for XGWMOVE
when mails are moved.
+2008-12-05 Srinivasa Ragavan <sragavan@novell.com>
+
+ ** Fix for bug #558883
+
+ * camel/providers/imap/camel-imap-summary.c: Don't do DB sort from
+ IMAP.
+
2008-11-20 Milan Crha <mcrha@redhat.com>
** Part of fix for bug #558883
return (a1 < a1) ? -1 : (a1 > a2) ? 1 : 0;
}
+static int
+uid_compare (const void *va, const void *vb)
+{
+ const char **sa = (const char **)va, **sb = (const char **)vb;
+ unsigned long a, b;
+
+ a = strtoul (*sa, NULL, 10);
+ b = strtoul (*sb, NULL, 10);
+ if (a < b)
+ return -1;
+ else if (a == b)
+ return 0;
+ else
+ return 1;
+}
+
/**
* camel_imap_summary_new:
* @folder: Parent folder.
camel_exception_init (&ex);
summary->folder = folder;
- if (folder) {
+ /* Don't do DB sort. Its pretty slow to load */
+ if (folder && 0) {
camel_db_set_collate (folder->parent_store->cdb_r, "uid", "imap_uid_sort", (CamelDBCollate)sort_uid_cmp);
summary->sort_by = "uid";
summary->collate = "imap_uid_sort";
camel_exception_clear (&ex);
}
+ g_ptr_array_sort (summary->uids, (GCompareFunc) uid_compare);
+
return summary;
}