File libfm-1.2.3-Fix-crash-on-cancelling-FmDirListJob.patch of Package libfm
From 96a48e25c354d0bc482857dcad7cba306db78f11 Mon Sep 17 00:00:00 2001
From: Andriy Grytsenko <andrej@rep.kiev.ua>
Date: Wed, 10 Jun 2015 14:19:03 +0300
Subject: [PATCH] Fix crash on cancelling FmDirListJob while retrieving is in
progress.
The test fm_job_is_cancelled() was missed when tried to display error
message for damaged file info.
---
diff --git a/src/job/fm-dir-list-job.c b/src/job/fm-dir-list-job.c
index f9bfc5a..410084f 100644
--- a/src/job/fm-dir-list-job.c
+++ b/src/job/fm-dir-list-job.c
@@ -2,7 +2,7 @@
* fm-dir-list-job.c
*
* Copyright 2009 PCMan <pcman.tw@gmail.com>
- * Copyright 2013-2014 Andriy Grytsenko (LStranger) <andrej@rep.kiev.ua>
+ * Copyright 2013-2015 Andriy Grytsenko (LStranger) <andrej@rep.kiev.ua>
*
* This file is a part of the Libfm library.
*
@@ -215,6 +215,7 @@ static inline FmFileInfo *_new_info_for_native_file(FmDirListJob* job, FmPath* p
fm_file_info_set_path(fi, path);
if (fm_file_info_set_from_native_file(fi, path_str, err))
return fi;
+ g_assert(err != NULL);
fm_file_info_unref(fi);
return NULL;
}
@@ -286,7 +287,7 @@ static gboolean fm_dir_list_job_run_posix(FmDirListJob* job)
_retry:
fi = _new_info_for_native_file(job, new_path, fpath->str, &err);
- if (fi == NULL) /* we got a damaged file */
+ if (fi == NULL && !fm_job_is_cancelled(fmjob)) /* we got a damaged file */
{
FmJobErrorAction act = fm_job_emit_error(fmjob, err, FM_JOB_ERROR_MILD);
GFile *gf;
--
2.1.4