From e18eecf822cbf9727aea2855ed42dfe71edd55f6 Mon Sep 17 00:00:00 2001 From: cxl Date: Sun, 23 Nov 2008 17:29:32 +0000 Subject: [PATCH] X11 unicode patch with non-xic variant (by coolman, untested) git-svn-id: svn://ultimatepp.org/upp/trunk@667 f0d560ea-af0d-0410-9eb7-867de7ffcac7 --- uppsrc/CtrlCore/X11Proc.cpp | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/uppsrc/CtrlCore/X11Proc.cpp b/uppsrc/CtrlCore/X11Proc.cpp index f95cc2f93..cae4246d4 100644 --- a/uppsrc/CtrlCore/X11Proc.cpp +++ b/uppsrc/CtrlCore/X11Proc.cpp @@ -173,8 +173,11 @@ void Ctrl::EventProc(XWindow& w, XEvent *event) keysym = 0; } else { - XLookupString(&event->xkey, buff, 1, &keysym, NULL); - chr = *buff; + int len = XLookupString(&event->xkey, buff, sizeof(buff), &keysym, NULL); + buff[len] = 0; + chr = FromUtf8(buff, len)[0]; + if(len > 1) + wtext = FromUtf8(buff, len); } if(keysym == XK_Control_L || keysym == XK_Control_R) { keysym = XK_Control_L;