From 9d49475e91d57e9fb26172c5558f502fe838cd91 Mon Sep 17 00:00:00 2001 From: Vlad Zahorodnii Date: Thu, 30 Jan 2020 12:05:46 +0200 Subject: [PATCH] xcb: Compute correct global pointer position in startSystemMoveResize QWindow::mapToGlobal() expects pos to be in device-independent pixels, while in reality it's in device pixels. We need to use QXcbWindow::mapToGlobal(), which operates on physical pixels. Change-Id: I8dcad5cc1f5d55df7950b36d97af5ce4b983ed54 Reviewed-by: Johan Helsing --- src/plugins/platforms/xcb/qxcbwindow.cpp | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/plugins/platforms/xcb/qxcbwindow.cpp b/src/plugins/platforms/xcb/qxcbwindow.cpp index 96cd3a70ed..71ec47b053 100644 --- a/src/plugins/platforms/xcb/qxcbwindow.cpp +++ b/src/plugins/platforms/xcb/qxcbwindow.cpp @@ -2375,8 +2375,7 @@ bool QXcbWindow::startSystemMoveResize(const QPoint &pos, int edges) if (connection()->isUnity()) return false; // _NET_WM_MOVERESIZE on this WM is bouncy (WM bug?). - const QPoint globalPos = QHighDpi::toNativePixels(window()->mapToGlobal(pos), window()->screen()); - doStartSystemMoveResize(globalPos, edges); + doStartSystemMoveResize(mapToGlobal(pos), edges); } return true;