From cc8fdc643a25483734ae03cd5db72ae00ff561cd Mon Sep 17 00:00:00 2001 From: marha Date: Tue, 20 Jul 2010 15:36:28 +0000 Subject: libX11 git update 20/7/2010 --- libX11/nls/en_US.UTF-8/Compose.pre | 1 + libX11/src/StrKeysym.c | 10 ++++++++++ 2 files changed, 11 insertions(+) diff --git a/libX11/nls/en_US.UTF-8/Compose.pre b/libX11/nls/en_US.UTF-8/Compose.pre index 941910167..142adab2e 100644 --- a/libX11/nls/en_US.UTF-8/Compose.pre +++ b/libX11/nls/en_US.UTF-8/Compose.pre @@ -5378,3 +5378,4 @@ XCOMM : "Р̂" # CYRILLIC CAPITAL LETTER ER WITH COMBINING CIRCUMFLEX ACCENT : "Р̂" # CYRILLIC CAPITAL LETTER ER WITH COMBINING CIRCUMFLEX ACCENT + : "🙌" # PERSON RAISING BOTH HANDS IN CELEBRATION diff --git a/libX11/src/StrKeysym.c b/libX11/src/StrKeysym.c index 8fb384505..6e9c427f8 100644 --- a/libX11/src/StrKeysym.c +++ b/libX11/src/StrKeysym.c @@ -27,6 +27,7 @@ in this Software without prior written authorization from The Open Group. #ifdef HAVE_CONFIG_H #include #endif +#include #include "Xlibint.h" #include #include @@ -153,6 +154,15 @@ XStringToKeysym(_Xconst char *s) return val | 0x01000000; } + if (strlen(s) > 2 && s[0] == '0' && s[1] == 'x') { + char *tmp = NULL; + val = strtoul(s, &tmp, 16); + if (val == ULONG_MAX || (tmp && *tmp != '\0')) + return NoSymbol; + else + return val; + } + /* Stupid inconsistency between the headers and XKeysymDB: the former has * no separating underscore, while some XF86* syms in the latter did. * As a last ditch effort, try without. */ -- cgit v1.2.3