From ce2bd954142d65d57b3ee2a6bfa1a1b67a0c3336 Mon Sep 17 00:00:00 2001 From: Neil Cawse Date: Mon, 9 Nov 2026 22:41:38 +0000 Subject: [PATCH] fix(pptx): require matching parent offsets for click-started inferred paragraph builds --- crates/pptx/src/read/timing.rs | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/crates/pptx/src/read/timing.rs b/crates/pptx/src/read/timing.rs index 4c44d802f..62384dfc6 100644 --- a/crates/pptx/src/read/timing.rs +++ b/crates/pptx/src/read/timing.rs @@ -365,7 +365,8 @@ fn plays_as_build(effects: &[&Animation], offsets: &[u32], text: &TextBody, expl .zip(effects.iter()) .zip(flat.iter()) .all(|((&off, a), &ft)| off == off0 || off.saturating_add(a.delay_ms) == off0.saturating_add(ft)); - if !explicit_bld && first.start != AnimStart::OnClick && (span_ms(first) != 500 || first.delay_ms != 0 || off0 != 0 || !parent_starts_match) { + if !explicit_bld && (!parent_starts_match || (first.start != AnimStart::OnClick && (span_ms(first) != 500 || first.delay_ms != 0 || off0 != 0))) + { return false; } let settings = |a: &Animation| Animation { start: AnimStart::OnClick, paragraph: None, ..a.clone() };