]> git.eshelyaron.com Git - emacs.git/commitdiff
Fix crash in ns_mouse_position (bug#44313)
authorAlan Third <alan@idiocy.org>
Sat, 31 Oct 2020 15:14:34 +0000 (15:14 +0000)
committerAlan Third <alan@idiocy.org>
Sat, 12 Dec 2020 10:31:56 +0000 (10:31 +0000)
* 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.

(cherry picked from commit 18a7267c32a909bb26bd93d24543155aeb10e042)

src/nsterm.m

index 3dd915e3703c81f41913405ae2192bf7f3dd02e2..4defeee7c3a4c5b9cc78906eda837840716c0823 100644 (file)
@@ -1657,6 +1657,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)
@@ -1667,7 +1669,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--;
 }