From c4d76ea8d4c13ba32f0a62ead53bc92c140685b4 Mon Sep 17 00:00:00 2001 From: Robert Pluim Date: Mon, 6 Jan 2025 16:38:07 +0100 Subject: [PATCH] Protect Vframe_list updating from interruptions * 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 | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/frame.c b/src/frame.c index cd14e411678..1e371351197 100644 --- a/src/frame.c +++ b/src/frame.c @@ -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 -- 2.39.5