]> git.eshelyaron.com Git - emacs.git/commitdiff
Protect Vframe_list updating from interruptions
authorRobert Pluim <rpluim@gmail.com>
Mon, 6 Jan 2025 15:38:07 +0000 (16:38 +0100)
committerEshel Yaron <me@eshelyaron.com>
Sat, 11 Jan 2025 11:19:30 +0000 (12:19 +0100)
* src/frame.c (delete_frame): When deleting the frame from
Vframe_list, block input, since input can arrive whilst we're
running lisp  (Bug#74902).

(cherry picked from commit 8e9ad92a140e89c3e29dd7ab148534289e7769db)

src/frame.c

index cd14e4116789a8b62739dd737719760f0ed645fb..1e3713511979f3cdfec894cfb69c6d7bf61d7333 100644 (file)
@@ -2497,7 +2497,9 @@ delete_frame (Lisp_Object frame, Lisp_Object force)
   delete_all_child_windows (f->root_window);
   fset_root_window (f, Qnil);
 
+  block_input ();
   Vframe_list = Fdelq (frame, Vframe_list);
+  unblock_input ();
   SET_FRAME_VISIBLE (f, false);
 
   /* Allow the vector of menu bar contents to be freed in the next