summaryrefslogtreecommitdiffstats
path: root/src/plugins/platforms/xcb
diff options
context:
space:
mode:
authorLiang Qi <liang.qi@qt.io>2022-08-09 11:25:38 +0200
committerLiang Qi <liang.qi@qt.io>2022-09-01 22:56:54 +0200
commit64cd43d394aa389ee28db5abad6a394d3ad44aea (patch)
tree5ae886c6b16ed060a316fa39fe6f1b0fd96f96ad /src/plugins/platforms/xcb
parent0255cce4deeb30dffacc49a5a19b92cf61233c5a (diff)
xcb: use global coordinates for position of D&D for xembed client
Pick-to: 6.4 6.3 6.2 5.15 Change-Id: I4805b764b11b86e2b0975ca45f7182f2719fda74 Reviewed-by: Liang Qi <liang.qi@qt.io>
Diffstat (limited to 'src/plugins/platforms/xcb')
-rw-r--r--src/plugins/platforms/xcb/qxcbdrag.cpp2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/plugins/platforms/xcb/qxcbdrag.cpp b/src/plugins/platforms/xcb/qxcbdrag.cpp
index f5cb50d9c6..b14839c1f4 100644
--- a/src/plugins/platforms/xcb/qxcbdrag.cpp
+++ b/src/plugins/platforms/xcb/qxcbdrag.cpp
@@ -734,7 +734,7 @@ void QXcbDrag::handle_xdnd_position(QPlatformWindow *w, const xcb_client_message
QPoint p((e->data.data32[2] & 0xffff0000) >> 16, e->data.data32[2] & 0x0000ffff);
Q_ASSERT(w);
QRect geometry = w->geometry();
- p -= geometry.topLeft();
+ p -= w->isEmbedded() ? w->mapToGlobal(geometry.topLeft()) : geometry.topLeft();
if (!w || !w->window() || (w->window()->type() == Qt::Desktop))
return;