Damjan Jovanovic : winex11.drv: Ignore .dwAspect in FORMATETC during XDnD.

Alexandre Julliard julliard at winehq.org
Thu Dec 26 15:44:38 CST 2019


Module: wine
Branch: master
Commit: 523fb9496c7758be9626d3d5b6a07014f867f640
URL:    https://source.winehq.org/git/wine.git/?a=commit;h=523fb9496c7758be9626d3d5b6a07014f867f640

Author: Damjan Jovanovic <damjan.jov at gmail.com>
Date:   Thu Dec 26 14:30:07 2019 +0200

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 at gmail.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>

---

 dlls/winex11.drv/xdnd.c | 8 +++-----
 1 file changed, 3 insertions(+), 5 deletions(-)

diff --git a/dlls/winex11.drv/xdnd.c b/dlls/winex11.drv/xdnd.c
index 8dc4a5bce2..0cd2ad8892 100644
--- a/dlls/winex11.drv/xdnd.c
+++ b/dlls/winex11.drv/xdnd.c
@@ -827,11 +827,9 @@ static HRESULT WINAPI XDNDDATAOBJECT_QueryGetData(IDataObject *dataObject,
         FIXME("only HGLOBAL medium types supported right now\n");
         return DV_E_TYMED;
     }
-    if (formatEtc->dwAspect != DVASPECT_CONTENT)
-    {
-        FIXME("only the content aspect is supported right now\n");
-        return E_NOTIMPL;
-    }
+    /* Windows Explorer ignores .dwAspect and .lindex for CF_HDROP,
+     * and we have no way to implement them on XDnD anyway, so ignore them too.
+     */
 
     LIST_FOR_EACH_ENTRY(current, &xdndData, XDNDDATA, entry)
     {




More information about the wine-cvs mailing list