summaryrefslogtreecommitdiffstats
path: root/src/gui/kernel/qdnd_x11.cpp
diff options
context:
space:
mode:
authorIain <qt-info@nokia.com>2009-08-21 13:23:16 (GMT)
committerIain <qt-info@nokia.com>2009-08-21 13:23:16 (GMT)
commitd2cfe342ff109e7135fe2fcb00f60d918a7bfaa5 (patch)
tree26a2edc99e561721fad57d27f84a2a6c0be73a3c /src/gui/kernel/qdnd_x11.cpp
parent6df41a9378e39f4d46cee1a085463d55fe2af5aa (diff)
parentab1df6dea670a60bfef5efd81d6687f9534cfc5d (diff)
downloadQt-d2cfe342ff109e7135fe2fcb00f60d918a7bfaa5.zip
Qt-d2cfe342ff109e7135fe2fcb00f60d918a7bfaa5.tar.gz
Qt-d2cfe342ff109e7135fe2fcb00f60d918a7bfaa5.tar.bz2
Merge commit 'origin/master' into symbolVisibility
Diffstat (limited to 'src/gui/kernel/qdnd_x11.cpp')
-rw-r--r--src/gui/kernel/qdnd_x11.cpp6
1 files changed, 4 insertions, 2 deletions
diff --git a/src/gui/kernel/qdnd_x11.cpp b/src/gui/kernel/qdnd_x11.cpp
index a4042c1..8f92fea 100644
--- a/src/gui/kernel/qdnd_x11.cpp
+++ b/src/gui/kernel/qdnd_x11.cpp
@@ -1073,12 +1073,14 @@ void qt_xdnd_send_leave()
if (!qt_xdnd_current_target)
return;
+ QDragManager *manager = QDragManager::self();
+
XClientMessageEvent leave;
leave.type = ClientMessage;
leave.window = qt_xdnd_current_target;
leave.format = 32;
leave.message_type = ATOM(XdndLeave);
- leave.data.l[0] = qt_xdnd_dragsource_xid;
+ leave.data.l[0] = manager->dragPrivate()->source->effectiveWinId();
leave.data.l[1] = 0; // flags
leave.data.l[2] = 0; // x, y
leave.data.l[3] = 0; // w, h
@@ -1094,8 +1096,8 @@ void qt_xdnd_send_leave()
else
XSendEvent(X11->display, qt_xdnd_current_proxy_target, False,
NoEventMask, (XEvent*)&leave);
+
// reset the drag manager state
- QDragManager *manager = QDragManager::self();
manager->willDrop = false;
if (global_accepted_action != Qt::IgnoreAction)
manager->emitActionChanged(Qt::IgnoreAction);