You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@openoffice.apache.org by bu...@apache.org on 2013/12/13 15:29:07 UTC

[Bug 122950] Two characters are input for a character through input method

https://issues.apache.org/ooo/show_bug.cgi?id=122950

--- Comment #3 from hanya <ha...@gmail.com> ---
This problem caused in GtkSalFrame::IMHandler::signalIMCommit method from 
vcl/unx/gtk/window/gtkframe.cxx file.

In the signalIMCommit method, it checks the use of the pre-edit window with the 
following line: 
>bool bWasPreedit =
>            (pThis->m_aInputEvent.mpTextAttr != 0) ||
>            pThis->m_bPreeditJustChanged;
When I checked bWasPreedit value, it was always false. Because 
pThis->m_aInputEvent.mpTextAttr is always 0 and pThis->m_bPreeditJustChanged 
is also always false.
pThis->m_aInputEvent.mpTextAttr is set to 0 in almost top of signalIMCommit
method.
pThis->m_bPreeditJustChanged is set to true inside
GtkSalFrame::IMHandler::signalIMPreeditChanged method 
that called at the key pressing. But it is changed to false in 
GtkSalFrame::IMHandler::handleKeyEvent method that called before the
signalIMCommit method.

To check the use of pre-edit before setting mpTextAttr to 0 is the way to solve
this problem, it seems.

-- 
You are receiving this mail because:
You are on the CC list for the bug.
You are the assignee for the bug.
You are watching all bug changes.