diff options
author | Alexander Volkov <a.volkov@rusbitech.ru> | 2015-10-07 16:58:09 +0300 |
---|---|---|
committer | Alexander Volkov <a.volkov@rusbitech.ru> | 2015-10-09 15:45:35 +0000 |
commit | c55a36cb9015cf1eebd49eaa5b1b4f4ec9b28451 (patch) | |
tree | f24f0fee52d115a44aad001b17b428b0b85de901 /src/plugins/platforms/xcb/qxcbscreen.cpp | |
parent | de70798859e0363c8ca3133a4ed1a1092cfe47f5 (diff) |
xcb: Fix DnD for separate X screens
Recreate QShapedPixmapWindow when the cursor goes to
another X screen.
Change-Id: Ifd4c4281971b23abc45a9f6c0509832a45c31521
Reviewed-by: Lars Knoll <lars.knoll@theqtcompany.com>
Diffstat (limited to 'src/plugins/platforms/xcb/qxcbscreen.cpp')
-rw-r--r-- | src/plugins/platforms/xcb/qxcbscreen.cpp | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/src/plugins/platforms/xcb/qxcbscreen.cpp b/src/plugins/platforms/xcb/qxcbscreen.cpp index c6e48dc8c4..2e0c55eea8 100644 --- a/src/plugins/platforms/xcb/qxcbscreen.cpp +++ b/src/plugins/platforms/xcb/qxcbscreen.cpp @@ -61,6 +61,15 @@ QXcbVirtualDesktop::~QXcbVirtualDesktop() delete m_xSettings; } +QXcbScreen *QXcbVirtualDesktop::screenAt(const QPoint &pos) const +{ + foreach (QXcbScreen *screen, connection()->screens()) { + if (screen->virtualDesktop() == this && screen->nativeGeometry().contains(pos)) + return screen; + } + return Q_NULLPTR; +} + QXcbXSettings *QXcbVirtualDesktop::xSettings() const { if (!m_xSettings) { |