From 22081ada26b26e6a976b54f4e63f1ee23d46a4dd Mon Sep 17 00:00:00 2001 From: "Carsten Haitzler (Rasterman)" Date: Thu, 9 May 2019 12:29:17 +0100 Subject: [PATCH] much better fix to invalid uv coords with new map render code this fixes the d81d1337b087fbc23fb7439c269c1f7e34aa5fa2 fix to do it in the inner loop so uu and vv stay valid. still not a great fix but better than chashes. --- src/lib/evas/common/evas_map_image_internal_high.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/lib/evas/common/evas_map_image_internal_high.c b/src/lib/evas/common/evas_map_image_internal_high.c index bce8ce7f4d..30748023d9 100644 --- a/src/lib/evas/common/evas_map_image_internal_high.c +++ b/src/lib/evas/common/evas_map_image_internal_high.c @@ -396,9 +396,6 @@ _map_triangle_draw_linear(RGBA_Image *src, RGBA_Image *dst, dx = 1 - (_xa - x1); u = _ua + dx * _dudx; v = _va + dx * _dvdx; - // FIXME: sometimes u and v are < 0 - don'tc crash - if (u < 0) u = 0; - if (v < 0) v = 0; if (col_blend) { @@ -419,6 +416,9 @@ _map_triangle_draw_linear(RGBA_Image *src, RGBA_Image *dst, { uu = (int) u; vv = (int) v; + // FIXME: sometimes u and v are < 0 - don'tc crash + if (uu < 0) uu = 0; + if (vv < 0) vv = 0; //Range exception handling //OPTIMIZE ME, handle in advance?