diff options
| author | Dana Jansens <danakj@orodu.net> | 2003-01-07 20:20:14 +0000 |
|---|---|---|
| committer | Dana Jansens <danakj@orodu.net> | 2003-01-07 20:20:14 +0000 |
| commit | f11bd1b0cc5973590d1ee547736ac00f50447efa (patch) | |
| tree | ea716d2589aba0573c9d10756bd5c75ec02c3c73 /src/frame.cc | |
| parent | 2ae5aaca65b4d9c9747fe787c920a547e7ec13c0 (diff) | |
better reparent handling, dont fux with the event stack..
Diffstat (limited to 'src/frame.cc')
| -rw-r--r-- | src/frame.cc | 28 |
1 files changed, 7 insertions, 21 deletions
diff --git a/src/frame.cc b/src/frame.cc index 9c24689d..ac631d01 100644 --- a/src/frame.cc +++ b/src/frame.cc @@ -56,14 +56,11 @@ OBFrame::OBFrame(OBClient *client, otk::Style *style) otk::OtkWidget::unfocus(); // stuff starts out appearing focused in otk _plate.show(); // the other stuff is shown based on decor settings - - grabClient(); } OBFrame::~OBFrame() { - releaseClient(); } @@ -432,24 +429,13 @@ void OBFrame::grabClient() void OBFrame::releaseClient() { - // check if the app has already reparented its window to the root window - XEvent ev; - if (XCheckTypedWindowEvent(otk::OBDisplay::display, _client->window(), - ReparentNotify, &ev)) { - /* - If the app reparented itself, then we unmanage the window. This causes - the window to be unmapped, so to be nice to it, we remap the window - here. We don't put the event back onto the stack because we put it there - in the first place. - */ - XMapWindow(otk::OBDisplay::display, _client->window()); - } else { - // according to the ICCCM - if the client doesn't reparent to - // root, then we have to do it for them - XReparentWindow(otk::OBDisplay::display, _client->window(), - _screen->rootWindow(), - _client->area().x(), _client->area().y()); - } + // XXX: check for a reparent before reparenting? + + // according to the ICCCM - if the client doesn't reparent to + // root, then we have to do it for them + XReparentWindow(otk::OBDisplay::display, _client->window(), + _screen->rootWindow(), + _client->area().x(), _client->area().y()); } |
