From 03ea7cea285126d864f4c34ca205461563275763 Mon Sep 17 00:00:00 2001 From: Michael Stapelberg Date: Sat, 19 Mar 2011 22:54:53 +0100 Subject: [PATCH] Bugfix: also invalidate focused_id when the to_focus window is not mapped This fixes a bug where focus might not be set correctly when changing workspaces --- src/x.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/x.c b/src/x.c index 8af2e62e..444b39ac 100644 --- a/src/x.c +++ b/src/x.c @@ -637,6 +637,8 @@ void x_push_changes(Con *con) { if (focused_id != to_focus) { if (!focused->mapped) { DLOG("Not updating focus (to %p / %s), focused window is not mapped.\n", focused, focused->name); + /* Invalidate focused_id to correctly focus new windows with the same ID */ + focused_id = XCB_NONE; } else { DLOG("Updating focus (focused: %p / %s)\n", focused, focused->name); xcb_set_input_focus(conn, XCB_INPUT_FOCUS_POINTER_ROOT, to_focus, XCB_CURRENT_TIME); -- 2.39.5