summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCarlos Garnacho <carlosg@gnome.org>2018-09-08 13:38:03 +0200
committerCarlos Garnacho <carlosg@gnome.org>2018-09-09 12:36:02 +0200
commit7d279178fc0045948ba7209b317f305926cf7c03 (patch)
tree008062ddf43325dc481b2a2dced80a3292602d88
parent4b125e78b57f489775b92c15c935e36aa249e5f5 (diff)
downloadtracker-7d279178fc0045948ba7209b317f305926cf7c03.tar.gz
libtracker-miner: Unparent children on TrackerFileSystem root dispose
We unparented children on intermediate folders, but didn't handle the case of the root folder disappearing. Unparent the child nodes so they get correctly freed when the respective GFiles are disposed.
-rw-r--r--src/libtracker-miner/tracker-file-system.c10
1 files changed, 5 insertions, 5 deletions
diff --git a/src/libtracker-miner/tracker-file-system.c b/src/libtracker-miner/tracker-file-system.c
index 6c42e6a40..961da4714 100644
--- a/src/libtracker-miner/tracker-file-system.c
+++ b/src/libtracker-miner/tracker-file-system.c
@@ -464,10 +464,6 @@ reparent_child_nodes_to_parent (GNode *node)
FileNodeData *node_data;
GNode *child, *parent;
- if (!node->parent) {
- return;
- }
-
parent = node->parent;
node_data = node->data;
child = g_node_first_child (node);
@@ -489,8 +485,12 @@ reparent_child_nodes_to_parent (GNode *node)
data->uri_prefix = uri_prefix;
g_node_unlink (cur);
- g_node_prepend (parent, cur);
+
+ if (parent)
+ g_node_prepend (parent, cur);
}
+
+ g_assert (!g_node_first_child (node));
}
static void