diff options
author | Carlos Garnacho <carlosg@gnome.org> | 2018-09-08 13:38:03 +0200 |
---|---|---|
committer | Carlos Garnacho <carlosg@gnome.org> | 2018-09-09 12:36:02 +0200 |
commit | 7d279178fc0045948ba7209b317f305926cf7c03 (patch) | |
tree | 008062ddf43325dc481b2a2dced80a3292602d88 | |
parent | 4b125e78b57f489775b92c15c935e36aa249e5f5 (diff) | |
download | tracker-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.c | 10 |
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 |