aboutsummaryrefslogtreecommitdiffstats
path: root/shell/e-storage-set-view.c
diff options
context:
space:
mode:
Diffstat (limited to 'shell/e-storage-set-view.c')
-rw-r--r--shell/e-storage-set-view.c13
1 files changed, 10 insertions, 3 deletions
diff --git a/shell/e-storage-set-view.c b/shell/e-storage-set-view.c
index fcc288b70b..dc084fac35 100644
--- a/shell/e-storage-set-view.c
+++ b/shell/e-storage-set-view.c
@@ -1170,17 +1170,22 @@ tree_drag_data_received (ETree *etree,
if (strcmp (target_type, EVOLUTION_PATH_TARGET_TYPE) == 0) {
const char *source_path;
- const char *destination_path;
+ const char *destination_folder_path;
+ char *destination_path;
source_path = (const char *) selection_data->data;
/* (Basic sanity checks.) */
if (source_path == NULL || source_path[0] != G_DIR_SEPARATOR || source_path[1] == '\0')
return;
- destination_path = e_tree_memory_node_get_data (E_TREE_MEMORY (priv->etree_model), path);
- if (destination_path == NULL)
+ destination_folder_path = e_tree_memory_node_get_data (E_TREE_MEMORY (priv->etree_model), path);
+ if (destination_folder_path == NULL)
return;
+ destination_path = g_concat_dir_and_file (destination_folder_path,
+ g_basename (source_path));
+
+
switch (context->action) {
case GDK_ACTION_MOVE:
g_print ("EStorageSetView: Moving from `%s' to `%s'\n", source_path, destination_path);
@@ -1195,6 +1200,8 @@ tree_drag_data_received (ETree *etree,
default:
g_warning ("EStorageSetView: Don't know action %d\n", context->action);
}
+
+ g_free (destination_path);
}
target_path = e_tree_memory_node_get_data (E_TREE_MEMORY(priv->etree_model), path);