From 2fe0949abd8b73a5dbc3c7f825982f79ecfa976d Mon Sep 17 00:00:00 2001 From: Michael Stapelberg Date: Sun, 18 Sep 2011 17:43:02 +0100 Subject: [PATCH] Bugfix: Only change focus in tree_close() when the container was focused before MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit Fixes: #441 I’m not sure if that’s really all there is to it. Seems a bit too simple :). We’ll see if I missed some corner cases in the next few days… --- src/tree.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/tree.c b/src/tree.c index 240c22a6..0d0c2e9f 100644 --- a/src/tree.c +++ b/src/tree.c @@ -220,12 +220,13 @@ bool tree_close(Con *con, kill_window_t kill_window, bool dont_kill_parent) { if (was_mapped || con == focused) { if ((kill_window != DONT_KILL_WINDOW) || !dont_kill_parent || con == focused) { DLOG("focusing %p / %s\n", next, next->name); - /* TODO: check if the container (or one of its children) was focused */ if (next->type == CT_DOCKAREA) { /* Instead of focusing the dockarea, we need to restore focus to the workspace */ con_focus(con_descend_focused(output_get_content(next->parent))); } else { - con_focus(next); + if (con != focused) + DLOG("not changing focus, the container was not focused before\n"); + else con_focus(next); } } else { -- 2.39.5