From c30dce3d220798adf35352e1624ef2468ed98e03 Mon Sep 17 00:00:00 2001 From: Andrew Innes Date: Sun, 30 Sep 2001 21:55:04 +0000 Subject: [PATCH] (set_frame_menubar): Take into account that f->menu_bar_vector can be nil, and not a vector. From Ken Raeburn . --- src/ChangeLog | 6 ++++++ src/w32menu.c | 7 ++++--- 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/src/ChangeLog b/src/ChangeLog index ee88c835d71..07157be5d6e 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,3 +1,9 @@ +2001-09-28 Andrew Innes + + * w32menu.c (set_frame_menubar): Take into account that + f->menu_bar_vector can be nil, and not a vector. From Ken Raeburn + . + 2001-09-30 Eli Zaretskii * frame.c (syms_of_frame) : Doc fix. diff --git a/src/w32menu.c b/src/w32menu.c index ca0ed0b6320..8021dece951 100644 --- a/src/w32menu.c +++ b/src/w32menu.c @@ -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) { -- 2.39.5