aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--mail/ChangeLog8
-rw-r--r--mail/em-folder-tree.c13
2 files changed, 14 insertions, 7 deletions
diff --git a/mail/ChangeLog b/mail/ChangeLog
index dfa4209896..a02e22254e 100644
--- a/mail/ChangeLog
+++ b/mail/ChangeLog
@@ -1,3 +1,11 @@
+2004-02-18 Not Zed <NotZed@Ximian.com>
+
+ ** See bug #54492.
+
+ * em-folder-tree.c (emft_popup_copy_folder_selected): check the
+ store flags, not the fragment presence to find out if we use the
+ fragment as the path.
+
2004-02-17 Jeffrey Stedfast <fejj@ximian.com>
Fix for bug #54060 (except for the "don't let users copy/move
diff --git a/mail/em-folder-tree.c b/mail/em-folder-tree.c
index 1ce14f763c..d6cfb977be 100644
--- a/mail/em-folder-tree.c
+++ b/mail/em-folder-tree.c
@@ -64,7 +64,6 @@
#define d(x) x
-
struct _EMFolderTreePrivate {
GtkTreeView *treeview;
EMFolderTreeModel *model;
@@ -1730,12 +1729,12 @@ emft_popup_copy_folder_selected (const char *uri, void *data)
struct _copy_folder_data *cfd = data;
struct _EMFolderTreePrivate *priv;
CamelStore *fromstore, *tostore;
- char *tobase, *frombase;
+ char *tobase = NULL, *frombase;
GtkWindow *parent;
CamelException ex;
GtkWidget *dialog;
CamelURL *url;
-
+
if (uri == NULL) {
g_free (cfd);
return;
@@ -1763,13 +1762,13 @@ emft_popup_copy_folder_selected (const char *uri, void *data)
}
url = camel_url_new (uri, NULL);
- if (url->fragment)
+ if ( ((CamelService *)tostore)->provider->url_flags & CAMEL_URL_FRAGMENT_IS_PATH )
tobase = url->fragment;
else if (url->path && url->path[0])
- tobase = url->path + 1;
- else
+ tobase = url->path+1;
+ if (tobase == NULL)
tobase = "";
-
+
emft_copy_folders (tostore, tobase, fromstore, frombase, cfd->delete);
camel_url_free (url);