[QScintilla] Korean IME composition bug since QScintilla 2.8.1 (windows only)

Phil Thompson phil at riverbankcomputing.com
Mon Sep 26 16:46:52 BST 2016


On 31 Aug 2016, at 7:55 am, zelong <bugcaptor at gmail.com> wrote:
> 
> Since 2.8.1 version, Korean character composition not working.
> If I intend to type "한글" ('han-guel' that two characters), result of composition is "한글글". (han-guel-guel, the last character added not intended) Not specific character's problem, but so many composition error appeared so typing Korean character's almost impossible.
> 
> I tested this problem and I found the line of that.
> 
> 32, 33 line of InputMethod.cpp in Qt4Qt5 directory.
> 
> void QsciScintillaBase::inputMethodEvent(QInputMethodEvent *event)
> {
>     // Do nothing if it appears to be a non-event.  This can sometimes happen
>     // (but why?) on losing focus.
>     if (event->commitString().isEmpty() && event->preeditString().isEmpty() && event->replacementLength() == 0)
>         return;
>  ...
> 
> If I remove last two lines of code, it's OK. No problem for typing any characters.
> 
> But I don't know why this change made, and don't know also how to push(the process) fix.
> 
> This problem only occur on Windows system. I found this problem for Gideros Studio IDE code editor (http://giderosmobile.com/). Gideros uses QScintilla for code editing window. And windows version have this problem, mac version not. I tested by custom built gideros studio (qscintilla2.dll exactly) removing above two line of code.
> 
> Please help to fix this problem people.

I've disabled those lines for Windows. However as the comment suggests, I don't really understand what is going on here.

Phil


More information about the QScintilla mailing list