X-Git-Url: https://git.dogcows.com/gitweb?a=blobdiff_plain;f=render%2Frender.c;h=babfa52235716e52bb8907b42b279878f52fc4b0;hb=06356d337c972c0a097134ed43ab40b683ebb095;hp=9d4a2c67eabe0c151070ccf6c0e2f023417bd80e;hpb=3d6b970a4b25627e00fb4a4de6706fe067d58186;p=chaz%2Fopenbox diff --git a/render/render.c b/render/render.c index 9d4a2c67..babfa522 100644 --- a/render/render.c +++ b/render/render.c @@ -89,8 +89,8 @@ void truecolor_startup(void) void x_paint(Window win, Appearance *l) { - int i, transferred = 0, sw, sh; - pixel32 *source; + int i, transferred = 0, sw; + pixel32 *source, *dest; Pixmap oldp; int x = l->area.x; int y = l->area.y; @@ -117,8 +117,13 @@ void x_paint(Window win, Appearance *l) if (l->surface.data.planar.grad == Background_ParentRelative) { sw = l->surface.data.planar.parent->area.width; - source = l->surface.data.planar.pixel_data; -/* for (i = */ + source = l->surface.data.planar.parent->surface.data.planar.pixel_data + + l->surface.data.planar.parentx + + sw * l->surface.data.planar.parenty; + dest = l->surface.data.planar.pixel_data; + for (i = 0; i < h; i++, source += sw, dest += w) { + memcpy(dest, source, w * sizeof(pixel32)); + } } else if (l->surface.data.planar.grad == Background_Solid) gradient_solid(l, x, y, w, h);