X-Git-Url: https://git.dogcows.com/gitweb?a=blobdiff_plain;f=otk%2Feventdispatcher.cc;h=6c15a60bcf8d0aa9be411a517971eaf42b24630b;hb=ec6951c2c7bf7d2d0a122e0e26555231109b0f89;hp=621cd6fcc7375ef40346ddf46e84d0d5312a0270;hpb=fade5572e3d157712a3552244358189abbf8efd5;p=chaz%2Fopenbox diff --git a/otk/eventdispatcher.cc b/otk/eventdispatcher.cc index 621cd6fc..6c15a60b 100644 --- a/otk/eventdispatcher.cc +++ b/otk/eventdispatcher.cc @@ -11,7 +11,7 @@ namespace otk { OtkEventDispatcher::OtkEventDispatcher() - : _fallback(0), _master(0), _focus(None) + : _fallback(0), _master(0) { } @@ -99,7 +99,6 @@ void OtkEventDispatcher::dispatchEvents(void) void OtkEventDispatcher::dispatchFocus(const XEvent &e) { - if (e.type == FocusIn) { //printf("Got FocusIn!\n"); @@ -110,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;