Commit Graph

53 Commits

Author SHA1 Message Date
Damjan Jovanovic 523fb9496c winex11.drv: Ignore .dwAspect in FORMATETC during XDnD.
Some applications pass FORMATETC.dwAspect=0 to
IDataObject_[Query]GetData() during drag and drop, which
is not a valid DVASPECT_* value. Tests show that Windows
Explorer completely ignores .dwAspect for CF_HDROP when
it is the drag source, treating all values as
DVASPECT_CONTENT instead. Do the same.

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=43368
Signed-off-by: Damjan Jovanovic <damjan.jov@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-12-26 21:11:59 +01:00
Akihiro Sagawa aaac4e25ab winex11.drv: Indicate whether the drop point is non-client area.
Signed-off-by: Akihiro Sagawa <sagawa.aki@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-08-19 20:27:03 +02:00
John Found 05d76e7cfe winex11.drv: Allow the drop target to be a transparent window.
Signed-off-by: John Found <johnfound@asm32.info>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-05-31 12:44:10 +02:00
Alexandre Julliard 80d02bc849 winex11: Support import multiple drag&drop properties in a single call.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-09-22 22:15:10 +09:00
Alexandre Julliard 2215d770c5 winex11: Merge converting the selection and importing it.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-09-21 21:17:19 +09:00
Damjan Jovanovic cd5b868fa0 winex11.drv: Really ignore the drop effect returned from IDropTarget::DragEnter.
Commit a2f3d97406 wanted to ignore the
drop effect returned in IDropTarget::DragEnter, but never did so,
instead it just copied effect to effect_ignore so it can later be
logged.

Signed-off-by: Damjan Jovanovic <damjan.jov@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-04-26 23:29:15 +09:00
Damjan Jovanovic d2314223ae winex11.drv: Improve some XDND log messages.
Signed-off-by: Damjan Jovanovic <damjan.jov@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-04-26 23:29:09 +09:00
Shu Yokoyama 5ccf039fc7 winex11: Fix HRESULT handling in XdndPosition.
Signed-off-by: Shu Yokoyama <yokoyama@graco.c.u-tokyo.ac.jp>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-02-23 20:22:22 +09:00
Piotr Caban ba21de83a6 winex11.drv: XDNDDropEffect stores OLE Drag&Drop effect so don't use it WS_EX_ACCEPTFILES related drops.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-12-21 18:19:37 +01:00
Piotr Caban 76f7d8c7ab winex11.drv: Reset XDNDAccepted flag if IDropTarget::DragEnter fails.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-12-21 18:19:31 +01:00
Piotr Caban c96589421a winex11.drv: Only update drop effect if IDropTarget::DragOver returned S_OK.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-12-21 18:19:26 +01:00
Piotr Caban fd4dbf0519 winex11.drv: Call DragLeave instead of Drop if DROPEFFECT_NONE was set.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-12-21 18:19:20 +01:00
Piotr Caban a2f3d97406 winex11.drv: Ignore effect returned in IDropTarget::DragEnter.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-12-21 18:19:14 +01:00
Piotr Caban a19fe8d9c8 winex11.drv: Don't call IDropTarget::{DragOver,DragLeave,Drop} functions if DragEnter fails.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-11-20 20:28:54 +09:00
Piotr Caban 701bb45203 winex11.drv: Inform x11 that we're interested in drop if windows expects WM_DROPFILES message.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-11-20 20:28:54 +09:00
Piotr Caban 5dad16510d winex11.drv: Send WM_DROPFILES if IDropTarget_Drop failed or DROPEFFECT_NONE was set.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-11-20 20:28:54 +09:00
Damjan Jovanovic 3f99e71fde winex11: Use the correct drop effect for WM_DROPFILES.
Tests show that on Windows, for a window to indicate it will accept a
file drop or to actually accept it, it must have WS_EX_ACCEPTFILES in
its style, contain DROPEFFECT_COPY (which will be chosen if offered
among several drop effects), and be offered the HDROP format.
2015-08-07 14:25:24 +09:00
Damjan Jovanovic b78a9f1aa1 winex11: Only send WM_DROPFILES if there is no drop target.
Windows doesn't send WM_DROPFILES to a window if a drop target is
registered on that window. Some apps that support both even duplicate
dropped files if we send it and a drop target is registered.
2015-08-07 14:25:01 +09:00
Damjan Jovanovic 1a20050826 winex11.drv: Support XDnD version 5. 2015-03-03 18:12:46 +09:00
Damjan Jovanovic 846a8f6c8d winex11.drv: Translate the WM_DROPFILES point into client coordinates whenever possible. 2014-07-18 19:06:43 +02:00
Damjan Jovanovic f2f8d187e4 winex11.drv: Don't memcpy() over the DROPFILES point just after setting it. 2014-07-18 19:05:30 +02:00
Damjan Jovanovic 04d8b325bf winex11.drv: Fix a GlobalLock() reference leak. 2014-07-18 19:05:13 +02:00
Damjan Jovanovic 026fe4d08e winex11.drv: Migrate importing text/uri-list XDND selections to the clipboard. 2014-06-13 16:02:47 +02:00
Damjan Jovanovic a58c220d9b winex11.drv: Store XDND cached data in global memory objects. 2014-06-13 16:02:43 +02:00
Damjan Jovanovic c2f73b9780 winex11.drv: Import text/plain XDND selections through the clipboard. 2014-06-13 16:02:38 +02:00
Damjan Jovanovic b6d0df6a31 winex11.drv: Use the clipboard to import text/html XDND selections. 2014-06-12 18:09:41 +02:00
Damjan Jovanovic e339e0d476 winex11.drv: Use the clipboard functions and formats to import selections that XDND doesn't support. 2014-06-12 18:09:34 +02:00
Damjan Jovanovic 8e32b5f887 winex11.drv: Use the global memory functions to allocate the memory for STGMEDIUM's hGlobal. 2014-06-12 18:09:30 +02:00
Damjan Jovanovic a8499c0803 winex11.drv: Don't bother counting how many XDND selections are converted. 2014-06-12 18:09:26 +02:00
Damjan Jovanovic d0360402f0 winex11.drv: text/html should be imported as CF_HTML ("HTML Format"), not CFSTR_INETURL ("UniformResourceLocator"). 2014-06-12 18:09:23 +02:00
Damjan Jovanovic f0a91c0248 winex11: Fix a WM_DROPFILES memory ownership ambiguity. 2014-05-06 15:45:11 +02:00
Frédéric Delanoy 5ba7f79bad Assorted spelling fixes. 2013-12-03 19:41:53 +01:00
Alexandre Julliard 0b71e0bf12 winex11: Add helper functions for converting between root and virtual screen coords. 2013-10-14 17:26:13 +02:00
Alexandre Julliard cf1be58706 winex11: Remove the remaining X11 locking calls. 2012-08-16 16:48:00 +02:00
Alexandre Julliard 6bfcb347bf winex11: Remove X11 locking around simple X calls. 2012-08-14 15:13:08 +02:00
Damjan Jovanovic a4f3cabb5f winex11.drv: Translate the drop point to the virtual screen. 2010-09-22 19:56:10 +02:00
Francois Gouget e7fbc9dece winex11.drv: Fix compilation on systems that don't support nameless unions. 2010-08-30 11:26:46 +02:00
Damjan Jovanovic 1afc16e962 winex11.drv: Implement the DataObject for dragging from X and dropping to OLE. 2010-08-17 14:48:36 +02:00
Damjan Jovanovic 685e66e51d winex11.drv: Implement a framework for dragging from X and dropping to OLE. 2010-08-17 14:48:02 +02:00
Damjan Jovanovic 6871341c3c winex11.drv: Filter out all CF_* formats when CF_HDROP is present. 2010-08-17 14:44:36 +02:00
Damjan Jovanovic ac8c6f2944 winex11.drv: Use a Wine list to store XDnD data. 2010-08-17 14:44:12 +02:00
Damjan Jovanovic 538b39c4cf winex11.drv: Use unicode filenames for WM_DROPFILES. 2010-05-06 14:19:57 +02:00
Kusanagi Kouichi 10789142fc winex11.drv: Check XDND version. 2010-02-22 11:55:42 +01:00
Damjan Jovanovic 36685b0761 winex11.drv: Fix file drops on KDE4 and XFCE. 2009-06-15 13:42:28 +02:00
Michael Stefaniuc a2187cad1f winex11.drv: Remove superfluous pointer casts. 2009-01-19 13:36:25 +01:00
Alexandre Julliard 3bfa90eeda winex11: Fix handling of property sizes for 64-bit platforms. 2008-04-07 11:41:54 +02:00
Austin English 0e4adae973 Spelling fixes. 2008-01-07 13:41:01 +01:00
Lei Zhang d0e068744a winex11.drv: Remove old dnd code. 2007-07-12 12:57:23 +02:00
Damjan Jovanovic b6030cb26d winex11.drv: Added better support for the X file drag protocol. 2007-06-27 14:32:27 +02:00
Andrew Talbot 080635bdeb winex11.drv: Exclude unused headers. 2007-05-29 12:10:21 +02:00