From 18a7267c32a909bb26bd93d24543155aeb10e042 Mon Sep 17 00:00:00 2001 From: Alan Third <alan@idiocy.org> Date: Sat, 31 Oct 2020 15:14:34 +0000 Subject: [PATCH] Fix crash in ns_mouse_position (bug#44313) * src/nsterm.m (ns_destroy_window): Close the window before freeing the frame resources so we don't end up accessing the frame struct after it's been freed. --- src/nsterm.m | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/nsterm.m b/src/nsterm.m index fa38350a2f6..4fad521b74c 100644 --- a/src/nsterm.m +++ b/src/nsterm.m @@ -1782,6 +1782,8 @@ ns_destroy_window (struct frame *f) { NSTRACE ("ns_destroy_window"); + check_window_system (f); + /* If this frame has a parent window, detach it as not doing so can cause a crash in GNUStep. */ if (FRAME_PARENT_FRAME (f) != NULL) @@ -1792,7 +1794,7 @@ ns_destroy_window (struct frame *f) [parent removeChildWindow: child]; } - check_window_system (f); + [[FRAME_NS_VIEW (f) window] close]; ns_free_frame_resources (f); ns_window_num--; } -- 2.39.5