From d89eb65e6d3a46ef9d04a950ee24352c146e4ea0 Mon Sep 17 00:00:00 2001 From: Paul Eggert Date: Wed, 11 May 2011 23:46:26 -0700 Subject: [PATCH] * xmenu.c (set_frame_menubar): Don't mishandle vectors with no nils. --- src/ChangeLog | 4 ++++ src/xmenu.c | 5 ++--- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/src/ChangeLog b/src/ChangeLog index da468d47db3..10b3ef2d6f2 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,3 +1,7 @@ +2011-05-12 Paul Eggert + + * xmenu.c (set_frame_menubar): Don't mishandle vectors with no nils. + 2011-05-11 Paul Eggert * xterm.c: Use EMACS_INT for Emacs modifiers, and int for X modifiers. diff --git a/src/xmenu.c b/src/xmenu.c index 2a4359fa84a..898aade06c2 100644 --- a/src/xmenu.c +++ b/src/xmenu.c @@ -922,7 +922,7 @@ set_frame_menubar (FRAME_PTR f, int first_time, int deep_p) #endif Lisp_Object items; widget_value *wv, *first_wv, *prev_wv = 0; - EMACS_UINT i, last_i = 0; + EMACS_UINT i, last_i; int *submenu_start, *submenu_end; int *submenu_top_level_items, *submenu_n_panes; @@ -1021,8 +1021,6 @@ set_frame_menubar (FRAME_PTR f, int first_time, int deep_p) { Lisp_Object key, string, maps; - last_i = i; - key = XVECTOR (items)->contents[4 * i]; string = XVECTOR (items)->contents[4 * i + 1]; maps = XVECTOR (items)->contents[4 * i + 2]; @@ -1039,6 +1037,7 @@ set_frame_menubar (FRAME_PTR f, int first_time, int deep_p) submenu_end[i] = menu_items_used; } + last_i = i; finish_menu_items (); /* Convert menu_items into widget_value trees -- 2.39.2