summaryrefslogtreecommitdiff
path: root/Source/Core/InputCommon/Src/ControllerInterface/Xlib/Xlib.cpp
diff options
context:
space:
mode:
authorSoren Jorvang <soren.jorvang@gmail.com>2010-07-22 07:55:35 +0000
committerSoren Jorvang <soren.jorvang@gmail.com>2010-07-22 07:55:35 +0000
commit09b5dfbd5391429d2eb217855125b06b2226f32f (patch)
tree90eb219ce4390d058680327f1c1ed1527b5ebc0e /Source/Core/InputCommon/Src/ControllerInterface/Xlib/Xlib.cpp
parent6c7e666a75eaaddf0aae3ce70f664c18e1e05377 (diff)
Prevent Python from stripping off the final newline of the main(){}
autoconfiguration tests. Some versions of gcc care enough about ANSI C to complain about this. Use the Linux install hierarchy conventions on other Unices as well. XKeysymToString returns NULL on unknown keysyms, which is not a valid std::string initializer. There appears to be some disagreement regarding the second parameter to iconv(). Some versions/installations have it as const, others don't. Unfortunately, due to wonderful C++ brain damage, implicit conversion from const to non-const doesn't work here. git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5945 8ced0084-cf51-0410-be5f-012b33b47a6e
Diffstat (limited to 'Source/Core/InputCommon/Src/ControllerInterface/Xlib/Xlib.cpp')
-rw-r--r--Source/Core/InputCommon/Src/ControllerInterface/Xlib/Xlib.cpp7
1 files changed, 4 insertions, 3 deletions
diff --git a/Source/Core/InputCommon/Src/ControllerInterface/Xlib/Xlib.cpp b/Source/Core/InputCommon/Src/ControllerInterface/Xlib/Xlib.cpp
index 68294ebfc2..f1dcbaa79a 100644
--- a/Source/Core/InputCommon/Src/ControllerInterface/Xlib/Xlib.cpp
+++ b/Source/Core/InputCommon/Src/ControllerInterface/Xlib/Xlib.cpp
@@ -113,9 +113,10 @@ KeyboardMouse::Key::Key(Display* const display, KeyCode keycode)
if (keysym >= 97 && keysym <= 122)
keysym -= 32;
- // 0x0110ffff is the top of the unicode character range according to keysymdef.h
- // although it is probably more than we need.
- if (keysym == NoSymbol || keysym > 0x0110ffff)
+ // 0x0110ffff is the top of the unicode character range according
+ // to keysymdef.h although it is probably more than we need.
+ if (keysym == NoSymbol || keysym > 0x0110ffff ||
+ XKeysymToString(keysym) == NULL)
m_keyname = std::string();
else
m_keyname = std::string(XKeysymToString(keysym));