From ccc1cac01682ab7c0e9d72d8b022eb84684b3a44 Mon Sep 17 00:00:00 2001 From: "Richard M. Stallman" Date: Sat, 26 Jul 1997 01:40:05 +0000 Subject: [PATCH] (display_menu): If an item is disabled, don't display its submenu (if any). --- lwlib/xlwmenu.c | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/lwlib/xlwmenu.c b/lwlib/xlwmenu.c index d80fa0118c5..6fece5cdb87 100644 --- a/lwlib/xlwmenu.c +++ b/lwlib/xlwmenu.c @@ -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; -- 2.39.5