---
 pixman/pixman-filter.c |    4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/pixman/pixman-filter.c b/pixman/pixman-filter.c
index 743afa2..220496e 100644
--- a/pixman/pixman-filter.c
+++ b/pixman/pixman-filter.c
@@ -180,13 +180,13 @@ integral (pixman_kernel_t reconstruct, double x1,
      * as LINEAR that are not differentiable at 0 will still
      * integrate properly.
      */
-    if (x1 < 0 && x1 + width > 0)
+    else if (reconstruct == PIXMAN_KERNEL_LINEAR && x1 < 0 && x1 + width > 0)
     {
        return
            integral (reconstruct, x1, sample, scale, x2, - x1) +
            integral (reconstruct, 0, sample, scale, x2 - x1, width + x1);
     }
-    else if (x2 < 0 && x2 + width > 0)
+    else if (sample == PIXMAN_KERNEL_LINEAR && x2 < 0 && x2 + width > 0)
     {
        return
            integral (reconstruct, x1, sample, scale, x2, - x2) +
-- 
1.7.9.5

_______________________________________________
Pixman mailing list
Pixman@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/pixman

Reply via email to