From 71b8f3f2ed06ce2a437b31e34c75e6aeab781640 Mon Sep 17 00:00:00 2001 From: Werner Lemberg Date: Fri, 4 Jul 2008 07:22:06 +0000 Subject: [PATCH] * src/raster/ftraster.c (Draw_Sweep): If span is smaller than one pixel, only check for dropouts if neither start nor end point lies on a pixel center. This fixes Savannah bug #23762. --- ChangeLog | 6 ++++++ src/raster/ftraster.c | 9 +++++---- 2 files changed, 11 insertions(+), 4 deletions(-) diff --git a/ChangeLog b/ChangeLog index b507fa84a..4277f6234 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +2008-07-04 Werner Lemberg + + * src/raster/ftraster.c (Draw_Sweep): If span is smaller than one + pixel, only check for dropouts if neither start nor end point lies + on a pixel center. This fixes Savannah bug #23762. + 2008-06-29 Werner Lemberg * Version 2.3.7 released. diff --git a/src/raster/ftraster.c b/src/raster/ftraster.c index 8f014740b..978eec3e4 100644 --- a/src/raster/ftraster.c +++ b/src/raster/ftraster.c @@ -2867,11 +2867,12 @@ static const char count_table[256] = x2 = xs; } - if ( x2 - x1 <= ras.precision ) - { - e1 = FLOOR( x1 ); - e2 = CEILING( x2 ); + e1 = FLOOR( x1 ); + e2 = CEILING( x2 ); + if ( x2 - x1 <= ras.precision && + e1 != x1 && e2 != x2 ) + { if ( e1 > e2 || e2 == e1 + ras.precision ) { if ( ras.dropOutControl != 2 )