[tracker/hierarchical-indexing: 7/7] TrackerMinerFS: Ensure ::check-directory is called on root folders.



commit 17cdc5128226860132283853f5490fbcfd1d5ad2
Author: Carlos Garnacho <carlos lanedo com>
Date:   Thu Feb 18 14:29:53 2010 +0100

    TrackerMinerFS: Ensure ::check-directory is called on root folders.

 src/libtracker-miner/tracker-crawler.c |   22 +++++++++++++++++-----
 1 files changed, 17 insertions(+), 5 deletions(-)
---
diff --git a/src/libtracker-miner/tracker-crawler.c b/src/libtracker-miner/tracker-crawler.c
index 1980f95..462ce94 100644
--- a/src/libtracker-miner/tracker-crawler.c
+++ b/src/libtracker-miner/tracker-crawler.c
@@ -418,12 +418,24 @@ process_func (gpointer data)
 	if (dir_data) {
 		/* One directory inside the tree hierarchy is being inspected */
 		if (!dir_data->was_inspected) {
-			/* Directory contents haven't been inspected yet,
-			 * stop this idle function while it's being iterated
-			 */
-			file_enumerate_children (crawler, info, dir_data);
+			gboolean iterate;
+
+			if (G_NODE_IS_ROOT (dir_data->node)) {
+				iterate = check_directory (crawler, info, dir_data->node->data);
+			} else {
+				/* Directory has been already checked in the block below */
+				iterate = TRUE;
+			}
+
 			dir_data->was_inspected = TRUE;
-			stop_idle = TRUE;
+
+			if (iterate) {
+				/* Directory contents haven't been inspected yet,
+				 * stop this idle function while it's being iterated
+				 */
+				file_enumerate_children (crawler, info, dir_data);
+				stop_idle = TRUE;
+			}
 		} else if (dir_data->was_inspected &&
 			   !dir_data->ignored_by_content &&
 			   dir_data->children != NULL) {



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