From 55b5b828e9b52ea755cae4b3892c6d27cc59e82c Mon Sep 17 00:00:00 2001 From: Dana Jansens Date: Sun, 22 Apr 2007 19:24:51 +0000 Subject: [PATCH] FocusOut events come after UnmapNotify, so we don't need to worry about focusing an invalid window --- openbox/event.c | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/openbox/event.c b/openbox/event.c index 65b94980..c8356be1 100644 --- a/openbox/event.c +++ b/openbox/event.c @@ -456,15 +456,19 @@ static void event_process(const XEvent *ec, gpointer data) if (e->xfocus.detail == NotifyPointerRoot || e->xfocus.detail == NotifyDetailNone) { ob_debug_type(OB_DEBUG_FOCUS, "Focus went to root\n"); - /* Focus has been reverted to the root window or nothing, so fall - back to something other than the window which just had it. */ - focus_fallback(FALSE); + /* Focus has been reverted to the root window or nothing + FocusOut events come after UnmapNotify, so we don't need to + worry about focusing an invalid window + */ + focus_fallback(TRUE); } else if (e->xfocus.detail == NotifyInferior) { ob_debug_type(OB_DEBUG_FOCUS, "Focus went to parent\n"); /* Focus has been reverted to parent, which is our frame window, - or the root window, so fall back to something other than the - window which had it. */ - focus_fallback(FALSE); + or the root window + FocusOut events come after UnmapNotify, so we don't need to + worry about focusing an invalid window + */ + focus_fallback(TRUE); } else if (client && client != focus_client) { frame_adjust_focus(client->frame, TRUE); client_calc_layer(client); -- 2.39.2