Skip to content

Commit

Permalink
Fix panic when destroying window (#2773)
Browse files Browse the repository at this point in the history
* Fix crash when destroying window

* Add a comment to draw_rect

---------

Co-authored-by: Xiaopeng Li <lixiaopeng.jetspark@bytedance.com>
  • Loading branch information
xiaopengli89 and xiaopengli89 committed Jun 9, 2023
1 parent 0c8bf25 commit 07d39ab
Show file tree
Hide file tree
Showing 2 changed files with 5 additions and 1 deletion.
1 change: 1 addition & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -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

Expand Down
5 changes: 4 additions & 1 deletion src/platform_impl/macos/view.rs
Original file line number Diff line number Diff line change
Expand Up @@ -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 {
Expand Down

0 comments on commit 07d39ab

Please sign in to comment.