ref: f0987abdc24b136100656f49ecfe3997869cd93d
parent: 875439cfcec2911d42c8fb98222827534c4ae5d3
author: Werner Lemberg <[email protected]>
date: Thu Oct 28 04:33:28 EDT 2010
[ftraster] Fix rendering. Problem reported by Tom Bishop <[email protected]>; see thread starting with http://lists.gnu.org/archive/html/freetype/2010-10/msg00049.html * src/raster/ftraster.c (Line_Up): Replace FMulDiv with SMulDiv since the involved multiplication exceeds 32 bits.
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,15 @@
+2010-10-28 Werner Lemberg <[email protected]>
+
+ [ftraster] Fix rendering.
+
+ Problem reported by Tom Bishop <[email protected]>; see
+ thread starting with
+
+ http://lists.gnu.org/archive/html/freetype/2010-10/msg00049.html
+
+ * src/raster/ftraster.c (Line_Up): Replace FMulDiv with SMulDiv
+ since the involved multiplication exceeds 32 bits.
+
2010-10-25 suzuki toshiya <[email protected]>
Revert a change of `_idx' type in FTC_CACHE_LOOKUP_CMP().
--- a/src/raster/ftraster.c
+++ b/src/raster/ftraster.c
@@ -1094,7 +1094,7 @@
return SUCCESS;
else
{
- x1 += FMulDiv( Dx, ras.precision - f1, Dy );
+ x1 += SMulDiv( Dx, ras.precision - f1, Dy );
e1 += 1;
}
}
@@ -1122,13 +1122,13 @@
if ( Dx > 0 )
{
- Ix = SMulDiv( ras.precision, Dx, Dy);
+ Ix = SMulDiv( ras.precision, Dx, Dy);
Rx = ( ras.precision * Dx ) % Dy;
Dx = 1;
}
else
{
- Ix = SMulDiv( ras.precision, -Dx, Dy) * -1;
+ Ix = SMulDiv( ras.precision, -Dx, Dy) * -1;
Rx = ( ras.precision * -Dx ) % Dy;
Dx = -1;
}