Revert "Do not create container pixmap when not needed"

This reverts commit 6578976b61.

fixes #1170
This commit is contained in:
Michael Stapelberg 2014-01-30 22:55:26 +01:00
parent d24d8baeb5
commit d51d2acc95
1 changed files with 3 additions and 18 deletions

21
src/x.c
View File

@ -667,24 +667,9 @@ void x_push_node(Con *con) {
/* As the pixmap only depends on the size and not on the position, it
* is enough to check if width/height have changed. Also, we dont
* create a pixmap at all when the window is actually not visible
* (height == 0) or when it is not needed. */
bool has_rect_changed = (state->rect.width != rect.width || state->rect.height != rect.height);
/* The pixmap of a borderless container will not be used (except for
* the titlebar in a stack or tabs). It can only get in the way. (bug
* #1013). */
bool is_pixmap_needed = (con->border_style != BS_NONE ||
con->parent->layout == L_STACKED ||
con->parent->layout == L_TABBED);
/* Check if the container has an unneeded pixmap left over from
* previously having a border or titlebar. */
if (!is_pixmap_needed && con->pixmap != XCB_NONE) {
xcb_free_pixmap(conn, con->pixmap);
con->pixmap = XCB_NONE;
}
if (has_rect_changed && is_pixmap_needed) {
* (height == 0). */
if ((state->rect.width != rect.width ||
state->rect.height != rect.height)) {
if (con->pixmap == 0) {
con->pixmap = xcb_generate_id(conn);
con->pm_gc = xcb_generate_id(conn);