aboutsummaryrefslogtreecommitdiff
path: root/engines/sci/gui
diff options
context:
space:
mode:
authorMartin Kiewitz2009-11-11 21:32:07 +0000
committerMartin Kiewitz2009-11-11 21:32:07 +0000
commit94d05b3d0ad77fc80b2176ebb436360982d24c10 (patch)
tree09e5aa95d8e00229cf2a229fcdf36e13c9ba8a23 /engines/sci/gui
parent1bc60e9d8515c91576debcba6d618bc74258db11 (diff)
downloadscummvm-rg350-94d05b3d0ad77fc80b2176ebb436360982d24c10.tar.gz
scummvm-rg350-94d05b3d0ad77fc80b2176ebb436360982d24c10.tar.bz2
scummvm-rg350-94d05b3d0ad77fc80b2176ebb436360982d24c10.zip
SCI/newgui: if left/right walks into a separator line, do down instead of repeating left/right and thus skipping the menu
svn-id: r45844
Diffstat (limited to 'engines/sci/gui')
-rw-r--r--engines/sci/gui/gui_menu.cpp7
1 files changed, 7 insertions, 0 deletions
diff --git a/engines/sci/gui/gui_menu.cpp b/engines/sci/gui/gui_menu.cpp
index 713bfa0f45..46dd310470 100644
--- a/engines/sci/gui/gui_menu.cpp
+++ b/engines/sci/gui/gui_menu.cpp
@@ -582,6 +582,13 @@ GuiMenuItemEntry *SciGuiMenu::interactiveWithKeyboard() {
// Selection changed, fix up new selection if required
newItemEntry = interactiveGetItem(newMenuId, newItemId, newMenuId != curItemEntry->menuId);
newMenuId = newItemEntry->menuId; newItemId = newItemEntry->id;
+
+ // if we do this step again because of a separator line -> don't repeat left/right, but go down
+ switch (curEvent.data) {
+ case SCI_K_LEFT:
+ case SCI_K_RIGHT:
+ curEvent.data = SCI_K_DOWN;
+ }
}
} while (newItemEntry->separatorLine);
if ((newMenuId != curItemEntry->menuId) || (newItemId != curItemEntry->id)) {