summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--otk/eventdispatcher.cc8
1 files changed, 4 insertions, 4 deletions
diff --git a/otk/eventdispatcher.cc b/otk/eventdispatcher.cc
index ad44fe2e..6c15a60b 100644
--- a/otk/eventdispatcher.cc
+++ b/otk/eventdispatcher.cc
@@ -99,10 +99,6 @@ void OtkEventDispatcher::dispatchEvents(void)
void OtkEventDispatcher::dispatchFocus(const XEvent &e)
{
- // ignore all focus changes from grabs
- if (e.xfocus.mode != NotifyNormal)
- return;
-
if (e.type == FocusIn) {
//printf("Got FocusIn!\n");
@@ -113,6 +109,10 @@ void OtkEventDispatcher::dispatchFocus(const XEvent &e)
} else if (e.type == FocusOut) {
//printf("Got FocusOut!\n");
+ // ignore FocusOut changes from grabs
+ if (e.xfocus.mode == NotifyGrab)
+ return;
+
// FocusOut events just make us look for FocusIn events. They are ignored
// otherwise.
XEvent fi;