aboutsummaryrefslogtreecommitdiffstats
path: root/src/virtualkeyboard
diff options
context:
space:
mode:
authorJarkko Koivikko <jarkko.koivikko@code-q.fi>2023-02-06 21:36:58 +0200
committerJarkko Koivikko <jarkko.koivikko@code-q.fi>2023-02-08 16:14:53 +0200
commite3c7f5dff5a591afdf17c57912cf7e9bbf7eb3b7 (patch)
tree51e216e7020466ccdbaaae2d913dff5fed98d4eb /src/virtualkeyboard
parentfb39d842d929a6a8562113dfb4747ad0dc4ec434 (diff)
Fix selection with handles when highdpi is used
QPlatformInputContext::setSelectionOnFocusObject expects coordinates in native pixels. This was changed in qtbase in commit dc3446c1e35fb451070654709fe3c9b71eef7bb6 "Make setSelectionOnFocusObject() take native pixels" Pick-to: 6.5 6.4 Change-Id: I40c849638173df47fd6121a0a9165950df4b7e31 Reviewed-by: Inho Lee <inho.lee@qt.io>
Diffstat (limited to 'src/virtualkeyboard')
-rw-r--r--src/virtualkeyboard/qvirtualkeyboardinputcontext.cpp7
1 files changed, 6 insertions, 1 deletions
diff --git a/src/virtualkeyboard/qvirtualkeyboardinputcontext.cpp b/src/virtualkeyboard/qvirtualkeyboardinputcontext.cpp
index 5697b23b..f8f07cca 100644
--- a/src/virtualkeyboard/qvirtualkeyboardinputcontext.cpp
+++ b/src/virtualkeyboard/qvirtualkeyboardinputcontext.cpp
@@ -10,6 +10,7 @@
#include <QTextFormat>
#include <QGuiApplication>
+#include <QtGui/private/qhighdpiscaling_p.h>
QT_BEGIN_NAMESPACE
using namespace QtVirtualKeyboard;
@@ -312,7 +313,11 @@ void QVirtualKeyboardInputContext::clear()
*/
void QVirtualKeyboardInputContext::setSelectionOnFocusObject(const QPointF &anchorPos, const QPointF &cursorPos)
{
- QPlatformInputContext::setSelectionOnFocusObject(anchorPos, cursorPos);
+ QWindow *window = qApp->focusWindow();
+ const QPointF &nativeAnchorPos = QHighDpi::toNativePixels(anchorPos, window);
+ const QPointF &nativeCursorPos = QHighDpi::toNativePixels(cursorPos, window);
+
+ QPlatformInputContext::setSelectionOnFocusObject(nativeAnchorPos, nativeCursorPos);
}
/*!