graesslin created this revision. graesslin added reviewers: Frameworks, KWin, Plasma. Restricted Application added projects: Plasma on Wayland, Frameworks. Restricted Application added a subscriber: plasma-devel. graesslin requested review of this revision. Restricted Application edited projects, added Plasma; removed Plasma on Wayland.
REVISION SUMMARY This addresses the following situation: 1. Start drag on a QtWayland based window 2. Press escape 3. Release mouse -> this results in a crash. The main reason for this is that QtWayland destroys the DataSource in step 2 and KWayland did not expect this at all. The drag and drop operation continued and results in step 3 in the drag target to request data from the no longer existing DataSource. This change addresses the root of the problem by cancelling the drag operation when the DataSource gets destroyed. BUG: 389221 FIXED-IN: 5.43 TEST PLAN New test case exposing the problem and manual testing with kwin_wayland and dolphin (based on bug report) REPOSITORY R127 KWayland BRANCH cancel-drag-on-datasource-destroy REVISION DETAIL https://phabricator.kde.org/D10142 AFFECTED FILES autotests/client/test_drag_drop.cpp src/server/datadevice_interface.cpp src/server/seat_interface.cpp src/server/seat_interface_p.h To: graesslin, #frameworks, #kwin, #plasma Cc: plasma-devel, michaelh, ZrenBot, progwolff, lesliezhai, ali-mohamed, jensreuterberg, abetts, sebas, apol, mart