From 4656540417bc2ce426a21b12bc32eebeeb259263 Mon Sep 17 00:00:00 2001 From: mitchmindtree Date: Sun, 19 Mar 2017 19:32:24 +1100 Subject: [PATCH] Close NSWindow when `Window` is dropped if not already closed. Previously, if a `Window` was `Drop`ped while open, the window would remain open until the user pressed the x button. This fixes the behaviour so that the window is closed when dropped if it has not already been closed. --- src/platform/macos/window.rs | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/platform/macos/window.rs b/src/platform/macos/window.rs index c3cafa13..577f99dc 100644 --- a/src/platform/macos/window.rs +++ b/src/platform/macos/window.rs @@ -181,6 +181,14 @@ impl Drop for Window { if let Some(ev) = self.delegate.state.events_loop.upgrade() { ev.find_and_remove_window(id); } + + // Close the window if it has not yet been closed. + let nswindow = *self.window; + if nswindow != nil { + unsafe { + msg_send![nswindow, close]; + } + } } }