diff options
author | Liang Qi <liang.qi@qt.io> | 2022-08-09 11:25:38 +0200 |
---|---|---|
committer | Liang Qi <liang.qi@qt.io> | 2022-09-01 22:56:54 +0200 |
commit | 64cd43d394aa389ee28db5abad6a394d3ad44aea (patch) | |
tree | 5ae886c6b16ed060a316fa39fe6f1b0fd96f96ad /src/plugins/platforms/xcb | |
parent | 0255cce4deeb30dffacc49a5a19b92cf61233c5a (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.cpp | 2 |
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; |