diff options
Diffstat (limited to 'otk')
| -rw-r--r-- | otk/eventdispatcher.cc | 11 |
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; } |
