diff options
author | Tarek Soliman | 2011-10-22 14:42:43 -0500 |
---|---|---|
committer | Tarek Soliman | 2011-10-27 10:46:23 -0500 |
commit | 56b5c0ea9fba89eeb1c2e1e70ded9049ba058865 (patch) | |
tree | 336e3f15a97fb3673302ba138e38f0b851e5a610 /gui | |
parent | a5082ffa5d12483f2e65fe653509989b1314164c (diff) | |
download | scummvm-rg350-56b5c0ea9fba89eeb1c2e1e70ded9049ba058865.tar.gz scummvm-rg350-56b5c0ea9fba89eeb1c2e1e70ded9049ba058865.tar.bz2 scummvm-rg350-56b5c0ea9fba89eeb1c2e1e70ded9049ba058865.zip |
KEYMAPPER: Make sure GuiManager only pops gui keymaps
Diffstat (limited to 'gui')
-rw-r--r-- | gui/gui-manager.cpp | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/gui/gui-manager.cpp b/gui/gui-manager.cpp index 0910d06fb2..849044286d 100644 --- a/gui/gui-manager.cpp +++ b/gui/gui-manager.cpp @@ -133,7 +133,15 @@ void GuiManager::pushKeymap() { } void GuiManager::popKeymap() { - _system->getEventManager()->getKeymapper()->popKeymap(); + Common::Keymapper *keymapper = _system->getEventManager()->getKeymapper(); + if (!keymapper->getActiveStack().empty()) { + Common::Keymapper::MapRecord topKeymap = keymapper->getActiveStack().top(); + // TODO: Don't use the keymap name as a way to discriminate GUI maps + if(topKeymap.keymap->getName().equals(Common::kGuiKeymapName)) + keymapper->popKeymap(); + else + warning("An attempt to pop non-gui keymap %s was blocked", topKeymap.keymap->getName().c_str()); + } } #endif |