From: Michael Stapelberg Date: Sun, 18 Sep 2011 13:38:39 +0000 (+0100) Subject: Bugfix: Use con_orientation(). Fixes switching between different outputs X-Git-Tag: 4.1~151^2^2 X-Git-Url: https://git.sur5r.net/?a=commitdiff_plain;h=7a2e92a11646eee8459fc982c0569b4d454c6db9;p=i3%2Fi3 Bugfix: Use con_orientation(). Fixes switching between different outputs Fixes: #518 For stacking containers, direct access using con->orientation is wrong, we need to use con_orientation(). --- diff --git a/src/con.c b/src/con.c index d5346c41..91970672 100644 --- a/src/con.c +++ b/src/con.c @@ -835,15 +835,16 @@ Con *con_descend_tiling_focused(Con *con) { */ Con *con_descend_direction(Con *con, direction_t direction) { Con *most = NULL; - DLOG("con_descend_direction(%p, %d)\n", con, direction); + int orientation = con_orientation(con); + DLOG("con_descend_direction(%p, orientation %d, direction %d)\n", con, orientation, direction); if (direction == D_LEFT || direction == D_RIGHT) { - if (con->orientation == HORIZ) { + if (orientation == HORIZ) { /* If the direction is horizontal, we can use either the first * (D_RIGHT) or the last con (D_LEFT) */ if (direction == D_RIGHT) most = TAILQ_FIRST(&(con->nodes_head)); else most = TAILQ_LAST(&(con->nodes_head), nodes_head); - } else if (con->orientation == VERT) { + } else if (orientation == VERT) { /* Wrong orientation. We use the last focused con. Within that con, * we recurse to chose the left/right con or at least the last * focused one. */ @@ -856,13 +857,13 @@ Con *con_descend_direction(Con *con, direction_t direction) { } if (direction == D_UP || direction == D_DOWN) { - if (con->orientation == VERT) { + if (orientation == VERT) { /* If the direction is vertical, we can use either the first * (D_DOWN) or the last con (D_UP) */ if (direction == D_UP) most = TAILQ_LAST(&(con->nodes_head), nodes_head); else most = TAILQ_FIRST(&(con->nodes_head)); - } else if (con->orientation == HORIZ) { + } else if (orientation == HORIZ) { /* Wrong orientation. We use the last focused con. Within that con, * we recurse to chose the top/bottom con or at least the last * focused one. */