From 52b83a9dbb2b7823d5f78781f5948dfd8d77d50b Mon Sep 17 00:00:00 2001 From: Dana Jansens Date: Wed, 4 Dec 2002 00:03:48 +0000 Subject: [PATCH] handle configurerequests when we cant find a target registered for them --- otk/eventdispatcher.cc | 20 +++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) diff --git a/otk/eventdispatcher.cc b/otk/eventdispatcher.cc index 41201924..75a06ea1 100644 --- a/otk/eventdispatcher.cc +++ b/otk/eventdispatcher.cc @@ -33,7 +33,7 @@ void OtkEventDispatcher::clearHandler(Window id) { _map.erase(id); } - +#include void OtkEventDispatcher::dispatchEvents(void) { XEvent e; @@ -42,6 +42,7 @@ void OtkEventDispatcher::dispatchEvents(void) while (XPending(OBDisplay::display)) { XNextEvent(OBDisplay::display, &e); + it = _map.find(e.xany.window); if (it != _map.end()) @@ -51,6 +52,23 @@ void OtkEventDispatcher::dispatchEvents(void) if (handler) handler->handle(e); + else { + // some events have to be handled anyways! + if (e.type == ConfigureRequest) { + XWindowChanges xwc; + + xwc.x = e.xconfigurerequest.x; + xwc.y = e.xconfigurerequest.y; + xwc.width = e.xconfigurerequest.width; + xwc.height = e.xconfigurerequest.height; + xwc.border_width = e.xconfigurerequest.border_width; + xwc.sibling = e.xconfigurerequest.above; + xwc.stack_mode = e.xconfigurerequest.detail; + + XConfigureWindow(OBDisplay::display, e.xconfigurerequest.window, + e.xconfigurerequest.value_mask, &xwc); + } + } } } -- 2.44.0