Navigator: cached raster effects follow Draw Dashed Lines as Solid Lines

The raster-effect cache key now includes the setting, so a renderer that
draws the same art with it on and then off no longer reuses a drop
shadow or other raster effect made with the other setting.
This commit is contained in:
dotCooCoo
2026-11-04 18:29:29 +07:00
committed by bflatastic
parent ddf3373cf0
commit 6fa0d6e4e0
2 changed files with 9 additions and 1 deletions
+3 -1
View File
@@ -382,7 +382,7 @@ impl Renderer {
}
/// The inputs a raster of `n`'s content, which reads `reads`, is drawn with in frame `f`: the
/// color settings, the edge smoothing, the document's raster effects resolution (which a
/// color settings, the edge smoothing, whether dashed strokes draw as solid lines, the document's raster effects resolution (which a
/// Rasterize or De-Interlace anywhere in the content follows), the knockout `n` inherits and,
/// while `n` holds the isolated group, isolation mode; the pattern definitions, symbols and
/// brush library it reads; for images and placed documents their pixels and files, the
@@ -398,6 +398,8 @@ impl Renderer {
(doc.cms, f.opts.anti_alias.threshold(), self.knockout, f.doc.raster_effects_ppi.to_bits()).hash(&mut h);
// Cached effects on containers can include paths made into guides.
f.opts.hide_guides.hash(&mut h);
// Cached effects can include dashed strokes drawn as solid lines.
f.opts.solid_dashes.hash(&mut h);
if let Some((isolated, path)) = self.isolation_path(f)
&& n.id != isolated
&& path.contains(&n.id)