@@ -885,7 +885,7 @@ void convert_path_to_polygons(PathIterator &path,
885
885
886
886
transformed_path_t tpath (path, trans);
887
887
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);
889
889
simplify_t simplified (clipped, simplify, path.simplify_threshold ());
890
890
curve_t curve (simplified);
891
891
@@ -950,7 +950,7 @@ void cleanup_path(PathIterator &path,
950
950
951
951
transformed_path_t tpath (path, trans);
952
952
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);
954
954
snapped_t snapped (clipped, snap_mode, path.total_vertices (), stroke_width);
955
955
simplify_t simplified (snapped, do_simplify, path.simplify_threshold ());
956
956
@@ -1156,7 +1156,7 @@ int convert_to_string(PathIterator &path,
1156
1156
1157
1157
transformed_path_t tpath (path, trans);
1158
1158
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);
1160
1160
simplify_t simplified (clipped, simplify, path.simplify_threshold ());
1161
1161
1162
1162
*buffersize = path.total_vertices () * (precision + 5 ) * 4 ;
0 commit comments