evolution-data-server r9067 - trunk/camel/providers/imap
- From: mcrha svn gnome org
- To: svn-commits-list gnome org
- Subject: evolution-data-server r9067 - trunk/camel/providers/imap
- Date: Mon, 30 Jun 2008 09:21:46 +0000 (UTC)
Author: mcrha
Date: Mon Jun 30 09:21:46 2008
New Revision: 9067
URL: http://svn.gnome.org/viewvc/evolution-data-server?rev=9067&view=rev
Log:
2008-06-30 Milan Crha <mcrha redhat com>
** Fix for bug #330838
* camel-imap-store.c: (get_folders_sync): Notify application about
server folder changes as soon as we know about them.
Modified:
trunk/camel/providers/imap/ChangeLog
trunk/camel/providers/imap/camel-imap-store.c
Modified: trunk/camel/providers/imap/camel-imap-store.c
==============================================================================
--- trunk/camel/providers/imap/camel-imap-store.c (original)
+++ trunk/camel/providers/imap/camel-imap-store.c Mon Jun 30 09:21:46 2008
@@ -2598,9 +2598,25 @@
if (((fi->flags ^ si->flags) & CAMEL_STORE_INFO_FOLDER_SUBSCRIBED)) {
si->flags = (si->flags & ~CAMEL_FOLDER_SUBSCRIBED) | (fi->flags & CAMEL_FOLDER_SUBSCRIBED);
camel_store_summary_touch((CamelStoreSummary *)imap_store->summary);
+
+ camel_object_trigger_event (CAMEL_OBJECT (imap_store), "folder_created", fi);
+ camel_object_trigger_event (CAMEL_OBJECT (imap_store), "folder_subscribed", fi);
}
} else {
- camel_store_summary_remove((CamelStoreSummary *)imap_store->summary, si);
+ char *dup_folder_name = g_strdup (camel_store_info_path (imap_store->summary, si));
+
+ if (dup_folder_name) {
+ CamelException eex;
+
+ camel_exception_init (&eex);
+ imap_folder_effectively_unsubscribed (imap_store, dup_folder_name, &eex);
+ imap_forget_folder (imap_store, dup_folder_name, &eex);
+
+ g_free (dup_folder_name);
+ camel_exception_clear (&eex);
+ } else
+ camel_store_summary_remove ((CamelStoreSummary *)imap_store->summary, si);
+
count--;
i--;
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]