diff options
author | Martyn Russell <martyn@lanedo.com> | 2014-05-12 12:00:39 +0100 |
---|---|---|
committer | Martyn Russell <martyn@lanedo.com> | 2014-05-12 12:02:37 +0100 |
commit | 6814d07e3cdc271017488137c02074e7792596eb (patch) | |
tree | 8e3470ef42d4f628d7d285f597177a1c52714e0d | |
parent | f91ee92cc9947452b0730732dad48e558024fa03 (diff) | |
download | tracker-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.c | 11 |
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) { |