Piotr Caban : ole32: Only change DoDragDrop return value on IDropTarget:: Drop failure.
Alexandre Julliard
julliard at wine.codeweavers.com
Thu Jan 15 15:55:42 CST 2015
Module: wine
Branch: master
Commit: 95c57c618affa2ff77a7a54798c4ce6b2dd1234c
URL: http://source.winehq.org/git/wine.git/?a=commit;h=95c57c618affa2ff77a7a54798c4ce6b2dd1234c
Author: Piotr Caban <piotr at codeweavers.com>
Date: Thu Jan 15 13:39:31 2015 +0100
ole32: Only change DoDragDrop return value on IDropTarget::Drop failure.
---
dlls/ole32/ole2.c | 11 ++++++-----
1 file changed, 6 insertions(+), 5 deletions(-)
diff --git a/dlls/ole32/ole2.c b/dlls/ole32/ole2.c
index 786fdb4..f6c6c10 100644
--- a/dlls/ole32/ole2.c
+++ b/dlls/ole32/ole2.c
@@ -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;
More information about the wine-cvs
mailing list