diff --git a/src/lib/evas/common/evas_scale_sample.c b/src/lib/evas/common/evas_scale_sample.c index 6fc54de00b..d043ba3414 100644 --- a/src/lib/evas/common/evas_scale_sample.c +++ b/src/lib/evas/common/evas_scale_sample.c @@ -140,9 +140,6 @@ _evas_common_scale_rgba_sample_scale_mask(int y, DATA32 *buf, *dst_ptr; int x; - /* a scanline buffer */ - buf = alloca(dst_clip_w * sizeof(DATA32)); - /* clamp/map to mask geometry */ if (EINA_UNLIKELY(dst_clip_x < mask_x)) dst_clip_x = mask_x; @@ -153,6 +150,9 @@ _evas_common_scale_rgba_sample_scale_mask(int y, if (EINA_UNLIKELY(dst_clip_y + dst_clip_h > mask_y + (int)mask_ie->cache_entry.h)) dst_clip_h = mask_y + mask_ie->cache_entry.h - dst_clip_y; + /* a scanline buffer */ + buf = alloca(dst_clip_w * sizeof(DATA32)); + dptr = dptr + dst_w * y; for (; y < dst_clip_h; y++) {