mirror of
https://github.com/storytold/vectorcraft.git
synced 2026-11-02 06:07:06 -06:00
Fix #4938: Dynamic symbols keep per-instance appearance linked to the symbol
This commit is contained in:
@@ -56,7 +56,9 @@ impl Renderer {
|
||||
/// placed again when the fonts change.
|
||||
pub(super) fn placed_art(&mut self, art: &Arc<Node>, xf: Affine, scale_strokes: bool, inst: Option<&Node>) -> (Arc<Node>, bool) {
|
||||
let kept_kind = matches!(art.kind, NodeKind::Group { .. } | NodeKind::Layer { .. }) || vectorcraft_doc::live::is_live(art);
|
||||
if !kept_kind || fx::has_object_fx(art) {
|
||||
// An instance with appearance changes of its own isn't kept: the key doesn't tell them apart.
|
||||
let overridden = inst.is_some_and(|i| !i.extras().symbol_overrides.is_empty());
|
||||
if !kept_kind || overridden || fx::has_object_fx(art) {
|
||||
return (place(art, xf, scale_strokes, inst), false);
|
||||
}
|
||||
let stain = stain_bits(inst.and_then(vectorcraft_brush::stain));
|
||||
|
||||
Reference in New Issue
Block a user