Don't start a drag operation if the drag is released
Drag operations start asynchronously, both because applications may take time before requesting one, and because we wait to read the drag data before starting. It is therefore possible that the drag that triggered the request will be released by the user before the request starts. We avoid this in two ways. Firstly, the wayland layer of exo will reject start_drag requests that have a serial number corresponding to a mouse or touchscreen press that has been released. Secondly, if a release event occurs after a DragDropOperation is queued, but before it starts, the operation will be aborted. Bug: 927324 Change-Id: Ie84131df54f4b5a445c341b35b15d4afadf8fe3c Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1715889 Commit-Queue: Fergus Dall <sidereal@google.com> Reviewed-by:Mitsuru Oshima (OOO 8/5,6) <oshima@chromium.org> Cr-Commit-Position: refs/heads/master@{#683900}
Showing
Please register or sign in to comment