comparison src/xfaces.c @ 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 a9102b5472f0
children b0327e4e1da7
comparison
equal deleted inserted replaced
38801:7784d99b4ecc 38802:7ca6f1c8e014
4467 changed_p = 1; 4467 changed_p = 1;
4468 } 4468 }
4469 4469
4470 if (changed_p && f->output_data.x->menubar_widget) 4470 if (changed_p && f->output_data.x->menubar_widget)
4471 { 4471 {
4472 int blocked;
4473
4474 /* Function set_frame_menubar may call Lisp, for example
4475 from menu_item_eval_property inside a condition-case. If
4476 that code signals an error, Fsignal totally unblocks
4477 input, and if this function is called inside a
4478 BLOCK/UNBLOCK_INPUT which it is, this will screw up the
4479 interrupt_input_blocked count, unless we save it... */
4480 blocked = interrupt_input_blocked;
4472 free_frame_menubar (f); 4481 free_frame_menubar (f);
4473 set_frame_menubar (f, 1, 1); 4482 set_frame_menubar (f, 1, 1);
4483 interrupt_input_blocked = blocked;
4474 } 4484 }
4475 } 4485 }
4476 } 4486 }
4477 4487
4478 #endif /* HAVE_X_WINDOWS && USE_X_TOOLKIT */ 4488 #endif /* HAVE_X_WINDOWS && USE_X_TOOLKIT */
6037 struct frame *f; 6047 struct frame *f;
6038 { 6048 {
6039 int success_p = 0; 6049 int success_p = 0;
6040 int count = BINDING_STACK_SIZE (); 6050 int count = BINDING_STACK_SIZE ();
6041 6051
6042 /* Block input there so that we won't be surprised by an X expose 6052 /* Block input here so that we won't be surprised by an X expose
6043 event, for instance without having the faces set up. */ 6053 event, for instance, without having the faces set up. */
6044 BLOCK_INPUT; 6054 BLOCK_INPUT;
6045 specbind (Qscalable_fonts_allowed, Qt); 6055 specbind (Qscalable_fonts_allowed, Qt);
6046 6056
6047 if (realize_default_face (f)) 6057 if (realize_default_face (f))
6048 { 6058 {