changeset 13654:645e14e39a2b

(set_frame_menubar): When called with deep_p == 0, that invalidates the previous f->menu_bar_vector.
author Richard M. Stallman <rms@gnu.org>
date Sun, 26 Nov 1995 20:50:52 +0000
parents acde2327c000
children 5dd2d988f3c3
files src/xmenu.c
diffstat 1 files changed, 6 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/src/xmenu.c	Sat Nov 25 18:21:17 1995 +0000
+++ b/src/xmenu.c	Sun Nov 26 20:50:52 1995 +0000
@@ -1654,7 +1654,7 @@
 	if (menu_items_used == i
 	    || (previous_items[i] != XVECTOR (menu_items)->contents[i]))
 	  break;
-      if (i == menu_items_used && i == previous_menu_items_used)
+      if (i == menu_items_used && i == previous_menu_items_used && i != 0)
 	{
 	  free_menubar_widget_value_tree (first_wv);
 	  menu_items = Qnil;
@@ -1704,6 +1704,11 @@
 	    first_wv->contents = wv;
 	  prev_wv = wv;
 	}
+
+      /* Forget what we thought we knew about what is in the
+	 detailed contents of the menu bar menus.
+	 Changing the top level always destroys the contents.  */
+      f->menu_bar_items_used = 0;
     }
 
   /* Create or update the menu bar widget.  */