summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLiang Qi <liang.qi@qt.io>2022-08-09 11:25:38 +0200
committerQt Cherry-pick Bot <cherrypick_bot@qt-project.org>2022-09-01 22:42:37 +0000
commit8ba68e36b846cabc0b9379f2a0719fb82f7f07a0 (patch)
tree5b4e026e3788debca0aa758f0b73130cdd353d23
parent2932130a8ee0157d3158a380924b7e9df8b52a2d (diff)
xcb: use global coordinates for position of D&D for xembed client
Change-Id: I4805b764b11b86e2b0975ca45f7182f2719fda74 Reviewed-by: Liang Qi <liang.qi@qt.io> (cherry picked from commit 64cd43d394aa389ee28db5abad6a394d3ad44aea) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
-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;