fix for the latest rasterizer optimization

This commit is contained in:
David Turner 2006-09-04 16:42:44 +00:00
Родитель 2d8629b393
Коммит aa557a908a
2 изменённых файлов: 13 добавлений и 6 удалений

Просмотреть файл

@ -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.

Просмотреть файл

@ -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;