Hi, I'm using Arch Linux and Nimf for Input Method. In this description, | <= this is a cursor. In korean, we combine letters to make one letter. So, when I try to type 안, I have to do those steps: Input letter | Result letter ㅇ | ㅇ ㅏ | 아 ㄴ | 안 like this. When I type the last result-letter and move cursor in other place, the letter is cut and pasted. For example: before: 안녕하세요| 안녕 and move cursor next to 안녕 like this: 안녕하세요 안녕| after: 안녕하세 안녕요 this is the error called Last-letter bug. For your information, I reported this error to the developer of Nimf. https://github.com/cogniti/nimf/ I wish using Libre-Office without Last-letter bug.
The issue in nimf (closed): https://github.com/cogniti/nimf/issues/88
Hello, Using Nimf, do you reproduce it with another text editor, or only with LibreOffice? Could you please try with 2 or 3 other text editors to be sure? Thanks
I have set the bug's status to 'NEEDINFO'. Please change it back to 'UNCONFIRMED' once the questions have been answered
Nimf works without any bugs on many other editors like kate, clion, visual studio code and even on wine notepad. Only on Libreoffice, it gives error.
It can't resolve it and It's not Open Source project. It looks like closed and his-owned arbitrary project.nimf developer(Hodong Kim) require money to resolve the hangul last-letter bug on LibreOffice. 개발 및 유지 보수는 유료로 제공됩니다. #104 ("Development and maintain the nimf project require money", Translated in English) Link: https://github.com/cogniti/nimf/issues/104 As a Result, It cannot resolve the problem. If It resolve the problem, Anyone have to give money to the nimf developer. Today, He closed and made read-only Github Issue page. ( This repository has been archived by the owner. It is now read-only. ) https://github.com/cogniti/nimf It can't resolve it and I think that It's not Open Source project. It looks like closed and his-owned arbitrary project. Maybe If We should pay to him for the nimf project's error fix, he would fix it.
I am a nimf developer. LibreOffice does not reset input method when mouse is clicked. This bug is not a nimf bug. Please don't blame me.
To DaeHyun Sung Nimf is open source software under the LGPL. I have no obligation to resolve the LibreOffice bug. Even if I do not resolve the LibreOffice bug, do not distribute false information. I want you to obey the law no matter how bad you feel. I'm sorry to bother LibreOffice developers.
I have no time to compile and test it. hodong@debian:~/Downloads/libreoffice-5.2.7.2$ git diff diff --git a/vcl/unx/generic/app/i18n_ic.cxx b/vcl/unx/generic/app/i18n_ic.cxx index a67e589..fedf1de 100644 --- a/vcl/unx/generic/app/i18n_ic.cxx +++ b/vcl/unx/generic/app/i18n_ic.cxx @@ -618,6 +618,17 @@ SalI18N_InputContext::UnsetICFocus( SalFrame* pFrame ) } } +void +SalI18N_InputContext::ResetIC() +{ + if ( mbUseable && (maContext != nullptr) && maClientData.pFrame ) + { + char *text; + text = Xutf8ResetIC( maContext ); + free (text); + } +} + // multi byte input method only void diff --git a/vcl/unx/generic/window/salframe.cxx b/vcl/unx/generic/window/salframe.cxx index 061abbf..50326c1 100644 --- a/vcl/unx/generic/window/salframe.cxx +++ b/vcl/unx/generic/window/salframe.cxx @@ -2653,6 +2653,7 @@ long X11SalFrame::HandleMouseEvent( XEvent *pEvent ) } else if( pEvent->type == ButtonPress ) { + mpInputContext->ResetIC(); // see if the user clicks outside all of the floats // if yes release the grab bool bInside = false;
Closing as RESOLVED NOTABUG according to comment 5