[PATCH 3/7] winex11.drv: use the correct XDND timestamp when converting selections

Damjan Jovanovic damjan.jov at gmail.com
Sun Apr 24 20:00:35 CDT 2016


XDND specifies a timestamp in XdndPosition and XdndDrop messages to be
used when converting selections, which prevents race conditions over
slow X11 connections. Wine is passing the wrong field from the XdndEnter
message as the timestamp, and then using CurrentTime instead since that
usually doesn't work... Additionally drag sources might only expect
their selections to be requested later, in XdndPosition.

Rather remember the XdndTypeList atoms obtained from XdndEnter, and
then use them with the timestamp obtained from XdndPosition when
converting the selections.

Signed-off-by: Damjan Jovanovic <damjan.jov at gmail.com>
---
 dlls/winex11.drv/xdnd.c | 60 +++++++++++++++++++++++++++++++++++--------------
 1 file changed, 43 insertions(+), 17 deletions(-)
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0003-winex11.drv-use-the-correct-XDND-timestamp-when-conver.txt
Type: text/x-patch
Size: 5055 bytes
Desc: not available
URL: <http://www.winehq.org/pipermail/wine-patches/attachments/20160425/f6c66b3e/attachment.bin>


More information about the wine-patches mailing list