summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--desktop/treeview.c9
1 files changed, 4 insertions, 5 deletions
diff --git a/desktop/treeview.c b/desktop/treeview.c
index 50fa3d26e..d4bcc8f82 100644
--- a/desktop/treeview.c
+++ b/desktop/treeview.c
@@ -1090,7 +1090,6 @@ static nserror treeview_delete_node_internal(treeview *tree, treeview_node *n,
static nserror treeview_delete_empty_nodes(treeview *tree, bool interaction)
{
treeview_node *node, *child, *parent, *next_sibling, *p;
- treeview_node *root = tree->root;
bool abort = false;
nserror err;
struct treeview_node_delete nd = {
@@ -1099,7 +1098,7 @@ static nserror treeview_delete_empty_nodes(treeview *tree, bool interaction)
.user_interaction = interaction
};
- node = root;
+ node = tree->root;
parent = node->parent;
next_sibling = node->next_sib;
child = (node->flags & TREE_NODE_EXPANDED) ? node->children : NULL;
@@ -1114,7 +1113,7 @@ static nserror treeview_delete_empty_nodes(treeview *tree, bool interaction)
* go to next sibling if present, or nearest ancestor
* with a next sibling. */
- while (node != root &&
+ while (node->parent != NULL &&
next_sibling == NULL) {
if (node->type == TREE_NODE_FOLDER &&
node->children == NULL) {
@@ -1140,7 +1139,7 @@ static nserror treeview_delete_empty_nodes(treeview *tree, bool interaction)
next_sibling = node->next_sib;
}
- if (node == root)
+ if (node->parent == NULL)
break;
if (node->type == TREE_NODE_FOLDER &&
@@ -1165,7 +1164,7 @@ static nserror treeview_delete_empty_nodes(treeview *tree, bool interaction)
}
assert(node != NULL);
- assert(node != root);
+ assert(node->parent != NULL);
parent = node->parent;
next_sibling = node->next_sib;