[tracker/external-crawler: 36/41] libtracker-miner: Create nodes / cahces in constructed() not init()
- From: Martyn James Russell <mr src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [tracker/external-crawler: 36/41] libtracker-miner: Create nodes / cahces in constructed() not init()
- Date: Fri, 11 Jul 2014 17:37:40 +0000 (UTC)
commit a7663368c5b96cea319ee733fc668cc0db371389
Author: Martyn Russell <martyn lanedo com>
Date: Tue Jul 1 10:48:11 2014 +0100
libtracker-miner: Create nodes / cahces in constructed() not init()
We do this because the GFile which is the root for the TrackerFileSystem is a
property which is set on object construction. If we try to do this in init()
the root is unset at that point. So we wait until constructed where properties
are guaranteed to be set.
Also Chain parent constructed() in TrackerFileSystem
src/libtracker-miner/tracker-file-system.c | 27 +++++++++++++++++++--------
1 files changed, 19 insertions(+), 8 deletions(-)
---
diff --git a/src/libtracker-miner/tracker-file-system.c b/src/libtracker-miner/tracker-file-system.c
index 9d5384d..72943b0 100644
--- a/src/libtracker-miner/tracker-file-system.c
+++ b/src/libtracker-miner/tracker-file-system.c
@@ -364,6 +364,24 @@ file_system_finalize (GObject *object)
}
static void
+file_system_constructed (GObject *object)
+{
+ TrackerFileSystemPrivate *priv;
+ FileNodeData *root_data;
+
+ G_OBJECT_CLASS (tracker_file_system_parent_class)->constructed (object);
+
+ priv = TRACKER_FILE_SYSTEM (object)->priv;
+
+ if (priv->root == NULL) {
+ priv->root = g_file_new_for_uri ("file:///");
+ }
+
+ root_data = file_node_data_root_new (priv->root);
+ priv->file_tree = g_node_new (root_data);
+}
+
+static void
file_system_get_property (GObject *object,
guint prop_id,
GValue *value,
@@ -409,6 +427,7 @@ tracker_file_system_class_init (TrackerFileSystemClass *klass)
GObjectClass *object_class = G_OBJECT_CLASS (klass);
object_class->finalize = file_system_finalize;
+ object_class->constructed = file_system_constructed;
object_class->get_property = file_system_get_property;
object_class->set_property = file_system_set_property;
@@ -430,19 +449,11 @@ static void
tracker_file_system_init (TrackerFileSystem *file_system)
{
TrackerFileSystemPrivate *priv;
- FileNodeData *root_data;
file_system->priv = priv =
G_TYPE_INSTANCE_GET_PRIVATE (file_system,
TRACKER_TYPE_FILE_SYSTEM,
TrackerFileSystemPrivate);
-
- if (priv->root == NULL) {
- priv->root = g_file_new_for_uri ("file:///");
- }
-
- root_data = file_node_data_root_new (priv->root);
- priv->file_tree = g_node_new (root_data);
}
TrackerFileSystem *
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]