summaryrefslogtreecommitdiff
path: root/pixman/pixman-radial-gradient.c
diff options
context:
space:
mode:
Diffstat (limited to 'pixman/pixman-radial-gradient.c')
-rw-r--r--pixman/pixman-radial-gradient.c6
1 files 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 <math.h>
#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;