summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--openbox/frame.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/openbox/frame.c b/openbox/frame.c
index 8f28526b..7bcd420f 100644
--- a/openbox/frame.c
+++ b/openbox/frame.c
@@ -249,8 +249,13 @@ void frame_show(ObFrame *self)
if (!self->visible) {
self->visible = TRUE;
framerender_frame(self);
+ /* Grab the server to make sure that the frame window is mapped before
+ the client gets its MapNotify, i.e. to make sure the client is
+ _visible_ when it gets MapNotify. */
+ grab_server(TRUE);
XMapWindow(ob_display, self->client->window);
XMapWindow(ob_display, self->window);
+ grab_server(FALSE);
}
}