From f5ad63ed33ed4bbbf7017f7d4b3049d8f10a0a14 Mon Sep 17 00:00:00 2001 From: Byson94 Date: Thu, 30 Oct 2025 15:10:59 +0530 Subject: [PATCH] Revert "feat: moving initial of localsignal to a different place" This reverts commit b3043afe047527556b8425ffce81e10042eb32a2. --- crates/rhai_impl/src/updates/localsignal.rs | 20 +++++++++++--------- 1 file changed, 11 insertions(+), 9 deletions(-) diff --git a/crates/rhai_impl/src/updates/localsignal.rs b/crates/rhai_impl/src/updates/localsignal.rs index 39edf4d..3d41487 100644 --- a/crates/rhai_impl/src/updates/localsignal.rs +++ b/crates/rhai_impl/src/updates/localsignal.rs @@ -95,7 +95,17 @@ thread_local! { pub fn register_signal(id: u64, signal: Rc) { LOCAL_SIGNALS.with(|registry| { - registry.borrow_mut().insert(id, signal.clone()); + let mut map = registry.borrow_mut(); + + if !map.contains_key(&id) { + if let Some(initial_dyn) = signal.props.get("initial") { + if let Some(initial_str) = initial_dyn.clone().try_cast::() { + signal.data.set_value(&initial_str); + } + } + + map.insert(id, signal.clone()); + } }); } @@ -111,14 +121,6 @@ pub fn handle_localsignal_changes() { for (id, signal) in registry_ref.iter() { let props = &signal.props; - if let Some(initial_dyn) = props.get("initial") { - if let Some(initial_str) = initial_dyn.clone().try_cast::() { - signal.data.set_value(&initial_str); - } else { - log::error!("Failed to set initial falue for localsignal."); - } - } - match get_string_fn(&props, "type", None) { Ok(signal_type) => { match signal_type.to_ascii_lowercase().as_str() {