wl_data_device.leave after wl_data_device.drop
Many compositors send wl_data_device.leave
after wl_data_device.drop
, but on the other hand, wl_data_device.leave
's docs state that you should destroy the data offer if you receive that event
<event name="leave">
<description summary="end drag-and-drop session">
This event is sent when the drag-and-drop pointer leaves the
surface and the session ends. The client must destroy the
wl_data_offer introduced at enter time at this point.
</description>
</event>
This has a conflict with wl_data_offer.finish
. The client may not be able to finish drag-and-drop operation in a timely manner after receiving wl_data_device.drop
.