diff --git a/crates/engine/src/cmd/insert.rs b/crates/engine/src/cmd/insert.rs index 930b4356..64eff386 100644 --- a/crates/engine/src/cmd/insert.rs +++ b/crates/engine/src/cmd/insert.rs @@ -686,7 +686,7 @@ fn shape_action(s: &mut Session, p: &Value) -> Result { if !s.doc()?.doc.custom_shows.iter().any(|c| c.name == name) { return Err(bad(CMD, format!("no custom show `{name}`"))); } - Some(Action::CustomShow { name }) + Some(Action::CustomShow { name, returns: true }) } "program" => Some(Action::Program { path: need("path")? }), "slide" => { @@ -698,7 +698,7 @@ fn shape_action(s: &mut Session, p: &Value) -> Result { }; let highlight = bool_param(p, "highlight").unwrap_or(true); let tooltip = str_param(p, "tooltip").unwrap_or("").to_string(); - let link = action.map(|action| Hyperlink { action, tooltip, highlight_click: highlight }); + let link = action.map(|action| Hyperlink { action, tooltip, highlight_click: highlight, sound: None, stop_sound: false }); edit_shapes(s, p, CMD, |sh| { if hover { sh.hover = link.clone(); diff --git a/crates/ui-egui/src/dialogs.rs b/crates/ui-egui/src/dialogs.rs index 60880b16..3ae2e03d 100644 --- a/crates/ui-egui/src/dialogs.rs +++ b/crates/ui-egui/src/dialogs.rs @@ -486,7 +486,7 @@ fn body(app: &mut SlideApp, ui: &mut Ui, d: &mut Dialog) -> bool { Some(Action::EndShow) => ("endShow", String::new()), Some(Action::PlayMedia) => ("playMedia", String::new()), Some(Action::Url { url }) => ("url", url.clone()), - Some(Action::CustomShow { name }) => ("customShow", name.clone()), + Some(Action::CustomShow { name, .. }) => ("customShow", name.clone()), Some(Action::Program { path }) => ("program", path.clone()), Some(Action::Slide { slide }) => ("slide", slides.iter().position(|(id, _)| id == slide).unwrap_or(0).to_string()), };