From f8d9f3f3a3eeddfaa2a07d3c5a1c1d0775a2f78a Mon Sep 17 00:00:00 2001 From: aiongg Date: Mon, 12 Oct 2026 17:05:30 +0000 Subject: [PATCH] IDML: deleted text inside nested paragraphs stays deleted A paragraph range inside a tracked change takes the change into its character attributes, so the mark holds for its character ranges however their format is built. --- crates/idml/src/import.rs | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/crates/idml/src/import.rs b/crates/idml/src/import.rs index 91f486995..bfbff2cb1 100644 --- a/crates/idml/src/import.rs +++ b/crates/idml/src/import.rs @@ -1732,7 +1732,9 @@ impl<'r> Importer<'r> { "ParagraphStyleRange" => { let style = c.get("AppliedParagraphStyle").map(|r| self.para_style_ref(r)).unwrap_or_else(|| pf.style.clone()); let para = self.para_attrs(c); - let chars = self.char_attrs(c); + let mut chars = self.char_attrs(c); + // A paragraph range inside a tracked change is part of that change. + chars.change = chars.change.or(cf.over.change); let npf = ParaFormat { style, para, chars: CharAttrs::default(), table: None }; if b.fresh && let Some(last) = b.paras.last_mut()