From: Michael Stapelberg Date: Sat, 11 Dec 2010 16:07:20 +0000 (+0100) Subject: Bugfix: Don’t update focus when container is not mapped X-Git-Tag: tree-pr2~162 X-Git-Url: https://git.sur5r.net/?a=commitdiff_plain;h=41eb810531567083633e5d897692bcae5cbe9577;p=i3%2Fi3 Bugfix: Don’t update focus when container is not mapped --- diff --git a/src/x.c b/src/x.c index 979b8734..fa003020 100644 --- a/src/x.c +++ b/src/x.c @@ -589,10 +589,15 @@ void x_push_changes(Con *con) { if (focused->window != NULL) to_focus = focused->window->id; + DLOG("focused_id = 0x%08x, to_focus = 0x%08x\n", focused_id, to_focus); if (focused_id != to_focus) { - LOG("Updating focus (focused: %p / %s)\n", focused, focused->name); - xcb_set_input_focus(conn, XCB_INPUT_FOCUS_POINTER_ROOT, to_focus, XCB_CURRENT_TIME); - focused_id = to_focus; + if (!focused->mapped) { + DLOG("Not updating focus (to %p / %s), focused window is not mapped.\n", focused, focused->name); + } else { + LOG("Updating focus (focused: %p / %s)\n", focused, focused->name); + xcb_set_input_focus(conn, XCB_INPUT_FOCUS_POINTER_ROOT, to_focus, XCB_CURRENT_TIME); + focused_id = to_focus; + } } xcb_flush(conn);