summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDana Jansens <danakj@orodu.net>2003-01-04 06:02:42 +0000
committerDana Jansens <danakj@orodu.net>2003-01-04 06:02:42 +0000
commit83ff31f8bf021aeccdaac87c92faf1042d364e46 (patch)
treefe4695632eb286ea780b8527aca8c3fa00362b31
parentde07cce07a28de61b93a813f25b3a360613657a9 (diff)
when a window focused that was the last focused already (this happens from grabs), dont unfocus it, just let it be
-rw-r--r--otk/eventdispatcher.cc8
1 files changed, 4 insertions, 4 deletions
diff --git a/otk/eventdispatcher.cc b/otk/eventdispatcher.cc
index 0c25ab08..51e2251e 100644
--- a/otk/eventdispatcher.cc
+++ b/otk/eventdispatcher.cc
@@ -132,22 +132,22 @@ void OtkEventDispatcher::dispatchEvents(void)
if (unfocus != None) {
// the last focus event was an FocusOut, so where the hell is the focus at?
-// printf("UNFOCUSING: %lx\n", unfocus);
+ //printf("UNFOCUSING: %lx\n", unfocus);
_focus_e.xfocus.type = FocusOut;
_focus_e.xfocus.window = unfocus;
dispatch(_focus_e);
_focus = None;
- } else if (focus != None) {
+ } else if (focus != None && focus != _focus) {
// the last focus event was a FocusIn, so unfocus what used to be focus and
// focus this new target
-// printf("FOCUSING: %lx\n", focus);
+ //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);
+ //printf("UNFOCUSING: %lx\n", _focus);
_focus_e.xfocus.type = FocusOut;
_focus_e.xfocus.window = _focus;
dispatch(_focus_e);