[PATCH 5/7] winex11.drv: only fetch DND data when requested by the receiving application

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


We currently fetch all the DND data when the first XdndPosition message
arrives, and cache it for the duration of the drop. The spec does allows
this, but:
* it's not what Windows does.
* even on X11, the drag source can change the data during the drag, causing
  the drop target to receive outdated data.
* clipboard formats can have side effects (ICCCM 2.6.3): "DELETE" can cause
  data loss if requested during a move operation before the drop has
  occured. Blindly requesting every data type could be dangerous.

Signed-off-by: Damjan Jovanovic <damjan.jov at gmail.com>
---
 dlls/winex11.drv/clipboard.c |  12 ++
 dlls/winex11.drv/x11drv.h    |   1 +
 dlls/winex11.drv/xdnd.c      | 279 +++++++++++++++----------------------------
 3 files changed, 107 insertions(+), 185 deletions(-)
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0005-winex11.drv-only-fetch-DND-data-when-requested-by-the-.txt
Type: text/x-patch
Size: 17143 bytes
Desc: not available
URL: <http://www.winehq.org/pipermail/wine-patches/attachments/20160425/19a07d9f/attachment-0001.bin>


More information about the wine-patches mailing list