From de7647108e831b9201483b665c99d6527964d2ce Mon Sep 17 00:00:00 2001 From: pml68 Date: Mon, 7 Apr 2025 23:42:37 +0200 Subject: fix: custom theme Default changing between calls, missing `apply_options`s --- material_theme/src/lib.rs | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) (limited to 'material_theme/src') 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 = 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() } } -- cgit v1.2.3