freetype-commit
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Git][freetype/freetype][master] * src/raster/ftraster.c (Line_Up, Bezie


From: Alexei Podtelezhnikov (@apodtele)
Subject: [Git][freetype/freetype][master] * src/raster/ftraster.c (Line_Up, Bezier_Up): Check "between" earlier.
Date: Sat, 11 Nov 2023 15:23:15 +0000

Alexei Podtelezhnikov pushed to branch master at FreeType / FreeType

Commits:

  • 9cd403bc
    by Alexei Podtelezhnikov (Алексей Подтележников) at 2023-11-11T10:18:53-05:00
    * src/raster/ftraster.c (Line_Up, Bezier_Up): Check "between" earlier.
    

1 changed file:

Changes:

  • src/raster/ftraster.c
    ... ... @@ -942,6 +942,9 @@
    942 942
         e2 = y2 > maxy ? maxy : FLOOR( y2 );
    
    943 943
         e  = y1 < miny ? miny : CEILING( y1 );
    
    944 944
     
    
    945
    +    if ( e2 < e )  /* between scanlines */
    
    946
    +      goto Fin;
    
    947
    +
    
    945 948
         if ( ras.fresh )
    
    946 949
         {
    
    947 950
           ras.cProfile->start = (Int)TRUNC( e );
    
    ... ... @@ -953,9 +956,6 @@
    953 956
     
    
    954 957
         ras.joint = (Bool)( y2 == e2 );
    
    955 958
     
    
    956
    -    if ( e2 < e )
    
    957
    -      goto Fin;
    
    958
    -
    
    959 959
         size = (Int)TRUNC( e2 - e ) + 1;
    
    960 960
     
    
    961 961
         if ( top + size >= ras.maxBuff )
    
    ... ... @@ -1105,8 +1105,6 @@
    1105 1105
         Long  y1, y2, e, e2, dy;
    
    1106 1106
         Long  dx, x2;
    
    1107 1107
     
    
    1108
    -    TPoint*  start_arc;
    
    1109
    -
    
    1110 1108
         PLong top;
    
    1111 1109
     
    
    1112 1110
     
    
    ... ... @@ -1120,6 +1118,9 @@
    1120 1118
         e2 = y2 > maxy ? maxy : FLOOR( y2 );
    
    1121 1119
         e  = y1 < miny ? miny : CEILING( y1 );
    
    1122 1120
     
    
    1121
    +    if ( e2 < e )  /* between scanlines */
    
    1122
    +      goto Fin;
    
    1123
    +
    
    1123 1124
         if ( ras.fresh )
    
    1124 1125
         {
    
    1125 1126
           ras.cProfile->start = (Int)TRUNC( e );
    
    ... ... @@ -1137,18 +1138,13 @@
    1137 1138
     
    
    1138 1139
         ras.joint = (Bool)( y2 == e2 );
    
    1139 1140
     
    
    1140
    -    if ( e2 < e )
    
    1141
    -      goto Fin;
    
    1142
    -
    
    1143 1141
         if ( ( top + TRUNC( e2 - e ) + 1 ) >= ras.maxBuff )
    
    1144 1142
         {
    
    1145 1143
           ras.error = FT_THROW( Raster_Overflow );
    
    1146 1144
           return FAILURE;
    
    1147 1145
         }
    
    1148 1146
     
    
    1149
    -    start_arc = arc;
    
    1150
    -
    
    1151
    -    do
    
    1147
    +    while ( e <= e2 )
    
    1152 1148
         {
    
    1153 1149
           y2 = arc[0].y;
    
    1154 1150
           x2 = arc[0].x;
    
    ... ... @@ -1183,7 +1179,6 @@
    1183 1179
             arc   -= degree;
    
    1184 1180
           }
    
    1185 1181
         }
    
    1186
    -    while ( e <= e2 );
    
    1187 1182
     
    
    1188 1183
       Fin:
    
    1189 1184
         ras.top  = top;
    


  • reply via email to

    [Prev in Thread] Current Thread [Next in Thread]