summaryrefslogtreecommitdiff
path: root/src/menu.c
diff options
context:
space:
mode:
authorPo Lu <luangruo@yahoo.com>2022-02-17 18:01:30 +0800
committerPo Lu <luangruo@yahoo.com>2022-02-17 18:06:12 +0800
commitc0fa3f2a6b8ce06af59f5e70cf1757189bd401f0 (patch)
treecc92c626381d5686d26cc9b8d202913fddf87a29 /src/menu.c
parent3750612093e5383afa55ea261f47737868660942 (diff)
downloademacs-c0fa3f2a6b8ce06af59f5e70cf1757189bd401f0.tar.gz
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.
Diffstat (limited to 'src/menu.c')
-rw-r--r--src/menu.c6
1 files changed, 0 insertions, 6 deletions
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