D10142: [server] Properly handle the situation when the DataSource for a drag gets destroyed
Martin Flöser
noreply at phabricator.kde.org
Sat Jan 27 13:17:02 UTC 2018
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
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/plasma-devel/attachments/20180127/30b95462/attachment.html>
More information about the Plasma-devel
mailing list