diff options
author | Maximilian Goldstein <max.goldstein@qt.io> | 2021-05-03 16:55:25 +0200 |
---|---|---|
committer | Maximilian Goldstein <max.goldstein@qt.io> | 2021-12-02 23:35:23 +0100 |
commit | 4a5b0ad84fbc0f814c38b0abcccb7b5421f41a19 (patch) | |
tree | 8f9a65de1a084b6a3fb62e3786c09e23843bca8d /src/quick/util/qquickdeliveryagent_p_p.h | |
parent | a00c3cd3d14865941cb21c7a0e59994d14404494 (diff) |
qquickdeliveryagent: Fix drag events being sent in the wrong order
When a former drag event target is on a higher or the same z-level as the new target, send the QDragLeaveEvent before the QDragEnterEvent.
[ChangeLog][Quick][Fix] Now sends DragArea leave events before enter events when appropriate (QTBUG-82263)
Pick-to: 6.2
Fixes: QTBUG-82263
Change-Id: Ibe76000cbe76748ee8928e4b98a92c38eff5b59c
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
Diffstat (limited to 'src/quick/util/qquickdeliveryagent_p_p.h')
-rw-r--r-- | src/quick/util/qquickdeliveryagent_p_p.h | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/src/quick/util/qquickdeliveryagent_p_p.h b/src/quick/util/qquickdeliveryagent_p_p.h index abfe6d9a8f..2a795f3e91 100644 --- a/src/quick/util/qquickdeliveryagent_p_p.h +++ b/src/quick/util/qquickdeliveryagent_p_p.h @@ -199,7 +199,9 @@ public: #if QT_CONFIG(quick_draganddrop) void deliverDragEvent(QQuickDragGrabber *, QEvent *); - bool deliverDragEvent(QQuickDragGrabber *, QQuickItem *, QDragMoveEvent *, QVarLengthArray<QQuickItem*, 64> *currentGrabItems = nullptr); + bool deliverDragEvent(QQuickDragGrabber *, QQuickItem *, QDragMoveEvent *, + QVarLengthArray<QQuickItem *, 64> *currentGrabItems = nullptr, + QObject *formerTarget = nullptr); #endif static bool dragOverThreshold(qreal d, Qt::Axis axis, QMouseEvent *event, int startDragThreshold = -1); |