From 68ef9f707e1422876306b87a0ff43a054ff2021b Mon Sep 17 00:00:00 2001 From: Mads Marquart Date: Thu, 24 Aug 2023 22:52:11 +0200 Subject: [PATCH] Use `frame` instead of `visibleRect` (#3043) --- CHANGELOG.md | 2 ++ clippy.toml | 1 + src/platform_impl/macos/appkit/view.rs | 3 --- src/platform_impl/macos/view.rs | 4 ++-- 4 files changed, 5 insertions(+), 5 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index f952a91e..86adc811 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -8,6 +8,8 @@ And please only add new entries to the top of this list, right below the `# Unre # Unreleased +- Fix window size sometimes being invalid when resizing on macOS. + # 0.29.1-beta - **Breaking:** Bump `ndk` version to `0.8.0-beta.0`, ndk-sys to `v0.5.0-beta.0`, `android-activity` to `0.5.0-beta.1`. diff --git a/clippy.toml b/clippy.toml index 9ba7d207..cd4c2412 100644 --- a/clippy.toml +++ b/clippy.toml @@ -9,4 +9,5 @@ disallowed-methods = [ { path = "web_sys::Element::request_fullscreen", reason = "Doesn't account for compatibility with Safari" }, { path = "web_sys::Document::exit_fullscreen", reason = "Doesn't account for compatibility with Safari" }, { path = "web_sys::Document::fullscreen_element", reason = "Doesn't account for compatibility with Safari" }, + { path = "icrate::AppKit::NSView::visibleRect", reason = "We expose a render target to the user, and visibility is not really relevant to that (and can break if you don't use the rectangle position as well). Use `frame` instead." }, ] diff --git a/src/platform_impl/macos/appkit/view.rs b/src/platform_impl/macos/appkit/view.rs index 5dcf903a..d6720ec5 100644 --- a/src/platform_impl/macos/appkit/view.rs +++ b/src/platform_impl/macos/appkit/view.rs @@ -44,9 +44,6 @@ extern_methods!( // _mtm: MainThreadMarker, ) -> Option>; - #[method(visibleRect)] - pub fn visibleRect(&self) -> NSRect; - #[method(hasMarkedText)] pub fn hasMarkedText(&self) -> bool; diff --git a/src/platform_impl/macos/view.rs b/src/platform_impl/macos/view.rs index c8e34e4a..a4bf0da8 100644 --- a/src/platform_impl/macos/view.rs +++ b/src/platform_impl/macos/view.rs @@ -212,7 +212,7 @@ declare_class!( self.removeTrackingRect(tracking_rect); } - let rect = self.visibleRect(); + let rect = self.frame(); let tracking_rect = self.add_tracking_rect(rect, false); self.state.tracking_rect.set(Some(tracking_rect)); } @@ -224,7 +224,7 @@ declare_class!( self.removeTrackingRect(tracking_rect); } - let rect = self.visibleRect(); + let rect = self.frame(); let tracking_rect = self.add_tracking_rect(rect, false); self.state.tracking_rect.set(Some(tracking_rect));