From: Dana Jansens Date: Wed, 18 Jul 2007 19:04:36 +0000 (-0400) Subject: Grab the server when mapping a client and frame, to avoid race conditions X-Git-Url: https://git.dogcows.com/gitweb?a=commitdiff_plain;h=73b3838d5e22b209143ab236a2b329aa9be65475;p=chaz%2Fopenbox Grab the server when mapping a client and frame, to avoid race conditions --- 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); } }