Fix panic when destroying window (#2773)

* Fix crash when destroying window

* Add a comment to draw_rect

---------

Co-authored-by: Xiaopeng Li <lixiaopeng.jetspark@bytedance.com>
This commit is contained in:
Xiaopeng Li 2023-06-09 21:20:27 +08:00 committed by GitHub
parent 0c8bf25ae4
commit 07d39abddd
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 5 additions and 1 deletions

View file

@ -78,6 +78,7 @@ And please only add new entries to the top of this list, right below the `# Unre
- On Web, scale factor and dark mode detection are now more robust.
- On Web, fix the bfcache by not using the `beforeunload` event.
- On Web, fix scale factor resize suggestion always overwriting the canvas size.
- On macOS, fix crash when dropping `Window`.
# 0.28.6

View file

@ -243,7 +243,10 @@ declare_class!(
fn draw_rect(&mut self, rect: NSRect) {
trace_scope!("drawRect:");
AppState::handle_redraw(self.window_id());
// It's a workaround for https://github.com/rust-windowing/winit/issues/2640, don't replace with `self.window_id()`.
if let Some(window) = self._ns_window.load() {
AppState::handle_redraw(WindowId(window.id()));
}
#[allow(clippy::let_unit_value)]
unsafe {