r2347 - in /experimental/evolution-data-server/debian: changelog patches/imapx_dont_remove_folders_on_error.patch patches/series

sjoerd at users.alioth.debian.org sjoerd at users.alioth.debian.org
Sat Mar 23 09:59:50 UTC 2013


Author: sjoerd
Date: Sat Mar 23 09:59:50 2013
New Revision: 2347

URL: http://svn.debian.org/wsvn/pkg-evolution/?sc=1&rev=2347
Log:
* debian/patches/imapx_dont_remove_folders_on_error.patch:
  + Added. Don't throw away local folders when syncing the folders from the
    server only returned partial results (bgo#693101)

Added:
    experimental/evolution-data-server/debian/patches/imapx_dont_remove_folders_on_error.patch
Modified:
    experimental/evolution-data-server/debian/changelog
    experimental/evolution-data-server/debian/patches/series

Modified: experimental/evolution-data-server/debian/changelog
URL: http://svn.debian.org/wsvn/pkg-evolution/experimental/evolution-data-server/debian/changelog?rev=2347&op=diff
==============================================================================
--- experimental/evolution-data-server/debian/changelog (original)
+++ experimental/evolution-data-server/debian/changelog Sat Mar 23 09:59:50 2013
@@ -1,6 +1,9 @@
 evolution-data-server (3.7.92-1) experimental; urgency=low
 
   * New upstream release
+  * debian/patches/imapx_dont_remove_folders_on_error.patch:
+    + Added. Don't throw away local folders when syncing the folders from the
+      server only returned partial results (bgo#693101)
 
  -- Sjoerd Simons <sjoerd at debian.org>  Fri, 22 Mar 2013 10:47:27 +0100
 

Added: experimental/evolution-data-server/debian/patches/imapx_dont_remove_folders_on_error.patch
URL: http://svn.debian.org/wsvn/pkg-evolution/experimental/evolution-data-server/debian/patches/imapx_dont_remove_folders_on_error.patch?rev=2347&op=file
==============================================================================
--- experimental/evolution-data-server/debian/patches/imapx_dont_remove_folders_on_error.patch (added)
+++ experimental/evolution-data-server/debian/patches/imapx_dont_remove_folders_on_error.patch Sat Mar 23 09:59:50 2013
@@ -1,0 +1,37 @@
+diff --git a/camel/camel-imapx-store.c b/camel/camel-imapx-store.c
+index 33ee30e..0161536 100644
+--- a/camel/camel-imapx-store.c
++++ b/camel/camel-imapx-store.c
+@@ -1132,11 +1132,30 @@ sync_folders (CamelIMAPXStore *istore,
+ 	GHashTable *folders_from_server;
+ 	gboolean notify_all;
+ 	gint i, total;
++	GError *local_error = NULL;
+ 
+ 	folders_from_server = fetch_folders_for_namespaces (
+-		istore, pattern, sync, cancellable, error);
+-	if (folders_from_server == NULL)
++		istore, pattern, sync, cancellable, &local_error);
++	if (folders_from_server == NULL) {
++		if (local_error)
++			g_propagate_error (error, local_error);
+ 		return FALSE;
++	}
++
++	/* In certain situations can happen that the function returns data,
++	   even either the operation was cancelled or an error was set,
++	   thus check for this and do not update local list of folders
++	   with incomplete data
++	*/
++	if (g_cancellable_is_cancelled (cancellable) || local_error) {
++		g_hash_table_foreach (folders_from_server, imapx_get_folders_free, NULL);
++		g_hash_table_destroy (folders_from_server);
++
++		if (local_error)
++			g_propagate_error (error, local_error);
++
++		return FALSE;
++	}
+ 
+ 	settings = camel_service_ref_settings (CAMEL_SERVICE (istore));
+ 	notify_all = !camel_imapx_settings_get_use_subscriptions (CAMEL_IMAPX_SETTINGS (settings));

Modified: experimental/evolution-data-server/debian/patches/series
URL: http://svn.debian.org/wsvn/pkg-evolution/experimental/evolution-data-server/debian/patches/series?rev=2347&op=diff
==============================================================================
--- experimental/evolution-data-server/debian/patches/series (original)
+++ experimental/evolution-data-server/debian/patches/series Sat Mar 23 09:59:50 2013
@@ -1,0 +1,1 @@
+imapx_dont_remove_folders_on_error.patch




More information about the pkg-evolution-commits mailing list