From eb66255c30c15ce993e7004ea742d5ee735382ec Mon Sep 17 00:00:00 2001 From: Andrea Canciani Date: Wed, 11 Jan 2012 16:57:25 +0100 Subject: radial-gradient: Ignore sign on radiuses When a radial gradient is created, ignore the sign of the radiuses. Fixes radial-gradient-test. --- pixman/pixman-radial-gradient.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/pixman/pixman-radial-gradient.c b/pixman/pixman-radial-gradient.c index b6dd6b2..97d0d48 100644 --- a/pixman/pixman-radial-gradient.c +++ b/pixman/pixman-radial-gradient.c @@ -34,6 +34,8 @@ #include #include "pixman-private.h" +#define ABS(f) (((f) < 0)? (-(f)) : (f)) + static inline pixman_fixed_32_32_t dot (pixman_fixed_48_16_t x1, pixman_fixed_48_16_t y1, @@ -447,10 +449,10 @@ pixman_image_create_radial_gradient (pixman_point_fixed_t * inner, radial->c1.x = inner->x; radial->c1.y = inner->y; - radial->c1.radius = inner_radius; + radial->c1.radius = ABS (inner_radius); radial->c2.x = outer->x; radial->c2.y = outer->y; - radial->c2.radius = outer_radius; + radial->c2.radius = ABS (outer_radius); /* warning: this computations may overflow */ radial->delta.x = radial->c2.x - radial->c1.x; -- cgit v1.2.3