Mercurial > emacs
changeset 38802:7ca6f1c8e014
(x_update_menu_appearance): Save and restore value of
interrupt_input_blocked.
author | Gerd Moellmann <gerd@gnu.org> |
---|---|
date | Tue, 14 Aug 2001 10:57:07 +0000 |
parents | 7784d99b4ecc |
children | 65b24a70fc66 |
files | src/xfaces.c |
diffstat | 1 files changed, 12 insertions(+), 2 deletions(-) [+] |
line wrap: on
line diff
--- a/src/xfaces.c Mon Aug 13 12:14:32 2001 +0000 +++ b/src/xfaces.c Tue Aug 14 10:57:07 2001 +0000 @@ -4469,8 +4469,18 @@ if (changed_p && f->output_data.x->menubar_widget) { + int blocked; + + /* Function set_frame_menubar may call Lisp, for example + from menu_item_eval_property inside a condition-case. If + that code signals an error, Fsignal totally unblocks + input, and if this function is called inside a + BLOCK/UNBLOCK_INPUT which it is, this will screw up the + interrupt_input_blocked count, unless we save it... */ + blocked = interrupt_input_blocked; free_frame_menubar (f); set_frame_menubar (f, 1, 1); + interrupt_input_blocked = blocked; } } } @@ -6039,8 +6049,8 @@ int success_p = 0; int count = BINDING_STACK_SIZE (); - /* Block input there so that we won't be surprised by an X expose - event, for instance without having the faces set up. */ + /* Block input here so that we won't be surprised by an X expose + event, for instance, without having the faces set up. */ BLOCK_INPUT; specbind (Qscalable_fonts_allowed, Qt);