From 6814d07e3cdc271017488137c02074e7792596eb Mon Sep 17 00:00:00 2001 From: Martyn Russell Date: Mon, 12 May 2014 12:00:39 +0100 Subject: 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 --- src/libtracker-control/tracker-miner-manager.c | 11 +++++++++-- 1 file 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) { -- cgit v1.2.1