From 99c6943e3d1ff16652e63fe999730ea0dbda2e8f Mon Sep 17 00:00:00 2001 From: Max Horn Date: Wed, 21 Jan 2009 02:07:23 +0000 Subject: Fix what I believe to be an error in Keymapper::cleanupGameKeymaps svn-id: r35972 --- backends/keymapper/keymapper.cpp | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'backends') 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 newStack; for (int i = 0; i < _activeMaps.size(); i++) { - if (!_activeMaps[i].global) + if (_activeMaps[i].global) newStack.push(_activeMaps[i]); } _activeMaps = newStack; -- cgit v1.2.3