slint-ui/slint · error
Cannot set callback {name}: {e}
Error message
Cannot set callback {name}: {e} What it means
Error "Cannot set callback {name}: {e}" thrown in slint-ui/slint.
Source
Thrown at internal/live-preview/live_component.rs:152
pub fn reload_properties_and_callbacks(&self) {
// Set the properties
for (name, value) in self.properties.borrow_mut().iter() {
if let Some((global, prop)) = name.split_once('.') {
self.instance()
.set_global_property(global, prop, value.clone())
.unwrap_or_else(|e| panic!("Cannot set property {name}: {e}"));
} else {
self.instance()
.set_property(name, value.clone())
.unwrap_or_else(|e| panic!("Cannot set property {name}: {e}"));
}
}
for (name, callback) in self.callbacks.borrow_mut().iter() {
let callback = callback.clone();
if let Some((global, prop)) = name.split_once('.') {
self.instance()
.set_global_callback(global, prop, move |args| callback(args))
.unwrap_or_else(|e| panic!("Cannot set callback {name}: {e}"));
} else {
self.instance()
.set_callback(name, move |args| callback(args))
.unwrap_or_else(|e| panic!("Cannot set callback {name}: {e}"));
}
}
eprintln!(
"Reloaded component {} from {}",
self.component_name.as_deref().unwrap_or("<default>"),
self.file_name.display()
);
}
/// Set a hook that runs after each successful reload, receiving the new instance.
pub fn set_post_reload_hook(&mut self, hook: impl Fn(&ComponentInstance) + 'static) {
self.post_reload_hook = Some(Box::new(hook));
}View on GitHub (pinned to 3fd8f2ec03)
Solutions
- Check the nested error and ensure the callback signature matches the declaration.
- Verify the callback name exists on the component.
When it happens
Trigger: Thrown at internal/live-preview/live_component.rs:152 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of slint-ui/slint@3fd8f2ec03 (2026-08-19).
Data as JSON: /api/errors/76388938368b6f40.
Report an issue: GitHub.