// -*- 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 <cstdio>
#include <iostream>
namespace otk {
// (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
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;