diff options
author | Max Horn | 2009-01-21 02:07:23 +0000 |
---|---|---|
committer | Max Horn | 2009-01-21 02:07:23 +0000 |
commit | 99c6943e3d1ff16652e63fe999730ea0dbda2e8f (patch) | |
tree | 2c12a656157d0b5c29cd4987f6267221a3b867d9 /backends | |
parent | 250acd4c8d345301c1b7e831c3c0f485c77d8ac7 (diff) | |
download | scummvm-rg350-99c6943e3d1ff16652e63fe999730ea0dbda2e8f.tar.gz scummvm-rg350-99c6943e3d1ff16652e63fe999730ea0dbda2e8f.tar.bz2 scummvm-rg350-99c6943e3d1ff16652e63fe999730ea0dbda2e8f.zip |
Fix what I believe to be an error in Keymapper::cleanupGameKeymaps
svn-id: r35972
Diffstat (limited to 'backends')
-rw-r--r-- | backends/keymapper/keymapper.cpp | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/backends/keymapper/keymapper.cpp b/backends/keymapper/keymapper.cpp index 298ec721cd..1ac0af6025 100644 --- a/backends/keymapper/keymapper.cpp +++ b/backends/keymapper/keymapper.cpp @@ -96,10 +96,14 @@ void Keymapper::initKeymap(Domain &domain, Keymap *map) { } void Keymapper::cleanupGameKeymaps() { + // Flush all game specific keymaps _gameDomain.deleteAllKeyMaps(); + + // Now restore the stack of active maps. Re-add all global keymaps, drop + // the game specific (=deleted) ones. Stack<MapRecord> newStack; for (int i = 0; i < _activeMaps.size(); i++) { - if (!_activeMaps[i].global) + if (_activeMaps[i].global) newStack.push(_activeMaps[i]); } _activeMaps = newStack; |