summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/platformsupport/dnd/qshapedpixmapdndwindow.cpp4
-rw-r--r--src/plugins/platforms/xcb/qxcbdrag.cpp1
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();