mirror of
https://github.com/slint-ui/slint.git
synced 2025-08-04 18:58:36 +00:00
BackendSelector: respect the SLINT_BACKEND env variable
... if the backend is not explicitly selected
This commit is contained in:
parent
3e94d81ba0
commit
99b7b40b6f
2 changed files with 30 additions and 10 deletions
|
@ -194,6 +194,23 @@ impl BackendSelector {
|
|||
fn select_internal(&mut self) -> Result<(), PlatformError> {
|
||||
self.selected = true;
|
||||
|
||||
#[cfg(any(
|
||||
feature = "i-slint-backend-qt",
|
||||
feature = "i-slint-backend-winit",
|
||||
feature = "i-slint-backend-linuxkms"
|
||||
))]
|
||||
if self.backend.is_none() || self.renderer.is_none() {
|
||||
let backend_config = std::env::var("SLINT_BACKEND").unwrap_or_default();
|
||||
let backend_config = backend_config.to_lowercase();
|
||||
let (backend, renderer) = super::parse_backend_env_var(backend_config.as_str());
|
||||
if !backend.is_empty() {
|
||||
self.backend.get_or_insert_with(|| backend.to_owned());
|
||||
}
|
||||
if !renderer.is_empty() {
|
||||
self.renderer.get_or_insert_with(|| renderer.to_owned());
|
||||
}
|
||||
}
|
||||
|
||||
let backend_name = self.backend.as_deref().unwrap_or(super::DEFAULT_BACKEND_NAME);
|
||||
|
||||
let backend: Box<dyn i_slint_core::platform::Platform> = match backend_name {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue