wayland: Send dnd_cancelled to source before data_device.leave to target

Otherwise it is harder for clients to detect an actual cancellation when
dragging to itself.
wilder/Plasma/6.2
David Edmundson 2 years ago
parent 856925bcc3
commit df60eef0db
  1. 8
      src/wayland/seat.cpp

@ -255,14 +255,14 @@ void SeatInterfacePrivate::registerPrimarySelectionDevice(PrimarySelectionDevice
void SeatInterfacePrivate::cancelDrag()
{
if (drag.target) {
drag.target->updateDragTarget(nullptr, 0);
drag.target = nullptr;
}
QObject::disconnect(drag.dragSourceDestroyConnection);
if (drag.source) {
drag.source->dndCancelled();
}
if (drag.target) {
drag.target->updateDragTarget(nullptr, 0);
drag.target = nullptr;
}
drag = Drag();
Q_EMIT q->dragSurfaceChanged();
Q_EMIT q->dragEnded();

Loading…
Cancel
Save