From c7031c8aa61b304a7532489f521a62e08a37eadf Mon Sep 17 00:00:00 2001 From: Joerg Bornemann Date: Tue, 17 Jan 2017 17:28:57 +0100 Subject: Fix drag position updates for QQuickWebEngineView Like in the widgets API we must check the result of updateDragPosition and ignore or accept the QDragMoveEvent. Task-number: QTBUG-58037 Change-Id: I26b9e10460eb2840c45698d9444c15ed78c6a1b3 Reviewed-by: Allan Sandfeld Jensen --- src/webengine/api/qquickwebengineview.cpp | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/src/webengine/api/qquickwebengineview.cpp b/src/webengine/api/qquickwebengineview.cpp index f0811014b..4cef45f8c 100644 --- a/src/webengine/api/qquickwebengineview.cpp +++ b/src/webengine/api/qquickwebengineview.cpp @@ -1519,8 +1519,13 @@ void QQuickWebEngineView::dragLeaveEvent(QDragLeaveEvent *e) void QQuickWebEngineView::dragMoveEvent(QDragMoveEvent *e) { Q_D(QQuickWebEngineView); - e->accept(); - d->adapter->updateDragPosition(e, mapToScreen(this, e->pos())); + Qt::DropAction dropAction = d->adapter->updateDragPosition(e, mapToScreen(this, e->pos())); + if (Qt::IgnoreAction == dropAction) { + e->ignore(); + } else { + e->setDropAction(dropAction); + e->accept(); + } } void QQuickWebEngineView::dropEvent(QDropEvent *e) -- cgit v1.2.3