emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

emacs-27 6aa9fe3 2/2: Fix crash in ns_mouse_position (bug#44313)


From: Alan Third
Subject: emacs-27 6aa9fe3 2/2: Fix crash in ns_mouse_position (bug#44313)
Date: Sat, 12 Dec 2020 05:42:18 -0500 (EST)

branch: emacs-27
commit 6aa9fe3e1b4052b2acde86404a90e35893ebfa00
Author: Alan Third <alan@idiocy.org>
Commit: Alan Third <alan@idiocy.org>

    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.
    
    (cherry picked from commit 18a7267c32a909bb26bd93d24543155aeb10e042)
---
 src/nsterm.m | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/src/nsterm.m b/src/nsterm.m
index 3dd915e..4defeee 100644
--- a/src/nsterm.m
+++ b/src/nsterm.m
@@ -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--;
 }



reply via email to

[Prev in Thread] Current Thread [Next in Thread]