This is necessary now, because when creating a new row, several
containers have to be created. Since the implementation of the default
mode for containers, this also involves rendering the layout. However,
when rendering the layout, all of the containers are potentially
accessed…
Client *client;
uint32_t values[1];
- FOR_TABLE(workspace)
+ FOR_TABLE(workspace) {
+ if (workspace->table[cols][rows] == NULL)
+ continue;
+
CIRCLEQ_FOREACH(client, &(workspace->table[cols][rows]->clients), clients) {
/* Change event mask for the decorations */
values[0] = FRAME_EVENT_MASK;
values[0] &= ~(XCB_EVENT_MASK_ENTER_WINDOW);
xcb_change_window_attributes(conn, client->child, XCB_CW_EVENT_MASK, values);
}
+ }
}
/*
/* Go through the whole table and render what’s necessary */
FOR_TABLE(r_ws) {
Container *container = r_ws->table[cols][rows];
+ if (container == NULL)
+ continue;
int single_width = -1, single_height = -1;
/* Update position of the container */
container->row = rows;