diff options
| author | Gerd Moellmann | 2001-08-14 10:57:25 +0000 |
|---|---|---|
| committer | Gerd Moellmann | 2001-08-14 10:57:25 +0000 |
| commit | 04386463e8d533435ed8f5f02a0c5836a83998b9 (patch) | |
| tree | 5d64bf634b20d6fdbfe1cb7c7c122a7222809fb8 /src | |
| parent | b0e619b41a0cdd619b531d2f35135d83a872cbb4 (diff) | |
| download | emacs-04386463e8d533435ed8f5f02a0c5836a83998b9.tar.gz emacs-04386463e8d533435ed8f5f02a0c5836a83998b9.zip | |
(x_update_menu_appearance): Save and restore value of
interrupt_input_blocked.
Diffstat (limited to 'src')
| -rw-r--r-- | src/ChangeLog | 5 | ||||
| -rw-r--r-- | src/xfaces.c | 14 |
2 files changed, 17 insertions, 2 deletions
diff --git a/src/ChangeLog b/src/ChangeLog index 4aea39cc3b6..eede4051269 100644 --- a/src/ChangeLog +++ b/src/ChangeLog | |||
| @@ -1,3 +1,8 @@ | |||
| 1 | 2001-08-14 Gerd Moellmann <gerd@gnu.org> | ||
| 2 | |||
| 3 | * xfaces.c (x_update_menu_appearance): Save and restore value of | ||
| 4 | interrupt_input_blocked. | ||
| 5 | |||
| 1 | 2001-08-13 Gerd Moellmann <gerd@gnu.org> | 6 | 2001-08-13 Gerd Moellmann <gerd@gnu.org> |
| 2 | 7 | ||
| 3 | * xdisp.c (move_it_by_lines) <DVPOS < 0>: If not already on | 8 | * xdisp.c (move_it_by_lines) <DVPOS < 0>: If not already on |
diff --git a/src/xfaces.c b/src/xfaces.c index 734e1c493f9..e2ddb40244c 100644 --- a/src/xfaces.c +++ b/src/xfaces.c | |||
| @@ -4469,8 +4469,18 @@ x_update_menu_appearance (f) | |||
| 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 | } |
| @@ -6039,8 +6049,8 @@ realize_basic_faces (f) | |||
| 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 | ||