Bugfix: handle MapRequests sent between i3 registering as a wm and handling events

This fixes the problem where i3-nagbar does not come up because its
MapRequest is ignored.

fixes #892
This commit is contained in:
Michael Stapelberg 2012-12-24 14:49:19 +01:00
parent bf2b25a915
commit 625401d162
1 changed files with 14 additions and 0 deletions

View File

@ -777,6 +777,20 @@ int main(int argc, char *argv[]) {
xcb_aux_sync(conn); xcb_aux_sync(conn);
xcb_generic_event_t *event; xcb_generic_event_t *event;
while ((event = xcb_poll_for_event(conn)) != NULL) { while ((event = xcb_poll_for_event(conn)) != NULL) {
if (event->response_type == 0) {
free(event);
continue;
}
/* Strip off the highest bit (set if the event is generated) */
int type = (event->response_type & 0x7F);
/* We still need to handle MapRequests which are sent in the
* timespan starting from when we register as a window manager and
* this piece of code which drops events. */
if (type == XCB_MAP_REQUEST)
handle_event(type, event);
free(event); free(event);
} }
manage_existing_windows(root); manage_existing_windows(root);