fix(window-state): manual default implentation, closes #421

pull/425/head
amrbashir 2 years ago
parent b3d7d11ae3
commit a60b97abb0
No known key found for this signature in database
GPG Key ID: BBD7A47A2003FF33

@ -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<Mutex<HashMap<String, WindowState>>>);
pub trait AppHandleExt {
/// Saves all open windows state to disk
@ -110,7 +125,9 @@ impl<R: Runtime> WindowExt for Window<R> {
if let Some(state) = c.get(self.label()) {
// avoid restoring the default zeroed state
dbg!(&*state);
if *state == WindowState::default() {
dbg!("asdasd");
return Ok(());
}

Loading…
Cancel
Save