X-Git-Url: https://git.dogcows.com/gitweb?a=blobdiff_plain;f=otk%2Feventdispatcher.cc;h=0560eec8609e27b21c56233e5f53dad9a96a4e15;hb=1e46a39dc305fe92b0c0eca1e60e76fded3e5214;hp=d4a565bb874a4c3d3f59fa4b91e9e0b09a8a9c8c;hpb=a8a5b519b0304d36f413fe2808acb82f19539b06;p=chaz%2Fopenbox diff --git a/otk/eventdispatcher.cc b/otk/eventdispatcher.cc index d4a565bb..0560eec8 100644 --- a/otk/eventdispatcher.cc +++ b/otk/eventdispatcher.cc @@ -1,11 +1,11 @@ // -*- mode: C++; indent-tabs-mode: nil; c-basic-offset: 2; -*- -#ifdef HAVE_CONFIG_H -# include "../config.h" -#endif +#include "config.h" #include "eventdispatcher.hh" #include "display.hh" + +#include #include namespace otk { @@ -105,7 +105,7 @@ void EventDispatcher::dispatchFocus(const XEvent &e) // (e.xfocus.type == FocusIn ? "IN" : "OUT"), // e.xfocus.detail, e.xfocus.window); // ignore focus changes from grabs - if (e.xfocus.mode != NotifyNormal) //|| e.xfocus.mode == NotifyUngrab || + if (e.xfocus.mode == NotifyGrab) //|| e.xfocus.mode == NotifyUngrab || // From Metacity, from WindowMaker, ignore all funky pointer root events // its commented out cuz I don't think we need this at all. If problems // arise we can look into it @@ -165,9 +165,17 @@ void EventDispatcher::dispatch(Window win, const XEvent &e) xwc.border_width = e.xconfigurerequest.border_width; xwc.sibling = e.xconfigurerequest.above; xwc.stack_mode = e.xconfigurerequest.detail; - + +#ifdef DEBUG + printf("Proxying configure event for 0x%lx\n", e.xconfigurerequest.window); +#endif + + // we are not to be held responsible if someone sends us an invalid + // request! + display->setIgnoreErrors(true); XConfigureWindow(**display, e.xconfigurerequest.window, e.xconfigurerequest.value_mask, &xwc); + display->setIgnoreErrors(false); } else { // grab a falback if it exists handler = _fallback;