[PATCH 3/8] winex11.drv: implement DoDragDrop on top of XDND

Damjan Jovanovic damjan.jov at gmail.com
Sat Jul 4 08:36:56 CDT 2015


Implements DoDragDrop on top of XDND. While some of DoDragDrop() and
supporting functions are copied from ole32, they were modified to be
non-blocking and event-driven.

The clipboard is patched to allow searching its clipboard formats for
X11 atoms, export data in X11 format, and forward selection requests
for the XdndSelection selection to XDND.

We support XDND version 3 to 5 (although we still need XdndProxy
support for version 4). XdndPosition messages are rate-limited to at
most 1 unreplied message and at least every 50 milliseconds apart, so
that we don't flood slow X11 clients like the spec warns.

Damjan Jovanovic
---
 dlls/winex11.drv/clipboard.c |  50 +++
 dlls/winex11.drv/event.c     |   2 +
 dlls/winex11.drv/x11drv.h    |   7 +
 dlls/winex11.drv/xdnd.c      | 829 ++++++++++++++++++++++++++++++++++++++++++-
 4 files changed, 887 insertions(+), 1 deletion(-)
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0003-winex11.drv-implement-DoDragDrop-on-top-of-XDND.txt
Type: text/x-patch
Size: 34791 bytes
Desc: not available
URL: <http://www.winehq.org/pipermail/wine-patches/attachments/20150704/ac910232/attachment-0001.bin>


More information about the wine-patches mailing list