@@ -885,7 +885,7 @@ void convert_path_to_polygons(PathIterator &path,
885885
886886 transformed_path_t tpath (path, trans);
887887 nan_removal_t nan_removed (tpath, true , path.has_curves ());
888- clipped_t clipped (nan_removed, do_clip, width, height);
888+ clipped_t clipped (nan_removed, do_clip && !path. has_curves () , width, height);
889889 simplify_t simplified (clipped, simplify, path.simplify_threshold ());
890890 curve_t curve (simplified);
891891
@@ -950,7 +950,7 @@ void cleanup_path(PathIterator &path,
950950
951951 transformed_path_t tpath (path, trans);
952952 nan_removal_t nan_removed (tpath, remove_nans, path.has_curves ());
953- clipped_t clipped (nan_removed, do_clip, rect);
953+ clipped_t clipped (nan_removed, do_clip && !path. has_curves () , rect);
954954 snapped_t snapped (clipped, snap_mode, path.total_vertices (), stroke_width);
955955 simplify_t simplified (snapped, do_simplify, path.simplify_threshold ());
956956
@@ -1156,7 +1156,7 @@ int convert_to_string(PathIterator &path,
11561156
11571157 transformed_path_t tpath (path, trans);
11581158 nan_removal_t nan_removed (tpath, true , path.has_curves ());
1159- clipped_t clipped (nan_removed, do_clip, clip_rect);
1159+ clipped_t clipped (nan_removed, do_clip && !path. has_curves () , clip_rect);
11601160 simplify_t simplified (clipped, simplify, path.simplify_threshold ());
11611161
11621162 *buffersize = path.total_vertices () * (precision + 5 ) * 4 ;
0 commit comments