From a60b97abb009e9e2c022e7466b3b2a714c120a88 Mon Sep 17 00:00:00 2001 From: amrbashir Date: Wed, 7 Jun 2023 15:08:16 +0300 Subject: [PATCH] fix(window-state): manual default implentation, closes #421 --- plugins/window-state/src/lib.rs | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) diff --git a/plugins/window-state/src/lib.rs b/plugins/window-state/src/lib.rs index 2a23f35d..03ccb0a4 100644 --- a/plugins/window-state/src/lib.rs +++ b/plugins/window-state/src/lib.rs @@ -53,7 +53,7 @@ impl Default for StateFlags { } } -#[derive(Debug, Default, Deserialize, Serialize, PartialEq)] +#[derive(Debug, Deserialize, Serialize, PartialEq)] struct WindowState { width: f64, height: f64, @@ -65,6 +65,21 @@ struct WindowState { fullscreen: bool, } +impl Default for WindowState { + fn default() -> Self { + Self { + width: Default::default(), + height: Default::default(), + x: Default::default(), + y: Default::default(), + maximized: Default::default(), + visible: true, + decorated: true, + fullscreen: Default::default(), + } + } +} + struct WindowStateCache(Arc>>); pub trait AppHandleExt { /// Saves all open windows state to disk @@ -110,7 +125,9 @@ impl WindowExt for Window { if let Some(state) = c.get(self.label()) { // avoid restoring the default zeroed state + dbg!(&*state); if *state == WindowState::default() { + dbg!("asdasd"); return Ok(()); }