From: Po Lu Date: Thu, 17 Feb 2022 10:01:30 +0000 (+0800) Subject: Prevent menu items leak if x-pre-popup-menu-hook signals X-Git-Tag: emacs-29.0.90~2276 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=c0fa3f2a6b8ce06af59f5e70cf1757189bd401f0;p=emacs.git Prevent menu items leak if x-pre-popup-menu-hook signals * src/menu.c (x_popup_menu_1): Make sure menu items are discarded if the pre popup menu hook signals. --- diff --git a/src/menu.c b/src/menu.c index ad4e3abe9f1..398bf9329ff 100644 --- a/src/menu.c +++ b/src/menu.c @@ -1391,9 +1391,7 @@ x_popup_menu_1 (Lisp_Object position, Lisp_Object menu) } #endif -#ifdef HAVE_NS /* FIXME: ns-specific, why? --Stef */ record_unwind_protect_void (discard_menu_items); -#endif run_hook (Qx_pre_popup_menu_hook); @@ -1404,11 +1402,7 @@ x_popup_menu_1 (Lisp_Object position, Lisp_Object menu) selection = FRAME_TERMINAL (f)->menu_show_hook (f, xpos, ypos, menuflags, title, &error_name); -#ifdef HAVE_NS unbind_to (specpdl_count, Qnil); -#else - discard_menu_items (); -#endif #ifdef HAVE_NTGUI /* W32 specific because other terminals clear the grab inside their `menu_show_hook's if