From: Fernando Tarlá Cardoso Lemos Date: Fri, 28 Jan 2011 00:06:47 +0000 (-0200) Subject: Fix assertion when moving out of a floating container. X-Git-Tag: tree-pr2~78 X-Git-Url: https://git.sur5r.net/?a=commitdiff_plain;h=8be40932f2e69068ce89cf9009af4dd77c0fdf1a;p=i3%2Fi3 Fix assertion when moving out of a floating container. --- 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