ozone/wayland: Destroy offer if its target surface gets destroyed before enter event
During Chrome's tab dragging, when a browser window is quickly snapped in and out, its surface and xdg surface might get destroyed before the wl_data_device::enter event is processed for the drag offer for that give surface. If that happens, the offer object must be destroyed right away, as there will be no wl_data_device::leave event for that surface (where it would destroyed otherwise) and some compositors usually assume there is no active data offer when a new surface is entered. Such behavior has been observed in Exosphere compositor, for example [1]. [1] https://source.chromium.org/chromium/chromium/src/+/master:components/exo/data_device.cc;l=77;drc=abf7a4e9b3d2151e0c5c05cf8603e9029f4e006d R=msisov@igalia.com Bug: 896640 Change-Id: I88668d44ccdc1507fdebc4fdbe2b676d8848c978 Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2378620 Commit-Queue: Maksim Sisov (GMT+3) <msisov@igalia.com> Reviewed-by:Maksim Sisov (GMT+3) <msisov@igalia.com> Cr-Commit-Position: refs/heads/master@{#802139}
Showing
Please register or sign in to comment