diff options
Diffstat (limited to 'libraries/libfm/patches/0011-smb-symlinked-locations-cannot-be-launched-from-fold.patch')
-rw-r--r-- | libraries/libfm/patches/0011-smb-symlinked-locations-cannot-be-launched-from-fold.patch | 57 |
1 files changed, 0 insertions, 57 deletions
diff --git a/libraries/libfm/patches/0011-smb-symlinked-locations-cannot-be-launched-from-fold.patch b/libraries/libfm/patches/0011-smb-symlinked-locations-cannot-be-launched-from-fold.patch deleted file mode 100644 index a980e81668..0000000000 --- a/libraries/libfm/patches/0011-smb-symlinked-locations-cannot-be-launched-from-fold.patch +++ /dev/null @@ -1,57 +0,0 @@ -From 690e15ba4367784f3ac2134c5e68d52ee05e6cbb Mon Sep 17 00:00:00 2001 -From: Andriy Grytsenko <andrej@rep.kiev.ua> -Date: Thu, 15 Nov 2012 21:08:51 +0200 -Subject: [PATCH 11/22] smb:// symlinked locations cannot be launched from - folder view. - -This is because we don't assume each symlink is a folder anymore -(that assuming was stupid anyway) so we check how to handle the -symlink target. We have to get info on the target. If target isn't -mounted we cannot retrieve info on it and FmFileInfoJob fails. -Therefore we cannot launch the location. -The commit adds creation of simplest file info which contains only -name and type (directory) for not mounted location. ---- - src/job/fm-file-info-job.c | 19 +++++++++++++++++++ - 1 file changed, 19 insertions(+) - -diff --git a/src/job/fm-file-info-job.c b/src/job/fm-file-info-job.c -index 19acb1b..69eb37d 100644 ---- a/src/job/fm-file-info-job.c -+++ b/src/job/fm-file-info-job.c -@@ -165,6 +165,24 @@ static gboolean fm_file_info_job_run(FmJob* fmjob) - gf = fm_path_to_gfile(path); - if(!_fm_file_info_job_get_info_for_gfile(fmjob, fi, gf, &err)) - { -+ if(err->domain == G_IO_ERROR && err->code == G_IO_ERROR_NOT_MOUNTED) -+ { -+ GFileInfo *inf; -+ /* location by link isn't mounted; unfortunately we cannot -+ launch a target if we don't know what kind of target we -+ have; lets make a simplest directory-kind GFIleInfo */ -+ /* FIXME: this may be dirty a bit */ -+ g_error_free(err); -+ err = NULL; -+ inf = g_file_info_new(); -+ g_file_info_set_file_type(inf, G_FILE_TYPE_DIRECTORY); -+ g_file_info_set_name(inf, fm_path_get_basename(path)); -+ g_file_info_set_display_name(inf, fm_path_get_basename(path)); -+ fm_file_info_set_from_gfileinfo(fi, inf); -+ g_object_unref(inf); -+ } -+ else -+ { - FmJobErrorAction act = fm_job_emit_error(fmjob, err, FM_JOB_ERROR_MILD); - g_error_free(err); - err = NULL; -@@ -175,6 +193,7 @@ static gboolean fm_file_info_job_run(FmJob* fmjob) - } - - fm_file_info_list_delete_link(job->file_infos, l); /* also calls unref */ -+ } - } - g_object_unref(gf); - } --- -1.8.0.1 - |