diff options
-rw-r--r-- | src/widgets/widgets/qlineedit.cpp | 1 | ||||
-rw-r--r-- | tests/auto/widgets/widgets/qlineedit/tst_qlineedit.cpp | 5 |
2 files changed, 6 insertions, 0 deletions
diff --git a/src/widgets/widgets/qlineedit.cpp b/src/widgets/widgets/qlineedit.cpp index c45df84dcf..9422736666 100644 --- a/src/widgets/widgets/qlineedit.cpp +++ b/src/widgets/widgets/qlineedit.cpp @@ -1855,6 +1855,7 @@ QVariant QLineEdit::inputMethodQuery(Qt::InputMethodQuery property, QVariant arg return d->adjustedControlRect(d->control->anchorRect()); case Qt::ImFont: return font(); + case Qt::ImAbsolutePosition: case Qt::ImCursorPosition: { const QPointF pt = argument.toPointF(); if (!pt.isNull()) diff --git a/tests/auto/widgets/widgets/qlineedit/tst_qlineedit.cpp b/tests/auto/widgets/widgets/qlineedit/tst_qlineedit.cpp index b3116491e3..d6c6211e01 100644 --- a/tests/auto/widgets/widgets/qlineedit/tst_qlineedit.cpp +++ b/tests/auto/widgets/widgets/qlineedit/tst_qlineedit.cpp @@ -2250,6 +2250,11 @@ void tst_QLineEdit::cursorPositionChanged() input.simulate(testWidget); QCOMPARE(lastCursorPos, lastPos); QCOMPARE(newCursorPos, newPos); + + QInputMethodQueryEvent queryEvent(Qt::ImCursorPosition | Qt::ImAbsolutePosition); + QApplication::sendEvent(testWidget, &queryEvent); + QCOMPARE(queryEvent.value(Qt::ImCursorPosition).toInt(), newPos); + QCOMPARE(queryEvent.value(Qt::ImAbsolutePosition).toInt(), newPos); } void tst_QLineEdit::selectedText() |