From 6b397ced5a77f89d9887a8d3984885ae0f27c3e3 Mon Sep 17 00:00:00 2001 From: Lucas Nogueira Date: Mon, 18 Apr 2022 19:39:21 -0300 Subject: [PATCH] fix: rendering issue when resizing with devtools open closes #3914 #3814 --- .changes/fix-resize-with-devtools.md | 6 ++++++ core/tauri-runtime-wry/src/lib.rs | 9 ++++++-- examples/api/src-tauri/Cargo.lock | 32 ++++------------------------ 3 files changed, 17 insertions(+), 30 deletions(-) create mode 100644 .changes/fix-resize-with-devtools.md diff --git a/.changes/fix-resize-with-devtools.md b/.changes/fix-resize-with-devtools.md new file mode 100644 index 000000000000..f0ce41ef9890 --- /dev/null +++ b/.changes/fix-resize-with-devtools.md @@ -0,0 +1,6 @@ +--- +"tauri-runtime-wry": patch +"tauri": patch +--- + +Fixes a rendering issue when resizing the window with the devtools open. diff --git a/core/tauri-runtime-wry/src/lib.rs b/core/tauri-runtime-wry/src/lib.rs index 58b0729db3a1..006236143a8e 100644 --- a/core/tauri-runtime-wry/src/lib.rs +++ b/core/tauri-runtime-wry/src/lib.rs @@ -28,6 +28,8 @@ use tauri_runtime::{SystemTray, SystemTrayEvent}; use webview2_com::FocusChangedEventHandler; #[cfg(windows)] use windows::Win32::{Foundation::HWND, System::WinRT::EventRegistrationToken}; +#[cfg(target_os = "macos")] +use wry::application::platform::macos::WindowBuilderExtMacOS; #[cfg(all(feature = "system-tray", target_os = "macos"))] use wry::application::platform::macos::{SystemTrayBuilderExtMacOS, SystemTrayExtMacOS}; #[cfg(target_os = "linux")] @@ -906,8 +908,6 @@ impl WindowBuilder for WindowBuilderWrapper { #[cfg(target_os = "macos")] fn parent_window(mut self, parent: *mut std::ffi::c_void) -> Self { - use wry::application::platform::macos::WindowBuilderExtMacOS; - self.inner = self.inner.with_parent_window(parent); self } @@ -2687,6 +2687,11 @@ fn create_webview( #[cfg(windows)] let proxy = context.proxy.clone(); + #[cfg(target_os = "macos")] + { + window_builder.inner = window_builder.inner.with_fullsize_content_view(true); + } + let is_window_transparent = window_builder.inner.window.transparent; let menu_items = if let Some(menu) = window_builder.menu { let mut menu_items = HashMap::new(); diff --git a/examples/api/src-tauri/Cargo.lock b/examples/api/src-tauri/Cargo.lock index e7d9adc7fe01..dbf43e893da5 100644 --- a/examples/api/src-tauri/Cargo.lock +++ b/examples/api/src-tauri/Cargo.lock @@ -1635,29 +1635,6 @@ version = "1.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646" -[[package]] -name = "libappindicator" -version = "0.7.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "97b29fab3280d59f3d06725f75da9ef9a1b001b2c748b1abfebd1c966c61d7de" -dependencies = [ - "glib", - "gtk", - "gtk-sys", - "libappindicator-sys", - "log", -] - -[[package]] -name = "libappindicator-sys" -version = "0.7.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "90bdcb8c5cfc11febe2ff3f18386d6cb7d29f464cbaf6b286985c3f1a501d74f" -dependencies = [ - "gtk-sys", - "pkg-config", -] - [[package]] name = "libc" version = "0.2.121" @@ -3106,9 +3083,9 @@ dependencies = [ [[package]] name = "tao" -version = "0.7.0" +version = "0.8.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2b6a3359088d4c4735a13f933202f4ecd91f5991b41a8eb757f2449c044ce925" +checksum = "1fd4af2c14087bc642585cf84e3f122d6d120836e08b813991491cb6d3e1cf63" dependencies = [ "bitflags", "cairo-rs", @@ -3128,7 +3105,6 @@ dependencies = [ "gtk", "instant", "lazy_static", - "libappindicator", "libc", "log", "ndk", @@ -4090,9 +4066,9 @@ dependencies = [ [[package]] name = "wry" -version = "0.14.0" +version = "0.15.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6fd09ffc86ecea0a0d5f50cc8e4a8121a1bfc0b0825a160f86ac39e86979344c" +checksum = "1f3d0f8b0ab2ab364d3caf29ce6a8101841e42196ad634f9222c4ebed91dd250" dependencies = [ "block", "cocoa",