]> git.eshelyaron.com Git - emacs.git/commitdiff
(set_frame_menubar): Take into account that
authorAndrew Innes <andrewi@gnu.org>
Sun, 30 Sep 2001 21:55:04 +0000 (21:55 +0000)
committerAndrew Innes <andrewi@gnu.org>
Sun, 30 Sep 2001 21:55:04 +0000 (21:55 +0000)
f->menu_bar_vector can be nil, and not a vector.  From Ken Raeburn
<raeburn@gnu.org>.

src/ChangeLog
src/w32menu.c

index ee88c835d71a0a41bfaed18e8e653ab737882ce9..07157be5d6eea2daf69d34c3226f7ca107d6974b 100644 (file)
@@ -1,3 +1,9 @@
+2001-09-28  Andrew Innes  <andrewi@gnu.org>
+
+       * w32menu.c (set_frame_menubar): Take into account that
+       f->menu_bar_vector can be nil, and not a vector.  From Ken Raeburn
+       <raeburn@gnu.org>.
+
 2001-09-30  Eli Zaretskii  <eliz@is.elta.co.il>
 
        * frame.c (syms_of_frame) <default-minibuffer-frame>: Doc fix.
index ca0ed0b6320c601bd6efef981447d408b2737957..8021dece951ffc8f475ec12afef1b02c7254f0fe 100644 (file)
@@ -1355,12 +1355,13 @@ set_frame_menubar (f, first_time, deep_p)
       inhibit_garbage_collection ();
 
       /* Save the frame's previous menu bar contents data.  */
-      bcopy (XVECTOR (f->menu_bar_vector)->contents, previous_items,
-            previous_menu_items_used * sizeof (Lisp_Object));
+      if (previous_menu_items_used)
+       bcopy (XVECTOR (f->menu_bar_vector)->contents, previous_items,
+              previous_menu_items_used * sizeof (Lisp_Object));
 
       /* Fill in the current menu bar contents.  */
       menu_items = f->menu_bar_vector;
-      menu_items_allocated = XVECTOR (menu_items)->size;
+      menu_items_allocated = VECTORP (menu_items) ? ASIZE (menu_items) : 0;
       init_menu_items ();
       for (i = 0; i < XVECTOR (items)->size; i += 4)
        {