From 26d49be1b2c09aff99dd7ac467d8ebd93db7088e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?H=C3=A9ctor=20Ram=C3=B3n=20Jim=C3=A9nez?= Date: Tue, 27 Feb 2024 15:38:47 +0100 Subject: [PATCH] Notify only `Palette` changes in `iced_debug` --- debug/src/lib.rs | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/debug/src/lib.rs b/debug/src/lib.rs index 7bab52e9..a71eedb9 100644 --- a/debug/src/lib.rs +++ b/debug/src/lib.rs @@ -57,7 +57,13 @@ mod internal { use std::sync::{Mutex, MutexGuard}; pub fn theme_changed(palette: theme::Palette) { - lock().sentinel.report_theme_change(palette); + let mut debug = lock(); + + if debug.last_palette.as_ref() != Some(&palette) { + debug.sentinel.report_theme_change(palette); + + debug.last_palette = Some(palette); + } } pub fn boot_time() -> Timer { @@ -117,12 +123,14 @@ mod internal { #[derive(Debug)] struct Debug { sentinel: Client, + last_palette: Option, } fn lock() -> MutexGuard<'static, Debug> { static DEBUG: Lazy> = Lazy::new(|| { Mutex::new(Debug { sentinel: client::connect(), + last_palette: None, }) });