diff --git a/src/plugins/platforms/ios/qiostextinputoverlay.mm b/src/plugins/platforms/ios/qiostextinputoverlay.mm index 65a296e8973..2ab732df7a0 100644 --- a/src/plugins/platforms/ios/qiostextinputoverlay.mm +++ b/src/plugins/platforms/ios/qiostextinputoverlay.mm @@ -640,8 +640,12 @@ static void executeBlockWithoutAnimation(Block block) - (void)updateFocalPoint:(QPointF)touchPoint { - QPlatformInputContext::setSelectionOnFocusObject(touchPoint, touchPoint); self.focalPoint = touchPoint; + + const int currentCursorPos = QInputMethod::queryFocusObject(Qt::ImCursorPosition, QVariant()).toInt(); + const int newCursorPos = QPlatformInputContext::queryFocusObject(Qt::ImCursorPosition, touchPoint).toInt(); + if (newCursorPos != currentCursorPos) + QPlatformInputContext::setSelectionOnFocusObject(touchPoint, touchPoint); } @end