summaryrefslogtreecommitdiff
path: root/src/nsmenu.m
diff options
context:
space:
mode:
authorEli Zaretskii <eliz@gnu.org>2013-09-21 17:53:04 +0300
committerEli Zaretskii <eliz@gnu.org>2013-09-21 17:53:04 +0300
commitf0177f86f745ef86357214b110f9d98e4ed63b7a (patch)
tree85f8cbb3a930a39ea84bb02637279b7a783d37eb /src/nsmenu.m
parente11a3bd1d1848d0a3a2ac21a48360eb628127ed9 (diff)
downloademacs-f0177f86f745ef86357214b110f9d98e4ed63b7a.tar.gz
Fix infinite loop in menu input due to block_input.
Diffstat (limited to 'src/nsmenu.m')
-rw-r--r--src/nsmenu.m3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/nsmenu.m b/src/nsmenu.m
index f9cd511efe9..697329df675 100644
--- a/src/nsmenu.m
+++ b/src/nsmenu.m
@@ -833,6 +833,8 @@ ns_menu_show (struct frame *f, int x, int y, bool for_click, bool keymaps,
ptrdiff_t specpdl_count = SPECPDL_INDEX ();
widget_value *wv, *first_wv = 0;
+ block_input ();
+
p.x = x; p.y = y;
/* now parse stage 2 as in ns_update_menubar */
@@ -1035,6 +1037,7 @@ ns_menu_show (struct frame *f, int x, int y, bool for_click, bool keymaps,
popup_activated_flag = 0;
[[FRAME_NS_VIEW (SELECTED_FRAME ()) window] makeKeyWindow];
+ unblock_input ();
return tem;
}