ole32: Only change DoDragDrop return value on IDropTarget::Drop failure.

This commit is contained in:
Piotr Caban 2015-01-15 13:39:31 +01:00 committed by Alexandre Julliard
parent bb33dbab1d
commit 95c57c618a
1 changed files with 6 additions and 5 deletions

View File

@ -2407,11 +2407,12 @@ static void OLEDD_TrackStateChange(TrackerWindowInfo* trackerInfo)
*/
case DRAGDROP_S_DROP:
if (*trackerInfo->pdwEffect != DROPEFFECT_NONE)
trackerInfo->returnValue = IDropTarget_Drop(trackerInfo->curDragTarget,
trackerInfo->dataObject,
trackerInfo->dwKeyState,
trackerInfo->curMousePos,
trackerInfo->pdwEffect);
{
hr = IDropTarget_Drop(trackerInfo->curDragTarget, trackerInfo->dataObject,
trackerInfo->dwKeyState, trackerInfo->curMousePos, trackerInfo->pdwEffect);
if (FAILED(hr))
trackerInfo->returnValue = hr;
}
else
IDropTarget_DragLeave(trackerInfo->curDragTarget);
break;