Huw Davies : ole32: Release IDropTarget when the mouse leaves.
Alexandre Julliard
julliard at wine.codeweavers.com
Tue Feb 23 11:24:21 CST 2016
Module: wine
Branch: master
Commit: 9f6fd0e484cd7502a457ded8d7946bfaadef0e65
URL: http://source.winehq.org/git/wine.git/?a=commit;h=9f6fd0e484cd7502a457ded8d7946bfaadef0e65
Author: Huw Davies <huw at codeweavers.com>
Date: Tue Feb 23 10:09:29 2016 +0000
ole32: Release IDropTarget when the mouse leaves.
Signed-off-by: Huw Davies <huw at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>
---
dlls/ole32/ole2.c | 15 +++++----------
1 file changed, 5 insertions(+), 10 deletions(-)
diff --git a/dlls/ole32/ole2.c b/dlls/ole32/ole2.c
index 315f403..39cb57b 100644
--- a/dlls/ole32/ole2.c
+++ b/dlls/ole32/ole2.c
@@ -2264,7 +2264,12 @@ static void OLEDD_TrackStateChange(TrackerWindowInfo* trackerInfo)
* the new one.
*/
if (trackerInfo->curDragTarget)
+ {
IDropTarget_DragLeave(trackerInfo->curDragTarget);
+ IDropTarget_Release(trackerInfo->curDragTarget);
+ trackerInfo->curDragTarget = NULL;
+ trackerInfo->curTargetHWND = NULL;
+ }
/*
* Make sure we're hovering over a window.
@@ -2283,7 +2288,6 @@ static void OLEDD_TrackStateChange(TrackerWindowInfo* trackerInfo)
if (next_target_wnd) hwndNewTarget = next_target_wnd;
- if(trackerInfo->curDragTarget) IDropTarget_Release(trackerInfo->curDragTarget);
trackerInfo->curDragTarget = get_droptarget_pointer(hwndNewTarget);
/*
@@ -2307,15 +2311,6 @@ static void OLEDD_TrackStateChange(TrackerWindowInfo* trackerInfo)
}
}
}
- else
- {
- /*
- * The mouse is not over a window so we don't track anything.
- */
- trackerInfo->curTargetHWND = 0;
- if(trackerInfo->curDragTarget) IDropTarget_Release(trackerInfo->curDragTarget);
- trackerInfo->curDragTarget = 0;
- }
}
give_feedback( trackerInfo );
More information about the wine-cvs
mailing list