Przeglądaj źródła

fix(core): fix `window.center` panic when window size > screen, closes #2978 (#3002)

Amr Bashir 3 lat temu
rodzic
commit
76ce9f61dd

+ 5 - 0
.changes/core-center-window.md

@@ -0,0 +1,5 @@
+---
+"tauri-runtime-wry": patch
+---
+
+Fix `window.center` panic when window size is bigger than screen size.

+ 2 - 2
core/tauri-runtime-wry/src/lib.rs

@@ -2476,8 +2476,8 @@ fn on_window_close<'a>(
 fn center_window(window: &Window, window_size: WryPhysicalSize<u32>) -> Result<()> {
 fn center_window(window: &Window, window_size: WryPhysicalSize<u32>) -> Result<()> {
   if let Some(monitor) = window.current_monitor() {
   if let Some(monitor) = window.current_monitor() {
     let screen_size = monitor.size();
     let screen_size = monitor.size();
-    let x = (screen_size.width - window_size.width) / 2;
-    let y = (screen_size.height - window_size.height) / 2;
+    let x = (screen_size.width as i32 - window_size.width as i32) / 2;
+    let y = (screen_size.height as i32 - window_size.height as i32) / 2;
     window.set_outer_position(WryPhysicalPosition::new(x, y));
     window.set_outer_position(WryPhysicalPosition::new(x, y));
     Ok(())
     Ok(())
   } else {
   } else {