summaryrefslogtreecommitdiffstats
path: root/src/webengine/api/qquickwebengineview.cpp
diff options
context:
space:
mode:
authorJoerg Bornemann <joerg.bornemann@qt.io>2017-01-17 17:28:57 +0100
committerJoerg Bornemann <joerg.bornemann@qt.io>2017-01-26 11:04:52 +0000
commitc7031c8aa61b304a7532489f521a62e08a37eadf (patch)
tree84e9a0c794cdf7d31ed198fbba3809705de8f463 /src/webengine/api/qquickwebengineview.cpp
parent1c80328cd83377a771f725b80967b5b44ba19cf7 (diff)
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 <allan.jensen@qt.io>
Diffstat (limited to 'src/webengine/api/qquickwebengineview.cpp')
-rw-r--r--src/webengine/api/qquickwebengineview.cpp9
1 files 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)