• Fergus Dall's avatar
    Don't start a drag operation if the drag is released · 8c755bb0
    Fergus Dall authored
    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: default avatarMitsuru Oshima (OOO 8/5,6) <oshima@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#683900}
    8c755bb0
serial_tracker.h 2.08 KB