From e03debfd4b79a83c11528964d0ff59aa3c5e03ba Mon Sep 17 00:00:00 2001 From: Faabyy <68284158+Faabyy@users.noreply.github.com> Date: Sun, 18 Oct 2026 20:35:06 +0000 Subject: [PATCH] Media: engine requests resolve on the editor's slide (#994) The media.* commands look the shape id up on the editor's current slide, so the request has to be carried out against that slide too. Passing the show's slide instead could play another slide's clip under a repeated id. Co-Authored-By: Claude --- crates/ui-egui/src/lib.rs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/crates/ui-egui/src/lib.rs b/crates/ui-egui/src/lib.rs index 1de11554..946d80df 100644 --- a/crates/ui-egui/src/lib.rs +++ b/crates/ui-egui/src/lib.rs @@ -1347,8 +1347,8 @@ impl SlideApp { } UiRequest::Media { action, shape, ms } => { let owner = if self.show.is_some() { media::Owner::Show } else { media::Owner::Editor }; - let shown = self.show.as_ref().map(|s| s.state.slide); - if let Some((uid, doc, slide)) = self.session.active().map(|d| (d.uid, d.doc.clone(), shown.unwrap_or(d.selection.slide))) { + // The command resolved `shape` on the editor's slide, also while a show runs. + if let Some((uid, doc, slide)) = self.session.active().map(|d| (d.uid, d.doc.clone(), d.selection.slide)) { self.media.request(uid, &doc, slide, &action, shape, ms, owner); } }