slint-ui/slint · error
platform already initialized
Error message
platform already initialized
What it means
Error "platform already initialized" thrown in slint-ui/slint.
Source
Thrown at internal/backends/testing/lib.rs:45
pub mod systest;
/// Initialize the testing backend without support for event loop.
/// This means that each test thread can use its own backend, but global functions that needs
/// an event loop such as `slint::invoke_from_event_loop` or `Timer`s won't work.
/// Must be called before any call that would otherwise initialize the rendering backend.
/// Calling it when the rendering backend is already initialized will panic.
///
/// Note that for animations and timers, the changes in the system time will be disregarded.
/// Instead, use [`mock_elapsed_time()`] to advance the simulate (mock) time Slint uses.
pub fn init_no_event_loop() {
i_slint_core::platform::set_platform(Box::new(testing_backend::TestingBackend::new(
testing_backend::TestingBackendOptions {
mock_time: true,
threading: false,
..Default::default()
},
)))
.expect("platform already initialized");
}
/// Initialize the testing backend with support for simple event loop.
/// This function can only be called once per process, so make sure to use integration
/// tests with only one `#[test]` function. (Or in a doc test)
/// Must be called before any call that would otherwise initialize the rendering backend.
/// Calling it when the rendering backend is already initialized will panic.
///
/// Note that for animations and timers, the changes in the system time will be disregarded.
/// Instead, use [`mock_elapsed_time()`] to advance the simulate (mock) time Slint uses.
pub fn init_integration_test_with_mock_time() {
i_slint_core::platform::set_platform(Box::new(testing_backend::TestingBackend::new(
testing_backend::TestingBackendOptions {
mock_time: true,
threading: true,
..Default::default()
},
)))View on GitHub (pinned to 3fd8f2ec03)
Solutions
- Initialize the testing platform only once per process.
- Guard initialization with a once flag in test setup.
When it happens
Trigger: Thrown at internal/backends/testing/lib.rs:45 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/d7c109bb9f8bf2cc.
Report an issue: GitHub.