From 73b3838d5e22b209143ab236a2b329aa9be65475 Mon Sep 17 00:00:00 2001 From: Dana Jansens Date: Wed, 18 Jul 2007 15:04:36 -0400 Subject: [PATCH] Grab the server when mapping a client and frame, to avoid race conditions --- openbox/frame.c | 5 +++++ 1 file changed, 5 insertions(+) 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); } } -- 2.45.2