Bugfix: Don’t fill split cons etc. with client background color (fixes nested decoration rendering)

Fixes: #359
This commit is contained in:
Michael Stapelberg 2011-05-11 22:01:09 +02:00
parent 4da6fc7ba3
commit 4be3178d4d
1 changed files with 21 additions and 19 deletions

View File

@ -303,6 +303,7 @@ void x_draw_decoration(Con *con) {
deco_rect.height = 0; deco_rect.height = 0;
/* 2: draw the client.background, but only for the parts around the client_rect */ /* 2: draw the client.background, but only for the parts around the client_rect */
if (con->window != NULL) {
xcb_rectangle_t background[] = { xcb_rectangle_t background[] = {
/* top area */ /* top area */
{ 0, 0, r->width, w->y }, { 0, 0, r->width, w->y },
@ -325,6 +326,7 @@ void x_draw_decoration(Con *con) {
xcb_change_gc_single(conn, con->pm_gc, XCB_GC_FOREGROUND, config.client.background); xcb_change_gc_single(conn, con->pm_gc, XCB_GC_FOREGROUND, config.client.background);
xcb_poly_fill_rectangle(conn, con->pixmap, con->pm_gc, sizeof(background) / sizeof(xcb_rectangle_t), background); xcb_poly_fill_rectangle(conn, con->pixmap, con->pm_gc, sizeof(background) / sizeof(xcb_rectangle_t), background);
}
/* 3: draw a rectangle in border color around the client */ /* 3: draw a rectangle in border color around the client */
if (p->border_style != BS_NONE && p->con_is_leaf) { if (p->border_style != BS_NONE && p->con_is_leaf) {