fix for the latest rasterizer optimization

This commit is contained in:
David Turner 2006-09-04 16:42:44 +00:00
parent 2d8629b393
commit aa557a908a
2 changed files with 13 additions and 6 deletions

View File

@ -1,3 +1,7 @@
2006-09-04 David Turner <david@freetype.org>
* src/smooth/ftgrays.c: fix for the latest rasterizer optimization
2006-09-03 Werner Lemberg <wl@gnu.org>
* devel/ftoption.h: Synchronize with
@ -1293,7 +1297,7 @@
compatibility code.
* src/cache/ftcbasic.c: Fix a silly bug that prevented our `hack' to
support rogue clients compiled against 2.1.7 to work correctly.
support rogue clients compiled against 2.1.7 to work correctly.
This probably explains the GNUstep crashes with the second release
candidate.

View File

@ -1651,21 +1651,21 @@ typedef struct TCell_
{
PCell cells_max;
int yindex;
long cell_start, cell_mod;
long cell_start, cell_end, cell_mod;
ras.ycells = (PCell*)ras.buffer;
ras.ycount = band->max - band->min;
for ( yindex = 0; yindex < ras.ycount; yindex++ )
ras.ycells[yindex] = NULL;
cell_start = sizeof ( PCell ) * ras.ycount;
cell_mod = cell_start % sizeof ( TCell );
if ( cell_mod > 0 )
cell_start += sizeof ( TCell ) - cell_mod;
cells_max = (PCell)( (char*)ras.buffer + ras.buffer_size );
cell_end = ras.buffer_size;
cell_end -= cell_end % sizeof( TCell );
cells_max = (PCell)( (char*)ras.buffer + cell_end );
ras.cells = (PCell)( (char*)ras.buffer + cell_start );
if ( ras.cells >= cells_max )
goto ReduceBands;
@ -1673,6 +1673,9 @@ typedef struct TCell_
ras.max_cells = cells_max - ras.cells;
if ( ras.max_cells < 2 )
goto ReduceBands;
for ( yindex = 0; yindex < ras.ycount; yindex++ )
ras.ycells[yindex] = NULL;
}
ras.num_cells = 0;