]> git.eshelyaron.com Git - emacs.git/commitdiff
* xmenu.c (set_frame_menubar): Fix submenu loops.
authorAndreas Schwab <schwab@linux-m68k.org>
Mon, 9 May 2011 11:13:02 +0000 (13:13 +0200)
committerAndreas Schwab <schwab@linux-m68k.org>
Mon, 9 May 2011 11:13:02 +0000 (13:13 +0200)
src/ChangeLog
src/xmenu.c

index 2a051a9e27beebafb8ec6bd186b924665b2ea94b..4ab5b4e64f16cee4db3502e5e8471ae020b0f6ef 100644 (file)
@@ -1,3 +1,7 @@
+2011-05-09  Andreas Schwab  <schwab@linux-m68k.org>
+
+       * xmenu.c (set_frame_menubar): Fix submenu loops.
+
 2011-05-09  Eli Zaretskii  <eliz@gnu.org>
 
        Backport revisions 103939.1.41..103939.1.44 (inclusive) from trunk.
index 2a05c52ee34322da6ba657852112f8df112dca58..5c6c2b0cfdd755f28116d46d89c8b426268a3eba 100644 (file)
@@ -1058,21 +1058,20 @@ set_frame_menubar (f, first_time, deep_p)
       menu_items = f->menu_bar_vector;
       menu_items_allocated = VECTORP (menu_items) ? ASIZE (menu_items) : 0;
       subitems = XVECTOR_SIZE (items) / 4;
-      submenu_start = (int *) alloca (subitems * sizeof (int *));
-      submenu_end = (int *) alloca (subitems * sizeof (int *));
+      submenu_start = (int *) alloca (subitems * sizeof (int));
+      submenu_end = (int *) alloca (subitems * sizeof (int));
       submenu_n_panes = (int *) alloca (subitems * sizeof (int));
-      submenu_top_level_items
-       = (int *) alloca (subitems * sizeof (int *));
+      submenu_top_level_items = (int *) alloca (subitems * sizeof (int));
       init_menu_items ();
-      for (i = 0; i < subitems; i += 4)
+      for (i = 0; i < subitems; i++)
        {
          Lisp_Object key, string, maps;
 
          last_i = i;
 
-         key = XVECTOR (items)->contents[i];
-         string = XVECTOR (items)->contents[i + 1];
-         maps = XVECTOR (items)->contents[i + 2];
+         key = XVECTOR (items)->contents[i * 4];
+         string = XVECTOR (items)->contents[i * 4 + 1];
+         maps = XVECTOR (items)->contents[i * 4 + 2];
          if (NILP (string))
            break;
 
@@ -1099,7 +1098,7 @@ set_frame_menubar (f, first_time, deep_p)
       wv->help = Qnil;
       first_wv = wv;
 
-      for (i = 0; i < last_i; i += 4)
+      for (i = 0; i < last_i; i++)
        {
          menu_items_n_panes = submenu_n_panes[i];
          wv = digest_single_submenu (submenu_start[i], submenu_end[i],