Commit Graph

57 Commits

Author SHA1 Message Date
Alexandre Julliard 13ec7952e0 configure: Assume that unistd.h is available on Unix.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-12-09 18:43:51 +01:00
Alexandre Julliard 8d6c33c3bf include: Remove wine/port.h.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-12-01 18:13:54 +01:00
Alexandre Julliard 143bd63b27 include: Remove some no longer used Unicode functions.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-12-01 18:13:54 +01:00
Dmitry Timoshkov 230e2d5f79 winex11.drv: Don't free cached DnD data after informing an application about the drop event.
If an application in its IDropTarget::Drop() implementation saves the passed in
IDataObject and later calls IDataObject::GetData() it fails because global cached
data is no longer available. Another solution is to create a copy of global data
and save it inside of IDataObject, but since all data including item contents is
global anyway this doesn't seem worth the trouble. Global cahed data will be freed
in next X11DRV_XDND_EnterEvent().

Signed-off-by: Dmitry Timoshkov <dmitry@baikal.ru>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-07-10 15:37:55 +02:00
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