Details
-
Bug
-
Resolution: Fixed
-
P3: Somewhat important
-
5.6.2, dev
-
Linux, ibus input method
-
-
84cf0e2be (dev), c4dfea83b (6.7), af64fd6d6 (6.6), e1683c8c1 (tqtc/lts-6.5)
Description
I wanted to use ibus on Linux to debug my input method support implementation, but I stumble over an issue which is reproducible in QLineEdit:
After an action which changes the cursor position, it looks like the preedit string is committed and cleared, but it reappears on the next character input.
Steps to reproduce:
- Open a QLineEdit (e.g. lineedits example). Activate an ibus input method (e.g. "compose", but issue also shows for "latex").
- Type and commit first word (e.g. "Hello") : "Hello"
- Type, but do not commit second word (e.g. "world"): "Hello world"
- Move cursor to a position outside the preedit area (e.g. click after "He", or press Home key). Now the second world is (looks like) commited. What is already strange here is that a the preedit word remains visible in a small extra window. (Expected: no such window unless composing.)
- Type another letter (e.g. "X").
Actual result: The letter is composed with the previous preedit string ("world") and inserted as preedit string at the cursor position ("HeworldXllo world").
Expected result: The letter starts a new composing string at the cursor position ("HeXllo world").
=====================================
If using a module using preedit(ex, typing booster), it can be reproduce easily.
It is fixed for most of platforms, but Qt still has problems because Qt's ibus plugin does not support ClientCommitPreedit.
Attachments
Issue Links
- relates to
-
QTBUG-109576 Add new properties for ibus.inputcontext
- Closed