FocusOut events come after UnmapNotify, so we don't need to worry about focusing an invalid window

This commit is contained in:
Dana Jansens 2007-04-22 19:24:51 +00:00
parent bfb800c032
commit 55b5b828e9

View file

@ -456,15 +456,19 @@ static void event_process(const XEvent *ec, gpointer data)
if (e->xfocus.detail == NotifyPointerRoot || if (e->xfocus.detail == NotifyPointerRoot ||
e->xfocus.detail == NotifyDetailNone) { e->xfocus.detail == NotifyDetailNone) {
ob_debug_type(OB_DEBUG_FOCUS, "Focus went to root\n"); ob_debug_type(OB_DEBUG_FOCUS, "Focus went to root\n");
/* Focus has been reverted to the root window or nothing, so fall /* Focus has been reverted to the root window or nothing
back to something other than the window which just had it. */ FocusOut events come after UnmapNotify, so we don't need to
focus_fallback(FALSE); worry about focusing an invalid window
*/
focus_fallback(TRUE);
} else if (e->xfocus.detail == NotifyInferior) { } else if (e->xfocus.detail == NotifyInferior) {
ob_debug_type(OB_DEBUG_FOCUS, "Focus went to parent\n"); ob_debug_type(OB_DEBUG_FOCUS, "Focus went to parent\n");
/* Focus has been reverted to parent, which is our frame window, /* Focus has been reverted to parent, which is our frame window,
or the root window, so fall back to something other than the or the root window
window which had it. */ FocusOut events come after UnmapNotify, so we don't need to
focus_fallback(FALSE); worry about focusing an invalid window
*/
focus_fallback(TRUE);
} else if (client && client != focus_client) { } else if (client && client != focus_client) {
frame_adjust_focus(client->frame, TRUE); frame_adjust_focus(client->frame, TRUE);
client_calc_layer(client); client_calc_layer(client);