diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/platformsupport/dnd/qshapedpixmapdndwindow.cpp | 4 | ||||
-rw-r--r-- | src/plugins/platforms/xcb/qxcbdrag.cpp | 1 |
2 files changed, 4 insertions, 1 deletions
diff --git a/src/platformsupport/dnd/qshapedpixmapdndwindow.cpp b/src/platformsupport/dnd/qshapedpixmapdndwindow.cpp index 4eed1e7d85..95ceb0dbbc 100644 --- a/src/platformsupport/dnd/qshapedpixmapdndwindow.cpp +++ b/src/platformsupport/dnd/qshapedpixmapdndwindow.cpp @@ -50,6 +50,9 @@ QShapedPixmapWindow::QShapedPixmapWindow() : QWindow(), m_backingStore(0) { + QSurfaceFormat format; + format.setAlphaBufferSize(8); + setFormat(format); setSurfaceType(RasterSurface); setWindowFlags(Qt::ToolTip | Qt::FramelessWindowHint | Qt::X11BypassWindowManagerHint | Qt::WindowTransparentForInput); @@ -67,6 +70,7 @@ void QShapedPixmapWindow::render() { QPainter p(device); + p.setCompositionMode(QPainter::CompositionMode_Source); p.drawPixmap(0, 0, m_pixmap); } diff --git a/src/plugins/platforms/xcb/qxcbdrag.cpp b/src/plugins/platforms/xcb/qxcbdrag.cpp index 3299180577..176d1bbe2e 100644 --- a/src/plugins/platforms/xcb/qxcbdrag.cpp +++ b/src/plugins/platforms/xcb/qxcbdrag.cpp @@ -465,7 +465,6 @@ void QXcbDrag::move(const QMouseEvent *me) move.window = target; move.format = 32; move.type = atom(QXcbAtom::XdndPosition); - move.window = target; move.data.data32[0] = connection()->clipboard()->owner(); move.data.data32[1] = 0; // flags move.data.data32[2] = (globalPos.x() << 16) + globalPos.y(); |