tracker/0002-libtracker-miner-Fallback-to-basename-checks-on-hidd.patch
Igor Gnatenko 579aeb8143 backport upstream rss fixes
Signed-off-by: Igor Gnatenko <i.gnatenko.brain@gmail.com>
2015-07-24 10:15:47 +03:00

43 lines
1.4 KiB
Diff

From ca48064339d58a9b5a87e005629d671fe663256b Mon Sep 17 00:00:00 2001
From: Carlos Garnacho <carlosg@gnome.org>
Date: Wed, 22 Jul 2015 20:19:20 +0200
Subject: [PATCH 2/4] libtracker-miner: Fallback to basename checks on hidden
files
When we receive DELETED events on files, the TrackerFileNotifier/
TrackerIndexingTree attempt to find out if its hidden and should
thus be ignored. However the g_file_query_info() evidently fails
at that time, with the file already deleted, so we think the file
is not hidden and the delete operation gets propagated to the
TrackerMineFS.
Fix this by resorting to basename checks as a last resort, so
we do the right thing even after the file is gone.
---
src/libtracker-common/tracker-file-utils.c | 9 +++++++++
1 file changed, 9 insertions(+)
diff --git a/src/libtracker-common/tracker-file-utils.c b/src/libtracker-common/tracker-file-utils.c
index 6fca87e..123d347 100644
--- a/src/libtracker-common/tracker-file-utils.c
+++ b/src/libtracker-common/tracker-file-utils.c
@@ -743,6 +743,15 @@ tracker_file_is_hidden (GFile *file)
/* Check if GIO says the file is hidden */
is_hidden = g_file_info_get_is_hidden (file_info);
g_object_unref (file_info);
+ } else {
+ gchar *basename;
+
+ /* Resort last to basename checks, this might happen on
+ * already deleted files.
+ */
+ basename = g_file_get_basename (file);
+ is_hidden = basename[0] == '.';
+ g_free (basename);
}
return is_hidden;
--
2.4.6