diff options
-rw-r--r-- | src/compositor/wayland_wrapper/qwldatadevice.cpp | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/src/compositor/wayland_wrapper/qwldatadevice.cpp b/src/compositor/wayland_wrapper/qwldatadevice.cpp index e8e96a7d6..c7de964d7 100644 --- a/src/compositor/wayland_wrapper/qwldatadevice.cpp +++ b/src/compositor/wayland_wrapper/qwldatadevice.cpp @@ -142,12 +142,15 @@ void DataDevice::dragMove(QWaylandSurface *target, const QPointF &pos) void DataDevice::drop() { - if (m_dragFocusResource) + if (m_dragFocusResource) { send_drop(m_dragFocusResource->handle); + setDragFocus(nullptr, QPoint()); + } } void DataDevice::cancelDrag() { + setDragFocus(nullptr, QPoint()); } void DataDevice::data_device_start_drag(Resource *resource, struct ::wl_resource *source, struct ::wl_resource *origin, struct ::wl_resource *icon, uint32_t serial) |