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
committerMatthew Barnes <mbarnes@redhat.com>2011-05-26 00:14:32 +0800
commiteb91ed9977ec15abc4481eeeffb581d772ef37ef (patch)
treee9d529bdd02121bc6301ea511659e63ae18d84a7 /mail/em-folder-utils.c
parent7b8e5681e4fdca8715445f8060249e3b2d71c2bc (diff)
downloadgsoc2013-evolution-eb91ed9977ec15abc4481eeeffb581d772ef37ef.tar
gsoc2013-evolution-eb91ed9977ec15abc4481eeeffb581d772ef37ef.tar.gz
gsoc2013-evolution-eb91ed9977ec15abc4481eeeffb581d772ef37ef.tar.bz2
gsoc2013-evolution-eb91ed9977ec15abc4481eeeffb581d772ef37ef.tar.lz
gsoc2013-evolution-eb91ed9977ec15abc4481eeeffb581d772ef37ef.tar.xz
gsoc2013-evolution-eb91ed9977ec15abc4481eeeffb581d772ef37ef.tar.zst
gsoc2013-evolution-eb91ed9977ec15abc4481eeeffb581d772ef37ef.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)