summaryrefslogtreecommitdiff
path: root/openbox
diff options
context:
space:
mode:
authorDana Jansens <danakj@orodu.net>2007-04-22 19:24:51 +0000
committerDana Jansens <danakj@orodu.net>2007-04-22 19:24:51 +0000
commit55b5b828e9b52ea755cae4b3892c6d27cc59e82c (patch)
tree7fe72a14e8b98bf35b8b0fbe901a6789a46ff4f1 /openbox
parentbfb800c032e1dd50f5d1c37d1ce8ac9239947b01 (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.c16
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);