Call finishDrag() in QWaylandDataDevice::dragSourceCancelled()

Drags can either get finished or cancelled. If a drag is finished
successfully we call finish on the QBasicDrag instance, which quits
the nested event loop. This patch adds the connection for cancelled
drags.

See also: https://bugs.kde.org/show_bug.cgi?id=446111

Pick-to: 6.4 6.2 5.15
Change-Id: Ib93040648da88a433d647c87adcb7a7fabcaef6c
Reviewed-by: Liang Qi <liang.qi@qt.io>
This commit is contained in:
Fushan Wen 2022-09-18 18:17:18 +08:00 committed by Liang Qi
parent 0b0788c824
commit a0dd7d52b9

View File

@ -261,6 +261,7 @@ void QWaylandDataDevice::selectionSourceCancelled()
#if QT_CONFIG(draganddrop)
void QWaylandDataDevice::dragSourceCancelled()
{
static_cast<QWaylandDrag *>(QGuiApplicationPrivate::platformIntegration()->drag())->finishDrag();
m_dragSource.reset();
}