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