From 35c03e72007630040659188b2bc7f47b1df82577 Mon Sep 17 00:00:00 2001 From: Fushan Wen Date: Sun, 18 Sep 2022 18:17:18 +0800 Subject: [PATCH 39/55] 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 (cherry picked from commit c92282b865efcf8c571bb52b5f96d8ad260a1cda) BUG: 446111 --- src/client/qwaylanddatadevice.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/src/client/qwaylanddatadevice.cpp b/src/client/qwaylanddatadevice.cpp index fbb5aa91..e3e60ed5 100644 --- a/src/client/qwaylanddatadevice.cpp +++ b/src/client/qwaylanddatadevice.cpp @@ -296,6 +296,7 @@ void QWaylandDataDevice::selectionSourceCancelled() #if QT_CONFIG(draganddrop) void QWaylandDataDevice::dragSourceCancelled() { + static_cast(QGuiApplicationPrivate::platformIntegration()->drag())->finishDrag(); m_dragSource.reset(); } -- 2.40.0