Details
-
Bug
-
Resolution: Unresolved
-
P2: Important
-
5.6.2, 5.8.0 RC, 5.15.0, 5.15.1, 5.15.2, 6.0.0, 6.0.1
Description
On Android, the platform input context does not implement update()
(http://code.qt.io/cgit/qt/qtbase.git/tree/src/plugins/platforms/android/qandroidinputcontext.cpp?h=5.8.0#n645).
Instead, it relies on connecting to the widget's cursorPositionChanged() signal
(http://code.qt.io/cgit/qt/qtbase.git/tree/src/plugins/platforms/android/qandroidinputcontext.cpp?h=5.8.0#n684).
As a result, custom widgets which properly interact with the input method via update() but do not provide cursorPositionChanged() suffer in the following way after changing the position:
- The current word does not become the current preedit string.
- The predictive text does not reflect the current context.
- The next letter entered by the user is composed with the (invisible) preedit string from the previous context and inserted as the new preedit string at the cursor position.
Attachments
Issue Links
- relates to
-
QTBUG-56042 QInputMethod visibleChanged signal fired incorrectly on Android
- Reported
-
QTBUG-95669 Clicking enter on some text fields it might freeze UI
- Closed
-
QTBUG-88701 QLineEdit::textEdited called with empty QString
- Closed
- resulted in
-
QTBUG-93414 Qt Quick application stuck in a cursor update loop
- Closed