diff options
author | David Woodhouse <David.Woodhouse@intel.com> | 2012-05-21 16:22:36 +0100 |
---|---|---|
committer | David Woodhouse <David.Woodhouse@intel.com> | 2012-05-21 16:24:29 +0100 |
commit | 8dbcc6452f72984ff4403407174712144fb766e9 (patch) | |
tree | 91e5f2f6cc72b91798a90e049693017603b34192 | |
parent | 5186c995c06fb3398688de3518d899dc149f73b8 (diff) | |
download | evolution-data-server-8dbcc6452f72984ff4403407174712144fb766e9.tar.gz |
Bug 676506 - imapx: After QRESYNC leaves us out of sync, a "full resync" doesn't work either.
Always fetch from the beginning of the folder.
(cherry picked from commit e689ff03dfa4d23722d14bdfd93103a91e4cd7e5)
-rw-r--r-- | camel/providers/imapx/camel-imapx-server.c | 17 |
1 files changed, 15 insertions, 2 deletions
diff --git a/camel/providers/imapx/camel-imapx-server.c b/camel/providers/imapx/camel-imapx-server.c index 345a63ed2..447e6d999 100644 --- a/camel/providers/imapx/camel-imapx-server.c +++ b/camel/providers/imapx/camel-imapx-server.c @@ -4018,7 +4018,18 @@ imapx_job_scan_changes_start (CamelIMAPXJob *job, { CamelIMAPXCommand *ic; RefreshInfoData *data; - gchar *uid = imapx_get_uid_from_index (job->folder->summary, 0); + CamelService *service; + CamelSettings *settings; + gboolean mobile_mode; + gchar *uid = NULL; + + service = CAMEL_SERVICE (is->store); + settings = camel_service_get_settings (service); + mobile_mode = camel_imapx_settings_get_mobile_mode ( + CAMEL_IMAPX_SETTINGS (settings)); + + if (mobile_mode) + uid = imapx_get_uid_from_index (job->folder->summary, 0); data = camel_imapx_job_get_data (job); g_return_if_fail (data != NULL); @@ -4030,7 +4041,9 @@ imapx_job_scan_changes_start (CamelIMAPXJob *job, _("Scanning for changed messages in %s"), camel_folder_get_display_name (job->folder)); - e('E', "Scanning from %s in %s\n", uid, camel_folder_get_full_name (job->folder)); + e('E', "Scanning from %s in %s\n", uid ? uid : "start", + camel_folder_get_full_name (job->folder)); + ic = camel_imapx_command_new ( is, "FETCH", job->folder, "UID FETCH %s:* (UID FLAGS)", uid ? uid : "1"); |