[SHELL32] Simply return S_OK if *pdwEffect is none (#2039)

IDropTarget::DragEnter must simply return S_OK if *pdwEffect == DROPEFFECT_NONE. CORE-11238
This commit is contained in:
Katayama Hirofumi MZ
2019-11-15 18:02:06 +09:00
committed by GitHub
parent 6b1ca2895b
commit 8f129932dd
4 changed files with 14 additions and 0 deletions

View File

@@ -3186,6 +3186,9 @@ HRESULT CDefView::drag_notify_subitem(DWORD grfKeyState, POINTL pt, DWORD *pdwEf
HRESULT WINAPI CDefView::DragEnter(IDataObject *pDataObject, DWORD grfKeyState, POINTL pt, DWORD *pdwEffect)
{
if (*pdwEffect == DROPEFFECT_NONE)
return S_OK;
/* Get a hold on the data object for later calls to DragEnter on the sub-folders */
m_pCurDataObject = pDataObject;

View File

@@ -3107,6 +3107,10 @@ HRESULT STDMETHODCALLTYPE CShellLink::DragEnter(IDataObject *pDataObject,
DWORD dwKeyState, POINTL pt, DWORD *pdwEffect)
{
TRACE("(%p)->(DataObject=%p)\n", this, pDataObject);
if (*pdwEffect == DROPEFFECT_NONE)
return S_OK;
LPCITEMIDLIST pidlLast;
CComPtr<IShellFolder> psf;

View File

@@ -283,6 +283,10 @@ HRESULT WINAPI CFSDropTarget::DragEnter(IDataObject *pDataObject,
DWORD dwKeyState, POINTL pt, DWORD *pdwEffect)
{
TRACE("(%p)->(DataObject=%p)\n", this, pDataObject);
if (*pdwEffect == DROPEFFECT_NONE)
return S_OK;
FORMATETC fmt;
FORMATETC fmt2;
m_fAcceptFmt = FALSE;

View File

@@ -36,6 +36,9 @@ CExeDropHandler::~CExeDropHandler()
HRESULT WINAPI CExeDropHandler::DragEnter(IDataObject *pDataObject, DWORD dwKeyState, POINTL pt, DWORD *pdwEffect)
{
TRACE ("(%p)\n", this);
if (*pdwEffect == DROPEFFECT_NONE)
return S_OK;
*pdwEffect = DROPEFFECT_COPY;
return S_OK;
}