emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Emacs-diffs] /srv/bzr/emacs/emacs-23 r100572: * xmenu.c (set_frame_menu


From: Andreas Schwab
Subject: [Emacs-diffs] /srv/bzr/emacs/emacs-23 r100572: * xmenu.c (set_frame_menubar): Fix submenu loops.
Date: Mon, 09 May 2011 13:13:02 +0200
User-agent: Bazaar (2.3.1)

------------------------------------------------------------
revno: 100572
committer: Andreas Schwab <address@hidden>
branch nick: emacs
timestamp: Mon 2011-05-09 13:13:02 +0200
message:
  * xmenu.c (set_frame_menubar): Fix submenu loops.
modified:
  src/ChangeLog
  src/xmenu.c
=== modified file 'src/ChangeLog'
--- a/src/ChangeLog     2011-05-09 09:59:23 +0000
+++ b/src/ChangeLog     2011-05-09 11:13:02 +0000
@@ -1,3 +1,7 @@
+2011-05-09  Andreas Schwab  <address@hidden>
+
+       * xmenu.c (set_frame_menubar): Fix submenu loops.
+
 2011-05-09  Eli Zaretskii  <address@hidden>
 
        Backport revisions 103939.1.41..103939.1.44 (inclusive) from trunk.

=== modified file 'src/xmenu.c'
--- a/src/xmenu.c       2011-05-09 09:59:23 +0000
+++ b/src/xmenu.c       2011-05-09 11:13:02 +0000
@@ -1058,21 +1058,20 @@
       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 @@
       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],


reply via email to

[Prev in Thread] Current Thread [Next in Thread]