diff --git a/.changes/cb.md b/.changes/cb.md new file mode 100644 index 000000000..2dbfae88a --- /dev/null +++ b/.changes/cb.md @@ -0,0 +1,5 @@ +--- +tao: patch +--- + +Drop the event callback before exiting on macOS. diff --git a/src/platform_impl/macos/event_loop.rs b/src/platform_impl/macos/event_loop.rs index adcda0c35..dad1d5bc8 100644 --- a/src/platform_impl/macos/event_loop.rs +++ b/src/platform_impl/macos/event_loop.rs @@ -180,10 +180,12 @@ impl EventLoop { let () = msg_send![app, run]; if let Some(panic) = self.panic_info.take() { + drop(self._callback.take()); resume_unwind(panic); } AppState::exit(); } + drop(self._callback.take()); } pub fn create_proxy(&self) -> Proxy {