diff options
| author | Dana Jansens <danakj@orodu.net> | 2007-04-22 19:24:51 +0000 |
|---|---|---|
| committer | Dana Jansens <danakj@orodu.net> | 2007-04-22 19:24:51 +0000 |
| commit | 55b5b828e9b52ea755cae4b3892c6d27cc59e82c (patch) | |
| tree | 7fe72a14e8b98bf35b8b0fbe901a6789a46ff4f1 /openbox | |
| parent | bfb800c032e1dd50f5d1c37d1ce8ac9239947b01 (diff) | |
FocusOut events come after UnmapNotify, so we don't need to worry about focusing an invalid window
Diffstat (limited to 'openbox')
| -rw-r--r-- | openbox/event.c | 16 |
1 files 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); |
