(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.
This commit is contained in:
parent
c67af3f49f
commit
fa74535d44
1 changed files with 12 additions and 2 deletions
|
@ -316,7 +316,7 @@ static void
|
|||
pop_new_stack_if_no_contents (mw)
|
||||
XlwMenuWidget mw;
|
||||
{
|
||||
if (mw->menu.new_depth)
|
||||
if (mw->menu.new_depth > 1)
|
||||
{
|
||||
if (!mw->menu.new_stack [mw->menu.new_depth - 1]->contents)
|
||||
mw->menu.new_depth -= 1;
|
||||
|
@ -1397,7 +1397,7 @@ remap_menubar (mw)
|
|||
|
||||
/* unmap the menus that popped down */
|
||||
for (i = new_depth - 1; i < old_depth; i++)
|
||||
if (i >= new_depth || !new_stack[i]->contents)
|
||||
if (i >= new_depth || (i > 0 && !new_stack[i]->contents))
|
||||
XUnmapWindow (XtDisplay (mw), windows[i].window);
|
||||
}
|
||||
|
||||
|
@ -2184,6 +2184,16 @@ Left (w, ev, params, num_params)
|
|||
the menu-bar. If the current item is the first one, highlight the
|
||||
last item in the menubar (probably Help). */
|
||||
set_new_state (mw, find_prev_selectable (mw, selected_item), mw->menu.old_depth - 1);
|
||||
else if (mw->menu.old_depth == 1
|
||||
&& selected_item->contents) /* Is this menu item expandable? */
|
||||
{
|
||||
set_new_state (mw, selected_item->contents, mw->menu.old_depth);
|
||||
remap_menubar (mw);
|
||||
selected_item = mw->menu.old_stack [mw->menu.old_depth - 1];
|
||||
if (!selected_item->enabled && find_first_selectable (mw, selected_item))
|
||||
set_new_state (mw, find_first_selectable (mw, selected_item), mw->menu.old_depth - 1);
|
||||
}
|
||||
|
||||
else
|
||||
{
|
||||
pop_new_stack_if_no_contents (mw);
|
||||
|
|
Loading…
Add table
Reference in a new issue