[PATCH 2/7] winex11.drv: implement DoDragDrop on top of XDND (try 3)

Damjan Jovanovic damjan.jov at gmail.com
Sat Jul 18 03:42:45 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.

Try 2 uses a FIXME instead of TRACE for an error, and fixes various typos.

Try 3 adds the .spec file entry point for X11DRV_DoDragDrop.

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


More information about the wine-patches mailing list