diff options
author | Alexander Volkov <a.volkov@rusbitech.ru> | 2015-04-13 14:13:34 +0300 |
---|---|---|
committer | Alexander Volkov <a.volkov@rusbitech.ru> | 2015-10-14 18:41:19 +0000 |
commit | e9121328866efa6ba3eb78a991fef785338fd55e (patch) | |
tree | a02ee5eba3d263dccc2d81ad2f6343b302070d1d /src/plugins/platforms/xcb/qxcbscreen.h | |
parent | 4b9cdf90ca4299ffd4ec602571944ace10ef9cdc (diff) |
xcb: Use XShape for DnD when a compositing manager is not running
Otherwise transparent areas of the drag'n'drop pixmap are painted
with the black color.
Task-number: QTBUG-45193
Change-Id: I55b7c7caababe13584fa1c7a52835f112e20f920
Reviewed-by: Lars Knoll <lars.knoll@theqtcompany.com>
Diffstat (limited to 'src/plugins/platforms/xcb/qxcbscreen.h')
-rw-r--r-- | src/plugins/platforms/xcb/qxcbscreen.h | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/src/plugins/platforms/xcb/qxcbscreen.h b/src/plugins/platforms/xcb/qxcbscreen.h index d8d63608e7..51c92a40ae 100644 --- a/src/plugins/platforms/xcb/qxcbscreen.h +++ b/src/plugins/platforms/xcb/qxcbscreen.h @@ -39,6 +39,7 @@ #include <xcb/xcb.h> #include <xcb/randr.h> +#include <xcb/xfixes.h> #include "qxcbobject.h" #include "qxcbscreen.h" @@ -69,11 +70,18 @@ public: QXcbXSettings *xSettings() const; + bool compositingActive() const; + + void handleXFixesSelectionNotify(xcb_xfixes_selection_notify_event_t *notify_event); + void subscribeToXFixesSelectionNotify(); + private: xcb_screen_t *m_screen; int m_number; QXcbXSettings *m_xSettings; + xcb_atom_t m_net_wm_cm_atom; + bool m_compositingActive; }; class Q_XCB_EXPORT QXcbScreen : public QXcbObject, public QPlatformScreen |