[tracker] libtracker-miner: Proceed into querying if tracker_crawler_start() fails



commit 38b4d19a9a0016dc4395080b57ccdffd25233f73
Author: Carlos Garnacho <carlosg gnome org>
Date:   Mon Feb 15 00:00:18 2016 +0100

    libtracker-miner: Proceed into querying if tracker_crawler_start() fails
    
    tracker_crawler_start() may return FALSE if the directory doesn't exist
    or its ::check-directory handlers return FALSE. We must continue in these
    circumstances into querying the directory as usual, so it's contrasted
    and eventually deleted by file_notifier_traverse_tree_foreach().

 src/libtracker-miner/tracker-file-notifier.c |   16 ++++++++++++----
 1 files changed, 12 insertions(+), 4 deletions(-)
---
diff --git a/src/libtracker-miner/tracker-file-notifier.c b/src/libtracker-miner/tracker-file-notifier.c
index 76c1e40..f95cea4 100644
--- a/src/libtracker-miner/tracker-file-notifier.c
+++ b/src/libtracker-miner/tracker-file-notifier.c
@@ -102,6 +102,10 @@ typedef struct {
 } SparqlStartData;
 
 static gboolean crawl_directories_start (TrackerFileNotifier *notifier);
+static void     sparql_files_query_start (TrackerFileNotifier  *notifier,
+                                          GFile               **files,
+                                          guint                 n_files,
+                                          gint                  max_depth);
 
 G_DEFINE_TYPE (TrackerFileNotifier, tracker_file_notifier, G_TYPE_OBJECT)
 
@@ -607,10 +611,14 @@ crawl_directory_in_current_root (TrackerFileNotifier *notifier)
                depth = MAX_DEPTH;
        }
 
-       return tracker_crawler_start (priv->crawler,
-                                     directory,
-                                     priv->current_index_root->flags,
-                                     depth);
+       if (!tracker_crawler_start (priv->crawler,
+                                   directory,
+                                   priv->current_index_root->flags,
+                                   depth)) {
+               sparql_files_query_start (notifier, &directory, 1, depth);
+       }
+
+       return TRUE;
 }
 
 static void


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