From 58f612eca17e9f2bc8d296df0aba627d4e2e18e3 Mon Sep 17 00:00:00 2001
From: Perttu Ahola <celeron55@gmail.com>
Date: Fri, 22 Jul 2011 22:35:20 +0300
Subject: [PATCH] Changing key settings now doesn't require a game restart

---
 src/guiKeyChangeMenu.cpp | 2 +-
 src/keycode.cpp          | 1 +
 src/keycode.h            | 6 ++++--
 3 files changed, 6 insertions(+), 3 deletions(-)

diff --git a/src/guiKeyChangeMenu.cpp b/src/guiKeyChangeMenu.cpp
index 3e594aeca..4a11cf93c 100644
--- a/src/guiKeyChangeMenu.cpp
+++ b/src/guiKeyChangeMenu.cpp
@@ -338,7 +338,7 @@ bool GUIKeyChangeMenu::acceptInput()
 	g_settings.set("keymap_fastmove", keycode_to_keyname(key_fast));
 	g_settings.set("keymap_special1", keycode_to_keyname(key_use));
 	g_settings.set("keymap_print_debug_stacks", keycode_to_keyname(key_dump));
-	//clearKeyCache(); Y U NO SCOPE?!
+	clearKeyCache();
 	return true;
 }
 void GUIKeyChangeMenu::init_keys()
diff --git a/src/keycode.cpp b/src/keycode.cpp
index f014914d0..d6472d2ea 100644
--- a/src/keycode.cpp
+++ b/src/keycode.cpp
@@ -233,3 +233,4 @@ void clearKeyCache()
 {
 	g_key_setting_cache.clear();
 }
+
diff --git a/src/keycode.h b/src/keycode.h
index 9c62004d8..300682b12 100644
--- a/src/keycode.h
+++ b/src/keycode.h
@@ -24,11 +24,13 @@ with this program; if not, write to the Free Software Foundation, Inc.,
 #include <string>
 
 irr::EKEY_CODE keyname_to_keycode(const char *name);
+std::string keycode_to_keyname(s32 keycode);
 
 // Key configuration getter
 irr::EKEY_CODE getKeySetting(const char *settingname);
-std::string keycode_to_keyname(s32 keycode);
-void clearCache();
+
+// Clear fast lookup cache
+void clearKeyCache();
 
 #endif
 
-- 
GitLab