]> git.eshelyaron.com Git - emacs.git/commitdiff
(display_menu): If an item is disabled,
authorRichard M. Stallman <rms@gnu.org>
Sat, 26 Jul 1997 01:40:05 +0000 (01:40 +0000)
committerRichard M. Stallman <rms@gnu.org>
Sat, 26 Jul 1997 01:40:05 +0000 (01:40 +0000)
don't display its submenu (if any).

lwlib/xlwmenu.c

index d80fa0118c5fe9b68d6903452b2c89cd1cba3642..6fece5cdb875c4feacfd4e718b41a37d874e77c5 100644 (file)
@@ -644,6 +644,9 @@ display_menu (mw, level, just_compute_p, highlighted_pos, hit, hit_return,
   int horizontal_p = mw->menu.horizontal && (level == 0);
   int highlighted_p;
   int just_compute_this_one_p;
+  /* This is set nonzero if the element containing HIGHLIGHTED_POS
+     is disabled, so that we do not return any subsequent element either.  */
+  int no_return = 0;
 
   if (level >= mw->menu.old_depth)
     abort ();
@@ -688,8 +691,14 @@ display_menu (mw, level, just_compute_p, highlighted_pos, hit, hit_return,
       if (hit
          && !*hit_return
          && (horizontal_p ? hit->x < where.x : hit->y < where.y)
-         && !all_dashes_p (val->name))
-       *hit_return = val;
+         && !all_dashes_p (val->name)
+         && !no_return)
+       {
+         if (val->enabled)
+           *hit_return = val;
+         else
+           no_return = 1;
+       }
 
       if (horizontal_p)
        where.y = 0;