From 8be40932f2e69068ce89cf9009af4dd77c0fdf1a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fernando=20Tarl=C3=A1=20Cardoso=20Lemos?= Date: Thu, 27 Jan 2011 22:06:47 -0200 Subject: [PATCH] Fix assertion when moving out of a floating container. --- src/tree.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/src/tree.c b/src/tree.c index 9a2aab96..ed953b34 100644 --- a/src/tree.c +++ b/src/tree.c @@ -448,6 +448,7 @@ void tree_move(char way, orientation_t orientation) { con_detach(focused); con_fix_percent(focused->parent); focused->parent = parent; + fix_percent = true; TAILQ_INSERT_HEAD(&(parent->nodes_head), focused, nodes); TAILQ_INSERT_HEAD(&(parent->focus_head), focused, focused); @@ -526,11 +527,12 @@ void tree_move(char way, orientation_t orientation) { /* fix the percentages in the container we moved to */ if (fix_percent) { int children = con_num_children(focused->parent); - if (children == 1) + if (children == 1) { focused->percent = 1.0; - else + } else { focused->percent = 1.0 / (children - 1); - con_fix_percent(focused->parent); + con_fix_percent(focused->parent); + } } /* We need to call con_focus() to fix the focus stack "above" the container