From 6951fb4238706522d357fd25236b17492baea1b0 Mon Sep 17 00:00:00 2001 From: Bryce Harrington Date: Fri, 17 Jul 2015 12:07:18 -0700 Subject: [PATCH] Revert "pattern: allow for a floating one pixel rounded difference." While this fixed a real bug, in testing this patch was found to fail a number of tests and thus needs further work. This reverts commit e7acf4b6dc6666c2a2c54fb08e9ad6f01a1d415f. --- src/cairo-pattern.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/cairo-pattern.c b/src/cairo-pattern.c index cdd7529dd..b4bc83c0e 100644 --- a/src/cairo-pattern.c +++ b/src/cairo-pattern.c @@ -3531,7 +3531,7 @@ _cairo_pattern_get_extents (const cairo_pattern_t *pattern, cairo_rectangle_int_t *extents) { double x1, y1, x2, y2; - double ix1, ix2, iy1, iy2; + int ix1, ix2, iy1, iy2; cairo_bool_t round_x = FALSE; cairo_bool_t round_y = FALSE; @@ -3725,12 +3725,12 @@ _cairo_pattern_get_extents (const cairo_pattern_t *pattern, if (x1 < CAIRO_RECT_INT_MIN) ix1 = CAIRO_RECT_INT_MIN; else - ix1 = x1; + ix1 = _cairo_lround (x1); if (x2 > CAIRO_RECT_INT_MAX) ix2 = CAIRO_RECT_INT_MAX; else - ix2 = x2; - extents->x = ix1; extents->width = _cairo_lround(ix2 - ix1); + ix2 = _cairo_lround (x2); + extents->x = ix1; extents->width = ix2 - ix1; if (!round_y) { y1 -= 0.5; @@ -3744,7 +3744,7 @@ _cairo_pattern_get_extents (const cairo_pattern_t *pattern, iy2 = CAIRO_RECT_INT_MAX; else iy2 = _cairo_lround (y2); - extents->y = iy1; extents->height = _cairo_lround(iy2 - iy1); + extents->y = iy1; extents->height = iy2 - iy1; return;