- g_free(a->surface.pixel_data);
- a->surface.pixel_data = g_new(RrPixel32, w * h);
-
- if (a->surface.grad == RR_SURFACE_PARENTREL) {
- g_assert (a->surface.parent);
- g_assert (a->surface.parent->w);
-
- sw = a->surface.parent->w;
- sh = a->surface.parent->h;
-
- source = (a->surface.parent->surface.pixel_data +
- a->surface.parentx + sw * a->surface.parenty);
- dest = a->surface.pixel_data;
-
- if (a->surface.parentx + w > sw) {
- partial_w = sw - a->surface.parentx;
- } else partial_w = w;
-
- if (a->surface.parenty + h > sh) {
- partial_h = sh - a->surface.parenty;
- } else partial_h = h;
+ if (resized) {
+ g_free(a->surface.pixel_data);
+ a->surface.pixel_data = g_new(RrPixel32, w * h);
+ }