]> git.eshelyaron.com Git - emacs.git/commitdiff
(set_frame_menubar): When called with deep_p == 0,
authorRichard M. Stallman <rms@gnu.org>
Sun, 26 Nov 1995 20:50:52 +0000 (20:50 +0000)
committerRichard M. Stallman <rms@gnu.org>
Sun, 26 Nov 1995 20:50:52 +0000 (20:50 +0000)
that invalidates the previous f->menu_bar_vector.

src/xmenu.c

index 8fd87175a1442dfc36534a7304641efe095b7810..95aa47bccaa496877a9ee0278def434ad71e72a8 100644 (file)
@@ -1654,7 +1654,7 @@ set_frame_menubar (f, first_time, deep_p)
        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 @@ set_frame_menubar (f, first_time, deep_p)
            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.  */