aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRichard M. Stallman2002-12-22 22:00:44 +0000
committerRichard M. Stallman2002-12-22 22:00:44 +0000
commitfa74535d4483ab0107607da3e7a85472fb1765c4 (patch)
tree1036ebc7f39f23d1e05be247b555d1e927554d09
parentc67af3f49f5dfac6d7a0cfe8643422c97b8909fc (diff)
downloademacs-fa74535d4483ab0107607da3e7a85472fb1765c4.tar.gz
emacs-fa74535d4483ab0107607da3e7a85472fb1765c4.zip
(pop_new_stack_if_no_contents): Do nothing if new_depth is 1.
(remap_menubar): Don't look in new_stack[0]. (Left): At level 1, do the same thing Right does.
-rw-r--r--lwlib/xlwmenu.c14
1 files changed, 12 insertions, 2 deletions
diff --git a/lwlib/xlwmenu.c b/lwlib/xlwmenu.c
index a1810f6d183..fc3abef503b 100644
--- a/lwlib/xlwmenu.c
+++ b/lwlib/xlwmenu.c
@@ -316,7 +316,7 @@ static void
316pop_new_stack_if_no_contents (mw) 316pop_new_stack_if_no_contents (mw)
317 XlwMenuWidget mw; 317 XlwMenuWidget mw;
318{ 318{
319 if (mw->menu.new_depth) 319 if (mw->menu.new_depth > 1)
320 { 320 {
321 if (!mw->menu.new_stack [mw->menu.new_depth - 1]->contents) 321 if (!mw->menu.new_stack [mw->menu.new_depth - 1]->contents)
322 mw->menu.new_depth -= 1; 322 mw->menu.new_depth -= 1;
@@ -1397,7 +1397,7 @@ remap_menubar (mw)
1397 1397
1398 /* unmap the menus that popped down */ 1398 /* unmap the menus that popped down */
1399 for (i = new_depth - 1; i < old_depth; i++) 1399 for (i = new_depth - 1; i < old_depth; i++)
1400 if (i >= new_depth || !new_stack[i]->contents) 1400 if (i >= new_depth || (i > 0 && !new_stack[i]->contents))
1401 XUnmapWindow (XtDisplay (mw), windows[i].window); 1401 XUnmapWindow (XtDisplay (mw), windows[i].window);
1402} 1402}
1403 1403
@@ -2184,6 +2184,16 @@ Left (w, ev, params, num_params)
2184 the menu-bar. If the current item is the first one, highlight the 2184 the menu-bar. If the current item is the first one, highlight the
2185 last item in the menubar (probably Help). */ 2185 last item in the menubar (probably Help). */
2186 set_new_state (mw, find_prev_selectable (mw, selected_item), mw->menu.old_depth - 1); 2186 set_new_state (mw, find_prev_selectable (mw, selected_item), mw->menu.old_depth - 1);
2187 else if (mw->menu.old_depth == 1
2188 && selected_item->contents) /* Is this menu item expandable? */
2189 {
2190 set_new_state (mw, selected_item->contents, mw->menu.old_depth);
2191 remap_menubar (mw);
2192 selected_item = mw->menu.old_stack [mw->menu.old_depth - 1];
2193 if (!selected_item->enabled && find_first_selectable (mw, selected_item))
2194 set_new_state (mw, find_first_selectable (mw, selected_item), mw->menu.old_depth - 1);
2195 }
2196
2187 else 2197 else
2188 { 2198 {
2189 pop_new_stack_if_no_contents (mw); 2199 pop_new_stack_if_no_contents (mw);