Mercurial > emacs
changeset 33082:5ab6f3e1f5c8
(menu_face_change_count): New variable.
(Finternal_set_lisp_face_attribute): Increment it for changes
of the `menu' face.
(realize_basic_faces): Reflect changes in the `menu' faces
in menu bars.
author | Gerd Moellmann <gerd@gnu.org> |
---|---|
date | Mon, 30 Oct 2000 20:45:18 +0000 |
parents | 91435f3e0675 |
children | 1cbb720d4c77 |
files | src/xfaces.c |
diffstat | 1 files changed, 24 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- a/src/xfaces.c Mon Oct 30 19:59:09 2000 +0000 +++ b/src/xfaces.c Mon Oct 30 20:45:18 2000 +0000 @@ -445,6 +445,10 @@ int face_change_count; +/* Incremented for every change in the `menu' face. */ + +int menu_face_change_count; + /* Non-zero means don't display bold text if a face's foreground and background colors are the inverse of the default colors of the display. This is a kluge to suppress `bold black' foreground text @@ -4033,6 +4037,8 @@ if (EQ (attr, QCbackground)) param = Qmouse_color; } + else if (EQ (face, Qmenu)) + ++menu_face_change_count; if (!NILP (param)) { @@ -4444,12 +4450,14 @@ if (f->face_cache->used == 0) recompute_basic_faces (f); + BLOCK_INPUT; #ifdef USE_LUCID xl_set_menu_resources_from_menu_face (f, widget); #endif #ifdef USE_MOTIF xm_set_menu_resources_from_menu_face (f, widget); #endif + UNBLOCK_INPUT; } #endif /* USE_X_TOOLKIT */ @@ -5939,6 +5947,22 @@ realize_named_face (f, Qcursor, CURSOR_FACE_ID); realize_named_face (f, Qmouse, MOUSE_FACE_ID); realize_named_face (f, Qmenu, MENU_FACE_ID); + + /* Reflext changes in the `menu' face in menu bars. */ + if (menu_face_change_count) + { + menu_face_change_count = 0; + +#ifdef USE_X_TOOLKIT + if (FRAME_X_P (f)) + { + Widget menu = f->output_data.x->menubar_widget; + if (menu) + x_set_menu_resources_from_menu_face (f, menu); + } +#endif /* USE_X_TOOLKIT */ + } + success_p = 1; }