summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSam Lantinga <slouken@libsdl.org>2012-01-22 13:47:21 -0500
committerSam Lantinga <slouken@libsdl.org>2012-01-22 13:47:21 -0500
commit8f368306a5db21de1ecf69328ce328eda49a3341 (patch)
treef88f10043e093abb194c61d6b6a5e0ed70e02ccf
parentf9bf4f3370faafc9c180b21fb68a38ff69297edd (diff)
downloadsdl-8f368306a5db21de1ecf69328ce328eda49a3341.tar.gz
Fixed bug 1390 - X11_KeyToUnicode
manuel.montezelo 2012-01-22 08:56:18 PST We had the following bug report at Debian: http://bugs.debian.org/376560 Same one in Ubuntu: https://bugs.launchpad.net/ubuntu/+source/libsdl1.2/+bug/66217 We've been including a patch since then (attached) to actually export the symbol, since 2006. In the last release the function seems to be there, alive and kicking. It's affecting other people too: http://www.garagegames.com/community/forums/viewthread/52287
-rw-r--r--src/video/x11/SDL_x11events.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/src/video/x11/SDL_x11events.c b/src/video/x11/SDL_x11events.c
index 559a00148..72943b9e1 100644
--- a/src/video/x11/SDL_x11events.c
+++ b/src/video/x11/SDL_x11events.c
@@ -1246,8 +1246,11 @@ static void get_modifier_masks(Display *display)
* sequences (dead accents, compose key sequences) will not work since the
* state has been irrevocably lost.
*/
+extern DECLSPEC Uint16 SDLCALL X11_KeyToUnicode(SDLKey, SDLMod);
+
Uint16 X11_KeyToUnicode(SDLKey keysym, SDLMod modifiers)
{
+ static int warning = 0;
struct SDL_VideoDevice *this = current_video;
char keybuf[32];
int i;
@@ -1255,6 +1258,12 @@ Uint16 X11_KeyToUnicode(SDLKey keysym, SDLMod modifiers)
XKeyEvent xkey;
Uint16 unicode;
+ if ( warning ) {
+ warning = 0;
+ fprintf(stderr, "WARNING: Application is using X11_KeyToUnicode().\n");
+ fprintf(stderr, "This is not an official SDL function, please report this as a bug.\n");
+ }
+
if ( !this || !SDL_Display ) {
return 0;
}