From 15781de44b6f8aa22b5c7db947202586d0a2f319 Mon Sep 17 00:00:00 2001 From: Fushan Wen Date: Sun, 18 Sep 2022 18:17:18 +0800 Subject: 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 Change-Id: Ib93040648da88a433d647c87adcb7a7fabcaef6c Reviewed-by: Liang Qi (cherry picked from commit c92282b865efcf8c571bb52b5f96d8ad260a1cda) Reviewed-by: Qt Cherry-pick Bot --- src/client/qwaylanddatadevice.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/src/client/qwaylanddatadevice.cpp b/src/client/qwaylanddatadevice.cpp index 6034cd60..a7014f7a 100644 --- a/src/client/qwaylanddatadevice.cpp +++ b/src/client/qwaylanddatadevice.cpp @@ -261,6 +261,7 @@ void QWaylandDataDevice::selectionSourceCancelled() #if QT_CONFIG(draganddrop) void QWaylandDataDevice::dragSourceCancelled() { + static_cast(QGuiApplicationPrivate::platformIntegration()->drag())->finishDrag(); m_dragSource.reset(); } -- cgit v1.2.1