diff options
| author | Richard M. Stallman | 1995-11-26 20:50:52 +0000 |
|---|---|---|
| committer | Richard M. Stallman | 1995-11-26 20:50:52 +0000 |
| commit | 62555c22ca24836f41a0973236cfd0f83b4d5532 (patch) | |
| tree | f6239441a0b514b0fcc8d8fa16fac674cc35edf9 | |
| parent | 599d82c8289e54e523ea930ea399223eeb3a5eac (diff) | |
| download | emacs-62555c22ca24836f41a0973236cfd0f83b4d5532.tar.gz emacs-62555c22ca24836f41a0973236cfd0f83b4d5532.zip | |
(set_frame_menubar): When called with deep_p == 0,
that invalidates the previous f->menu_bar_vector.
| -rw-r--r-- | src/xmenu.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/src/xmenu.c b/src/xmenu.c index 8fd87175a14..95aa47bccaa 100644 --- a/src/xmenu.c +++ b/src/xmenu.c | |||
| @@ -1654,7 +1654,7 @@ set_frame_menubar (f, first_time, deep_p) | |||
| 1654 | if (menu_items_used == i | 1654 | if (menu_items_used == i |
| 1655 | || (previous_items[i] != XVECTOR (menu_items)->contents[i])) | 1655 | || (previous_items[i] != XVECTOR (menu_items)->contents[i])) |
| 1656 | break; | 1656 | break; |
| 1657 | if (i == menu_items_used && i == previous_menu_items_used) | 1657 | if (i == menu_items_used && i == previous_menu_items_used && i != 0) |
| 1658 | { | 1658 | { |
| 1659 | free_menubar_widget_value_tree (first_wv); | 1659 | free_menubar_widget_value_tree (first_wv); |
| 1660 | menu_items = Qnil; | 1660 | menu_items = Qnil; |
| @@ -1704,6 +1704,11 @@ set_frame_menubar (f, first_time, deep_p) | |||
| 1704 | first_wv->contents = wv; | 1704 | first_wv->contents = wv; |
| 1705 | prev_wv = wv; | 1705 | prev_wv = wv; |
| 1706 | } | 1706 | } |
| 1707 | |||
| 1708 | /* Forget what we thought we knew about what is in the | ||
| 1709 | detailed contents of the menu bar menus. | ||
| 1710 | Changing the top level always destroys the contents. */ | ||
| 1711 | f->menu_bar_items_used = 0; | ||
| 1707 | } | 1712 | } |
| 1708 | 1713 | ||
| 1709 | /* Create or update the menu bar widget. */ | 1714 | /* Create or update the menu bar widget. */ |