[tracker/tracker-0.8] Fixes NB#181421: Duplicates when monitor events processed before directory is created in store
- From: Martyn James Russell <mr src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [tracker/tracker-0.8] Fixes NB#181421: Duplicates when monitor events processed before directory is created in store
- Date: Thu, 19 Aug 2010 16:13:22 +0000 (UTC)
commit e978dbc8432e140a24708bea5803ac3860e4d90d
Author: Aleksander Morgado <aleksander lanedo com>
Date: Thu Aug 5 20:38:05 2010 +0200
Fixes NB#181421: Duplicates when monitor events processed before directory is created in store
src/libtracker-miner/tracker-miner-fs.c | 13 +++++++++++++
1 files changed, 13 insertions(+), 0 deletions(-)
---
diff --git a/src/libtracker-miner/tracker-miner-fs.c b/src/libtracker-miner/tracker-miner-fs.c
index ef4f64b..ffc963c 100644
--- a/src/libtracker-miner/tracker-miner-fs.c
+++ b/src/libtracker-miner/tracker-miner-fs.c
@@ -2924,6 +2924,19 @@ crawler_check_directory_contents_cb (TrackerCrawler *crawler,
* the finished sig?
*/
if (add_monitor) {
+ /* Before adding the monitor, start notifying the store
+ * about the new directory, so that if any file event comes
+ * afterwards, the directory is already in store. */
+ g_queue_push_tail (fs->private->items_created,
+ g_object_ref (parent));
+ item_queue_handlers_set_up (fs);
+
+ /* As we already added here, specify that it shouldn't be added
+ * any more */
+ g_object_set_qdata (G_OBJECT (parent),
+ fs->private->quark_ignore_file,
+ GINT_TO_POINTER (TRUE));
+
tracker_monitor_add (fs->private->monitor, parent);
} else {
tracker_monitor_remove (fs->private->monitor, parent);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]