diff options
| author | pml68 <contact@pml68.dev> | 2025-04-07 23:42:37 +0200 |
|---|---|---|
| committer | pml68 <contact@pml68.dev> | 2025-04-15 23:48:26 +0200 |
| commit | de7647108e831b9201483b665c99d6527964d2ce (patch) | |
| tree | edb6f21ed4623a14b45c795ace57ac9afe5c6cbe /material_theme | |
| parent | feat(material_theme): add feature flag based iced_anim support (diff) | |
| download | iced-builder-de7647108e831b9201483b665c99d6527964d2ce.tar.gz | |
fix: custom theme Default changing between calls, missing `apply_options`s
Diffstat (limited to 'material_theme')
| -rw-r--r-- | material_theme/src/lib.rs | 15 |
1 files changed, 10 insertions, 5 deletions
diff --git a/material_theme/src/lib.rs b/material_theme/src/lib.rs index 38a94b0..930e511 100644 --- a/material_theme/src/lib.rs +++ b/material_theme/src/lib.rs @@ -69,12 +69,17 @@ impl Clone for Theme { impl Default for Theme { fn default() -> Self { - match dark_light::detect().unwrap_or(dark_light::Mode::Unspecified) { - dark_light::Mode::Dark | dark_light::Mode::Unspecified => { - DARK.clone() + static DEFAULT: LazyLock<Theme> = LazyLock::new(|| { + match dark_light::detect().unwrap_or(dark_light::Mode::Unspecified) + { + dark_light::Mode::Dark | dark_light::Mode::Unspecified => { + DARK.clone() + } + dark_light::Mode::Light => LIGHT.clone(), } - dark_light::Mode::Light => LIGHT.clone(), - } + }); + + DEFAULT.clone() } } |
