summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMartyn Russell <martyn@lanedo.com>2014-05-12 12:00:39 +0100
committerMartyn Russell <martyn@lanedo.com>2014-05-12 12:02:37 +0100
commit6814d07e3cdc271017488137c02074e7792596eb (patch)
tree8e3470ef42d4f628d7d285f597177a1c52714e0d
parentf91ee92cc9947452b0730732dad48e558024fa03 (diff)
downloadtracker-6814d07e3cdc271017488137c02074e7792596eb.tar.gz
libtracker-control: Don't error with g_file_enumerator_next_file()
This has been happening lately for some people and it seems to be when $prefix/share/tracker/miners/ doesn't exist. This is a broken install to be fair, but Tracker should handle it more gracefully. Added a NULL check on enumerator returned from g_file_enumerate_children(). https://bugzilla.gnome.org/show_bug.cgi?id=729968
-rw-r--r--src/libtracker-control/tracker-miner-manager.c11
1 files changed, 9 insertions, 2 deletions
diff --git a/src/libtracker-control/tracker-miner-manager.c b/src/libtracker-control/tracker-miner-manager.c
index 3d9da57a8..b9d38bd19 100644
--- a/src/libtracker-control/tracker-miner-manager.c
+++ b/src/libtracker-control/tracker-miner-manager.c
@@ -746,8 +746,15 @@ directory_foreach (GFile *file,
GFileInfo *info;
GFile *child;
- enumerator = g_file_enumerate_children (file, G_FILE_ATTRIBUTE_STANDARD_NAME,
- G_FILE_QUERY_INFO_NONE, NULL, NULL);
+ enumerator = g_file_enumerate_children (file,
+ G_FILE_ATTRIBUTE_STANDARD_NAME,
+ G_FILE_QUERY_INFO_NONE,
+ NULL,
+ NULL);
+
+ if (!enumerator) {
+ return;
+ }
while ((info = g_file_enumerator_next_file (enumerator, NULL, NULL)) != NULL) {