Commit 20adfbd8 authored by Eli Zaretskii's avatar Eli Zaretskii
Browse files

Provisional fix for bug #16479 with client connecting while in a TTY menu.

 src/menu.c (Fx_popup_menu): When invoking tty_menu_show, temporarily
 switch to single keyboard.  Prevents daemon crashes when a new
 client connects while we show a TTY menu in an existing client.
parent 16063016
2014-01-17 Eli Zaretskii <eliz@gnu.org>
* menu.c (Fx_popup_menu): When invoking tty_menu_show, temporarily
switch to single keyboard. Prevents daemon crashes when a new
client connects while we show a TTY menu in an existing client.
(Bug#16479)
2014-01-14 Paul Eggert <eggert@cs.ucla.edu>
Fix MinGW64 porting problem with _setjmp.
......
......@@ -1443,8 +1443,16 @@ no quit occurs and `x-popup-menu' returns nil. */)
else
#endif
if (FRAME_TERMCAP_P (f))
selection = tty_menu_show (f, xpos, ypos, for_click, keymaps, title,
kbd_menu_navigation, &error_name);
{
ptrdiff_t count1 = SPECPDL_INDEX ();
/* Avoid crashes if, e.g., another client will connect while we
are in a menu. */
temporarily_switch_to_single_kboard (f);
selection = tty_menu_show (f, xpos, ypos, for_click, keymaps, title,
kbd_menu_navigation, &error_name);
unbind_to (count1, Qnil);
}
#ifdef HAVE_NS
unbind_to (specpdl_count, Qnil);
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment