[tracker/tracker-1.0] libtracker-control: Don't error with g_file_enumerator_next_file()



commit 048aadea50685826ff5e70fca9a477672116541f
Author: Martyn Russell <martyn lanedo com>
Date:   Mon May 12 12:00:39 2014 +0100

    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 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 3d9da57..b9d38bd 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) {
 


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]