slint-ui/slint · error
Unable to quit event loop multiple times
Error message
Unable to quit event loop multiple times
What it means
Error "Unable to quit event loop multiple times" thrown in slint-ui/slint.
Source
Thrown at internal/backends/linuxkms/calloop_backend/input.rs:358
);
let control = xkb_key_state
.mod_name_is_active(xkb::MOD_NAME_CTRL, xkb::STATE_MODS_EFFECTIVE);
let alt = xkb_key_state
.mod_name_is_active(xkb::MOD_NAME_ALT, xkb::STATE_MODS_EFFECTIVE);
if state == KeyState::Pressed {
//eprintln!(
//"key {} state {:#?} sym {:x} control {control} alt {alt}",
//key_code, state, sym
//);
if (sym == xkb::Keysym::Delete || sym == xkb::Keysym::BackSpace)
&& alt
&& control
{
i_slint_core::api::quit_event_loop()
.expect("Unable to quit event loop multiple times");
} else if (xkb::Keysym::XF86_Switch_VT_1..=xkb::Keysym::XF86_Switch_VT_12)
.contains(&sym)
{
// let target_vt = (sym - xkb::KEY_XF86Switch_VT_1 + 1) as i32;
// TODO: eprintln!("switch vt {target_vt}");
}
}
if let Some(text) = map_key_sym(sym) {
let event = match state {
KeyState::Pressed => WindowEvent::KeyPressed { text },
KeyState::Released => WindowEvent::KeyReleased { text },
};
window.dispatch_event_with_result(event).map_err(Self::Error::other)?;
}
}
_ => {}
}View on GitHub (pinned to 3fd8f2ec03)
Solutions
- Call the quit function only once per event loop run.
- Restructure the code so quit is triggered from a single place.
When it happens
Trigger: Thrown at internal/backends/linuxkms/calloop_backend/input.rs:358 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/8f388252bc71a05d.
Report an issue: GitHub.