summaryrefslogtreecommitdiff
path: root/otk
diff options
context:
space:
mode:
Diffstat (limited to 'otk')
-rw-r--r--otk/eventdispatcher.cc11
1 files changed, 6 insertions, 5 deletions
diff --git a/otk/eventdispatcher.cc b/otk/eventdispatcher.cc
index 1d4a4ec0..cca49f82 100644
--- a/otk/eventdispatcher.cc
+++ b/otk/eventdispatcher.cc
@@ -127,17 +127,18 @@ void OtkEventDispatcher::dispatchEvents(void)
} else if (focus != None) {
// the last focus event was a FocusIn, so unfocus what used to be focus and
// focus this new target
+// printf("FOCUSING: %lx\n", focus);
+ _focus_e.xfocus.type = FocusIn;
+ _focus_e.xfocus.window = focus;
+ dispatch(_focus_e);
+
if (_focus != None) {
// printf("UNFOCUSING: %lx\n", _focus);
_focus_e.xfocus.type = FocusOut;
_focus_e.xfocus.window = _focus;
dispatch(_focus_e);
}
-// printf("FOCUSING: %lx\n", focus);
- _focus_e.xfocus.type = FocusIn;
- _focus_e.xfocus.window = focus;
- dispatch(_focus_e);
-
+
_focus = focus;
}