diff --git a/openbox/event.c b/openbox/event.c index 6e11f82e..868712c1 100644 --- a/openbox/event.c +++ b/openbox/event.c @@ -526,7 +526,10 @@ static void event_process(const XEvent *ec, gpointer data) /* If you send focus to a window and then it disappears, you can get the FocusIn for it, after it is unmanaged. - Just wait for the next FocusOut/FocusIn pair. */ + Just wait for the next FocusOut/FocusIn pair, but note that + nothing is focused now. + */ + focus_set_client(NULL); } else if (client != focus_client) { focus_left_screen = FALSE; diff --git a/openbox/focus.c b/openbox/focus.c index ae0294af..0f399be7 100644 --- a/openbox/focus.c +++ b/openbox/focus.c @@ -146,8 +146,9 @@ static ObClient* focus_fallback_target(gboolean allow_refocus, ObClient *old, /* if not just see if we could try, or it's already focused */ (!send_focus && (c == old || client_can_focus(c))))) { - ob_debug_type(OB_DEBUG_FOCUS, "found in focus order (%d)\n", - send_focus); + ob_debug_type(OB_DEBUG_FOCUS, "found in focus order (%d) 0x%x " + "from 0x%x\n", + send_focus, c, old); return c; } }