From 21c051f4ff230d1cf19fab4d4ba356d1cea83e63 Mon Sep 17 00:00:00 2001 From: Giannis Adamopoulos Date: Wed, 27 Jul 2016 20:51:36 +0000 Subject: [PATCH] [SHELL32] - Query the drop effect from the key state. After latest wine sync we correctly get all possible effects instead of the effect of the last DragOver event. CORE-11681 svn path=/trunk/; revision=72026 --- reactos/dll/win32/shell32/folders/CFSFolder.cpp | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/reactos/dll/win32/shell32/folders/CFSFolder.cpp b/reactos/dll/win32/shell32/folders/CFSFolder.cpp index 867f7da2bcc..c6eae614d5a 100644 --- a/reactos/dll/win32/shell32/folders/CFSFolder.cpp +++ b/reactos/dll/win32/shell32/folders/CFSFolder.cpp @@ -1177,7 +1177,7 @@ BOOL CFSFolder::QueryDrop(DWORD dwKeyState, LPDWORD pdwEffect) if (fAcceptFmt) { /* Does our interpretation of the keystate ... */ *pdwEffect = KeyStateToDropEffect (dwKeyState); - + if (*pdwEffect == DROPEFFECT_NONE) *pdwEffect = dwEffect; @@ -1236,6 +1236,11 @@ HRESULT WINAPI CFSFolder::Drop(IDataObject *pDataObject, { TRACE("(%p) object dropped, effect %u\n", this, *pdwEffect); + if (!pdwEffect) + return E_INVALIDARG; + + QueryDrop(dwKeyState, pdwEffect); + BOOL fIsOpAsync = FALSE; CComPtr pAsyncOperation; -- 2.17.1