ole32: Only change DoDragDrop return value on IDropTarget::Drop failure.
This commit is contained in:
parent
bb33dbab1d
commit
95c57c618a
|
@ -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;
|
||||
|
|
Loading…
Reference in New Issue