[smooth] Don't set target in direct mode. * src/smooth/ftsmooth.c (ft_smooth_raster_overlap): Remove assignment. (ft_smooth_raster_lcd) [!FT_CONFIG_OPTION_SUBPIXEL_RENDERING]: Ditto.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37
diff --git a/ChangeLog b/ChangeLog
index 0e3b5b5..290f79c 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,12 @@
2020-08-25 Alexei Podtelezhnikov <apodtele@gmail.com>
+ [smooth] Don't set target in direct mode.
+
+ * src/smooth/ftsmooth.c (ft_smooth_raster_overlap): Remove assignment.
+ (ft_smooth_raster_lcd) [!FT_CONFIG_OPTION_SUBPIXEL_RENDERING]: Ditto.
+
+2020-08-25 Alexei Podtelezhnikov <apodtele@gmail.com>
+
* src/smooth/ftsmooth.c (ft_smooth_raster_overlap): Limit width.
Segmentation fault reported as
diff --git a/src/smooth/ftsmooth.c b/src/smooth/ftsmooth.c
index eb5928f..5d66bd6 100644
--- a/src/smooth/ftsmooth.c
+++ b/src/smooth/ftsmooth.c
@@ -139,7 +139,6 @@
/* Render 3 separate coverage bitmaps, shifting the outline. */
/* Set up direct rendering to record them on each third byte. */
- params.target = bitmap;
params.source = outline;
params.flags = FT_RASTER_FLAG_AA | FT_RASTER_FLAG_DIRECT;
params.gray_spans = (FT_SpanFunc)ft_smooth_lcd_spans;
@@ -385,7 +384,6 @@
return FT_THROW( Raster_Overflow );
/* Set up direct rendering to average oversampled spans. */
- params.target = bitmap;
params.source = outline;
params.flags = FT_RASTER_FLAG_AA | FT_RASTER_FLAG_DIRECT;
params.gray_spans = (FT_SpanFunc)ft_smooth_overlap_spans;