From 1dd31c691c89f6f3b38b0c1a3d2a2490a023bd99 Mon Sep 17 00:00:00 2001 From: Hermet Park Date: Wed, 24 Nov 2021 20:51:05 +0900 Subject: [PATCH] sw_engine raster: fix a mistake by the previous hot refactoring. --- src/lib/sw_engine/tvgSwRaster.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/lib/sw_engine/tvgSwRaster.cpp b/src/lib/sw_engine/tvgSwRaster.cpp index dcd82d7..5de990f 100644 --- a/src/lib/sw_engine/tvgSwRaster.cpp +++ b/src/lib/sw_engine/tvgSwRaster.cpp @@ -590,7 +590,7 @@ static bool _rasterDownScaledRleRGBAImage(SwSurface* surface, const SwImage* ima auto ey1 = span->y * itransform->e12 + itransform->e13; auto ey2 = span->y * itransform->e22 + itransform->e23; auto dst = &surface->buffer[span->y * surface->stride + span->x]; - for (uint32_t x = span->x; x < span->len; ++x, ++dst) { + for (uint32_t x = span->x; x < ((uint32_t)span->x) + span->len; ++x, ++dst) { auto rX = static_cast(roundf(x * itransform->e11 + ey1)); auto rY = static_cast(roundf(x * itransform->e21 + ey2)); if (rX >= w || rY >= h) continue; @@ -616,7 +616,7 @@ static bool _rasterUpScaledRleRGBAImage(SwSurface* surface, const SwImage* image auto ey1 = span->y * itransform->e12 + itransform->e13; auto ey2 = span->y * itransform->e22 + itransform->e23; auto dst = &surface->buffer[span->y * surface->stride + span->x]; - for (uint32_t x = span->x; x < span->len; ++x, ++dst) { + for (uint32_t x = span->x; x < ((uint32_t)span->x) + span->len; ++x, ++dst) { auto fX = x * itransform->e11 + ey1; auto fY = x * itransform->e21 + ey2; auto rX = static_cast(roundf(fX)); -- 2.7.4