X-Git-Url: https://git.brokenzipper.com/gitweb?a=blobdiff_plain;f=src%2Futil%2Farea.c;h=61919f9ae81e301f5500b932bdeb86a7a90b9f14;hb=6e43e34c910adffa3f15aad56250b651e5966263;hp=4b45fbd97fc8e4e4acb09b2009bc8a4534a8cd68;hpb=346e19cf9cc32f56221ae0e9dc25070cefedb5be;p=chaz%2Ftint2 diff --git a/src/util/area.c b/src/util/area.c index 4b45fbd..61919f9 100644 --- a/src/util/area.c +++ b/src/util/area.c @@ -35,10 +35,13 @@ // 4) redraw child void refresh (Area *a) { - if (!a->visible) return; + // don't draw and resize hide objects + if (!a->on_screen) return; size(a); + // don't draw transparent objects (without foreground and without background) + if (a->redraw) { a->redraw = 0; //printf("draw area posx %d, width %d\n", a->posx, a->width); @@ -49,6 +52,7 @@ void refresh (Area *a) // draw current Area Pixmap *pmap = (a->is_active == 0) ? (&a->pix.pmap) : (&a->pix_active.pmap); + if (*pmap == 0) printf("empty area posx %d, width %d\n", a->posx, a->width); XCopyArea (server.dsp, *pmap, ((Panel *)a->panel)->temp_pmap, server.gc, 0, 0, a->width, a->height, a->posx, a->posy); // and then refresh child object