aboutsummaryrefslogtreecommitdiff
path: root/engines
diff options
context:
space:
mode:
authorPaul Gilbert2011-07-16 16:23:34 +1000
committerPaul Gilbert2011-07-16 16:23:34 +1000
commit10627dccfa51eefccc6aa2a468f3a2fa246e88b6 (patch)
treebc7749c6e1b55936fe3ce197d3556ae1030576ed /engines
parent50d313a547ae1bec050be8d6b64ccc01161da22f (diff)
downloadscummvm-rg350-10627dccfa51eefccc6aa2a468f3a2fa246e88b6.tar.gz
scummvm-rg350-10627dccfa51eefccc6aa2a468f3a2fa246e88b6.tar.bz2
scummvm-rg350-10627dccfa51eefccc6aa2a468f3a2fa246e88b6.zip
CGE: Fix the selection of menu items to call appropriate dispatch method
Diffstat (limited to 'engines')
-rw-r--r--engines/cge/vmenu.cpp6
1 files changed, 4 insertions, 2 deletions
diff --git a/engines/cge/vmenu.cpp b/engines/cge/vmenu.cpp
index f802916657..0c0e1fb855 100644
--- a/engines/cge/vmenu.cpp
+++ b/engines/cge/vmenu.cpp
@@ -127,6 +127,7 @@ Vmenu::~Vmenu() {
_addr = NULL;
}
+#define CALL_MEMBER_FN(object,ptrToMember) ((object).*(ptrToMember))
void Vmenu::touch(uint16 mask, int x, int y) {
uint16 h = FONT_HIG + TEXT_LS;
@@ -150,8 +151,9 @@ void Vmenu::touch(uint16 mask, int x, int y) {
if (ok && (mask & L_UP)) {
_items = 0;
SNPOST_(SNKILL, -1, 0, this);
- //_menu[_recent = n].Proc();
- warning("Missing call to proc()");
+ _recent = n;
+ assert(_menu[n].Proc);
+ CALL_MEMBER_FN(*_vm, _menu[n].Proc)();
}
}
}