aboutsummaryrefslogtreecommitdiffstats
path: root/mail/em-folder-utils.c
diff options
context:
space:
mode:
authorMatthew Barnes <mbarnes@redhat.com>2011-05-26 00:14:32 +0800
committerRodrigo Moya <rodrigo@gnome-db.org>2011-06-30 00:42:20 +0800
commitd9ccdb74843ff808980df3bf36cc7326f575cb80 (patch)
tree44f3c15f6f9e7f3eb88e4b809e81f4290f38cb25 /mail/em-folder-utils.c
parent0c4f4aa6ce4877f7010b98cdee61378d2cd4ed7d (diff)
downloadgsoc2013-evolution-d9ccdb74843ff808980df3bf36cc7326f575cb80.tar
gsoc2013-evolution-d9ccdb74843ff808980df3bf36cc7326f575cb80.tar.gz
gsoc2013-evolution-d9ccdb74843ff808980df3bf36cc7326f575cb80.tar.bz2
gsoc2013-evolution-d9ccdb74843ff808980df3bf36cc7326f575cb80.tar.lz
gsoc2013-evolution-d9ccdb74843ff808980df3bf36cc7326f575cb80.tar.xz
gsoc2013-evolution-d9ccdb74843ff808980df3bf36cc7326f575cb80.tar.zst
gsoc2013-evolution-d9ccdb74843ff808980df3bf36cc7326f575cb80.zip
Check for vfolder stores by UID, not URI.
Diffstat (limited to 'mail/em-folder-utils.c')
-rw-r--r--mail/em-folder-utils.c19
1 files changed, 8 insertions, 11 deletions
diff --git a/mail/em-folder-utils.c b/mail/em-folder-utils.c
index 6bcf06146a..05fcb4b064 100644
--- a/mail/em-folder-utils.c
+++ b/mail/em-folder-utils.c
@@ -405,26 +405,23 @@ emfu_copy_folder_exclude (EMFolderTree *tree,
gpointer data)
{
struct _copy_folder_data *cfd = data;
- CamelProvider *source_provider;
- CamelService *source_service;
+ CamelStore *store;
+ const gchar *uid;
gint fromvfolder, tovfolder;
- gchar *touri;
guint flags;
- gboolean is_store;
/* handles moving to/from vfolders */
- source_service = CAMEL_SERVICE (cfd->source_store);
- source_provider = camel_service_get_provider (source_service);
- fromvfolder = (g_strcmp0 (source_provider->protocol, "vfolder") == 0);
+ uid = camel_service_get_uid (CAMEL_SERVICE (cfd->source_store));
+ fromvfolder = (g_strcmp0 (uid, "vfolder") == 0);
gtk_tree_model_get (
model, iter,
- COL_STRING_URI, &touri,
COL_UINT_FLAGS, &flags,
- COL_BOOL_IS_STORE, &is_store, -1);
- tovfolder = strncmp(touri, "vfolder:", 8) == 0;
- g_free (touri);
+ COL_POINTER_CAMEL_STORE, &store, -1);
+
+ uid = camel_service_get_uid (CAMEL_SERVICE (store));
+ tovfolder = (g_strcmp0 (uid, "vfolder") == 0);
/* moving from vfolder to normal- not allowed */
if (fromvfolder && !tovfolder && cfd->delete)