aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorSebastian Sauer <sebastian.sauer@kdab.com>2014-06-28 02:09:19 +0700
committerNiels Weber <niels.weber@theqtcompany.com>2016-01-28 14:38:08 +0000
commit570c848e6d546d35b408770e1b1d1d954268d519 (patch)
tree8a8dc32060e76155bca383545e0cc2ca3fc2009b /src
parentc2ef3674a334c4c7283f3dfb413cba496fa292de (diff)
Fix rejecting drag enter events in QML DropArea
Don't initiate a drag and drop if the event was rejected. What happens is: QQuickDropArea::dragEnterEvent() sets d->containsDrag = true QQuickDropArea::dragLeaveEvent() sets d->containsDrag = false HOWEVER, when the enter event is rejected, the leave event is never delivered, and the drop area remains blocked because it thinks the first drag action is not done yet. Change-Id: I74c53fbe778c954e4aa2f22f393318c4938a5afe Task-number: QTBUG-39453 Reviewed-by: J-P Nurmi <jpnurmi@theqtcompany.com> Reviewed-by: Gunnar Sletta <gunnar@sletta.org>
Diffstat (limited to 'src')
-rw-r--r--src/quick/items/qquickdroparea.cpp2
1 files changed, 2 insertions, 0 deletions
diff --git a/src/quick/items/qquickdroparea.cpp b/src/quick/items/qquickdroparea.cpp
index e1b33b4660..b8006eedaf 100644
--- a/src/quick/items/qquickdroparea.cpp
+++ b/src/quick/items/qquickdroparea.cpp
@@ -264,6 +264,8 @@ void QQuickDropArea::dragEnterEvent(QDragEnterEvent *event)
QQuickDropEvent dragTargetEvent(d, event);
emit entered(&dragTargetEvent);
+ if (!event->isAccepted())
+ return;
d->containsDrag = true;
if (QQuickDragMimeData *dragMime = qobject_cast<QQuickDragMimeData *>(const_cast<QMimeData *>(mimeData)))