mirror of
https://github.com/storytold/vectorcraft.git
synced 2026-10-27 11:17:01 -06:00
PDF export: Add Around is clamped when a file opens, and art too large for f64 gets no effect image
document.rasterEffectsSettings accepts addAround from 0 to 1,000 pt, but a file's raster_effects.addAround opened as it was saved. With addAround 1e300, the area of a raster effect image overflowed f64, the image scale became 0 and the image got the transform [inf, NaN, NaN, inf, x, y]. PDF export left that image out, so the drop shadow was missing. A file's addAround now opens clamped to 0 to 1,000 pt. An effect image whose area or scale is not finite is not made. Export then keeps the object with its effects, and Expand Appearance expands it without an image, as when its PNG can't be encoded. Docs: docs/mcp.md (addAround).
This commit is contained in:
@@ -552,6 +552,7 @@ pub fn load_file(bytes: &[u8]) -> Result<NativeFile, FormatError> {
|
||||
// Untrusted: capped, named and pointing at objects the file has.
|
||||
doc.tidy_saved_selections();
|
||||
doc.tidy_graph_designs();
|
||||
doc.raster_effects.add_around = doc.raster_effects.add_around.clamp(0.0, vectorcraft_doc::rastersettings::MAX_ADD_AROUND);
|
||||
let mut depth_notes = vec![];
|
||||
doc.limit_depth_noting(&mut depth_notes);
|
||||
let profiles = f.profiles.into_iter().filter_map(|(name, icc)| Some((name, bytes_of(&icc)?))).collect();
|
||||
|
||||
Reference in New Issue
Block a user