[xwl] Notify wayland that our data offer is accepted

kwayland-server was updated to follow the result of whether the data
offer was accepted before calling drop.

Our bridge was not updated.

We don't have enough data to know which mimeType the XWayland client
actually has accepted, as that doesn't exist at an X11 level, but it
doesn't have a big actual impact. Despite which mime type gets accepted
any mimetype can be retrieved in the drop event.

Tested against "dropsite" from QtBase widget examples forced into xcb
mode using dolphin as a source.

BUG: 437406
This commit is contained in:
David Edmundson 2021-05-24 14:06:57 +00:00
parent 600c1e0a54
commit 8a699ef187

View file

@ -158,6 +158,10 @@ bool Xvisit::handleStatus(xcb_client_message_event_t *event)
m_accepts = data->data32[1] & 1;
xcb_atom_t actionAtom = data->data32[4];
auto drag = m_drag->dataSourceIface();
if (drag && !drag->mimeTypes().isEmpty()) {
drag->accept(m_accepts ? drag->mimeTypes().constFirst() : QString());
}
// TODO: we could optimize via rectangle in data32[2] and data32[3]
// position round trip finished