summaryrefslogtreecommitdiff
path: root/libnautilus-private/nautilus-file-operations.c
diff options
context:
space:
mode:
authorCosimo Cecchi <cosimoc@gnome.org>2012-09-13 21:54:28 -0400
committerCosimo Cecchi <cosimoc@gnome.org>2012-09-13 21:56:28 -0400
commit41d2230d6fd57fa73de0adb75123c077fe5cb995 (patch)
tree446bc41fa023b60e7bb30d042670a925a816e78a /libnautilus-private/nautilus-file-operations.c
parentb1866a1f35c04363a14cac421c524cb4a2821597 (diff)
downloadnautilus-41d2230d6fd57fa73de0adb75123c077fe5cb995.tar.gz
file-operations: use the local (FUSE) path for remote symlinks
Instead of the path relative to the remote machine, in case the destination of the link is native. https://bugzilla.gnome.org/show_bug.cgi?id=148330
Diffstat (limited to 'libnautilus-private/nautilus-file-operations.c')
-rw-r--r--libnautilus-private/nautilus-file-operations.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/libnautilus-private/nautilus-file-operations.c b/libnautilus-private/nautilus-file-operations.c
index 4adf05424..811ff8661 100644
--- a/libnautilus-private/nautilus-file-operations.c
+++ b/libnautilus-private/nautilus-file-operations.c
@@ -5252,12 +5252,12 @@ report_link_progress (CopyMoveJob *link_job, int total, int left)
}
static char *
-get_abs_path_for_symlink (GFile *file)
+get_abs_path_for_symlink (GFile *file, GFile *destination)
{
GFile *root, *parent;
char *relative, *abs;
- if (g_file_is_native (file)) {
+ if (g_file_is_native (file) || g_file_is_native (destination)) {
return g_file_get_path (file);
}
@@ -5311,7 +5311,7 @@ link_file (CopyMoveJob *job,
error = NULL;
not_local = FALSE;
- path = get_abs_path_for_symlink (src);
+ path = get_abs_path_for_symlink (src, dest);
if (path == NULL) {
not_local = TRUE;
} else if (g_file_make_symbolic_link (dest,