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