From 506b7f40048185bd3e7a87b9ec27e58c6724046c Mon Sep 17 00:00:00 2001 From: Michael Stapelberg Date: Mon, 6 Aug 2012 03:11:11 +0200 Subject: [PATCH] =?UTF-8?q?Bugfix=20for=20previous=20commit:=20Don?= =?UTF-8?q?=E2=80=99t=20crash=20with=20dock=20windows?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/con.c | 6 +++++- src/x.c | 3 ++- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/src/con.c b/src/con.c index 6f2a85b2..eb733355 100644 --- a/src/con.c +++ b/src/con.c @@ -936,8 +936,12 @@ Con *con_descend_direction(Con *con, direction_t direction) { Rect con_border_style_rect(Con *con) { adjacent_t borders_to_hide = ADJ_NONE; Rect result; + /* Shortcut to avoid calling con_adjacent_borders() on dock containers. */ + int border_style = con_border_style(con); + if (border_style == BS_NONE) + return (Rect){ 0, 0, 0, 0 }; borders_to_hide = con_adjacent_borders(con) & config.hide_edge_borders; - switch (con_border_style(con)) { + switch (border_style) { case BS_NORMAL: result = (Rect){2, 0, -(2 * 2), -2}; if (borders_to_hide & ADJ_LEFT_SCREEN_EDGE) { diff --git a/src/x.c b/src/x.c index cd85bcc6..9aea9fb8 100644 --- a/src/x.c +++ b/src/x.c @@ -305,13 +305,14 @@ void x_draw_decoration(Con *con) { * • non-leaf containers which are in a stacked/tabbed container * * It does not need to run for: - * • direct children of outputs + * • direct children of outputs or dockareas * • floating containers (they don’t have a decoration) */ if ((!leaf && parent->layout != L_STACKED && parent->layout != L_TABBED) || parent->type == CT_OUTPUT || + parent->type == CT_DOCKAREA || con->type == CT_FLOATING_CON) return;