AGI: More accurate menu mouse support

Menu items did not switch to inverted state when they are disabled.
This commit is contained in:
Martin Kiewitz
2016-02-04 16:42:41 +01:00
parent 9620979def
commit af8dbfc998
+10 -8
View File
@@ -600,11 +600,10 @@ void GfxMenu::mouseEvent(uint16 newKey) {
// User has stopped pressing the mouse button, if any item number is selected -> execute it
if (activeItemNr >= 0) {
GuiMenuItemEntry *itemEntry = _itemArray[activeItemNr];
if (!itemEntry->enabled)
return;
// Trigger controller
_vm->_game.controllerOccured[itemEntry->controllerSlot] = true;
if (itemEntry->enabled) {
// Trigger controller
_vm->_game.controllerOccured[itemEntry->controllerSlot] = true;
}
}
_vm->cycleInnerLoopInactive(); // exit execute-loop
@@ -645,9 +644,12 @@ void GfxMenu::mouseFindMenuSelection(int16 mouseRow, int16 mouseColumn, int16 &a
// line match
if ((mouseColumn >= itemEntry->column) && (mouseColumn <= (itemEntry->column + itemEntry->textLen))) {
// full match
activeMenuNr = _drawnMenuNr;
activeMenuItemNr = itemNr;
return;
if (itemEntry->enabled) {
// Only see it, when it's currently enabled
activeMenuNr = _drawnMenuNr;
activeMenuItemNr = itemNr;
return;
}
}
}
itemNr++;