X-Git-Url: https://git.dogcows.com/gitweb?a=blobdiff_plain;f=openbox%2Fframe.c;h=f788255cd4665694cc54375ee9a076ddb11261d3;hb=ca8924a5a004816cf7db39bcf4851312ef93a2dc;hp=09009e8271c37ec5d9a15470baef6951fde265ed;hpb=09f4483ce03ceb3830454f17d5610a2cb173057f;p=chaz%2Fopenbox diff --git a/openbox/frame.c b/openbox/frame.c index 09009e82..f788255c 100644 --- a/openbox/frame.c +++ b/openbox/frame.c @@ -842,6 +842,11 @@ void frame_adjust_icon(ObFrame *self) void frame_grab_client(ObFrame *self) { + /* DO NOT map the client window here. we used to do that, but it is bogus. + we need to set up the client's dimensions and everything before we + send a mapnotify or we create race conditions. + */ + /* reparent the client to the frame */ XReparentWindow(ob_display, self->client->window, self->plate, 0, 0); @@ -860,9 +865,6 @@ void frame_grab_client(ObFrame *self) req's) the ButtonPress is to catch clicks on the client border */ XSelectInput(ob_display, self->plate, PLATE_EVENTMASK); - /* map the client so it maps when the frame does */ - XMapWindow(ob_display, self->client->window); - /* set all the windows for the frame in the window_map */ g_hash_table_insert(window_map, &self->window, self->client); g_hash_table_insert(window_map, &self->plate, self->client);