diff options
author | Joerg Bornemann <joerg.bornemann@qt.io> | 2017-01-17 17:28:57 +0100 |
---|---|---|
committer | Joerg Bornemann <joerg.bornemann@qt.io> | 2017-01-26 11:04:52 +0000 |
commit | c7031c8aa61b304a7532489f521a62e08a37eadf (patch) | |
tree | 84e9a0c794cdf7d31ed198fbba3809705de8f463 /src/webengine/api/qquickwebengineview.cpp | |
parent | 1c80328cd83377a771f725b80967b5b44ba19cf7 (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.cpp | 9 |
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) |