Uploaded image for project: 'Qt'
  1. Qt
  2. QTBUG-58005

ibus: commit does not properly reset the preedit string

    XMLWordPrintable

Details

    • Linux/X11

    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").

      Attachments

        Activity

          People

            qt.team.quick.subscriptions Qt Quick and Widgets Team
            dg0yt Kai Pastor
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

              Created:
              Updated: