diff options
author | Patrick McDermott <pj@pehjota.net> | 2017-10-23 23:50:50 (EDT) |
---|---|---|
committer | Patrick McDermott <pj@pehjota.net> | 2017-10-23 23:50:50 (EDT) |
commit | 398bf9044f809be97df24e442a6efaa13729c878 (patch) | |
tree | fadb8c2397f1d3e3ea922b38e30667919b949531 /src | |
parent | 4fb37b1ef103fd9470a991cd334f2d3c99b52baf (diff) | |
download | marquee-398bf9044f809be97df24e442a6efaa13729c878.zip marquee-398bf9044f809be97df24e442a6efaa13729c878.tar.gz marquee-398bf9044f809be97df24e442a6efaa13729c878.tar.bz2 |
mq_tree_insert_*(): Fix position updating tree traversal
Just use mq_tree_foreach_from() now.
Diffstat (limited to 'src')
-rw-r--r-- | src/tree.c | 24 |
1 files changed, 15 insertions, 9 deletions
@@ -97,18 +97,24 @@ update_sizes(MqTree *node, gint step) } } +static gboolean +update_position(MqTree *node, gpointer user_data) +{ + gint *step; + + step = (gint *) user_data; + + node->position += *step; + + return MQ_TREE_CONTINUE; +} + static void update_positions(MqTree *node, gint step) { - for (; node; node = node->next) { - node->position += step; - if (node->first_child) { - update_positions(node->first_child, step); - } - if (node->parent && node->parent->next) { - update_positions(node->parent->next, step); - } - } + print_head("Updating positions", node); + + mq_tree_foreach_from(node, update_position, &step); } MqTree * |