Skip to content

Commit

Permalink
Fix drag and drop
Browse files Browse the repository at this point in the history
Fixes dotnet#7518

Eventually I should improve dotnet#7519 but until then, this is safer approach IMO.

cc @Olina-Zhang  @dreddy-work @RussKie
  • Loading branch information
kant2002 committed Aug 13, 2022
1 parent 01abac5 commit 9ded6fb
Showing 1 changed file with 2 additions and 4 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -33,8 +33,7 @@ private static int DragEnter(IntPtr thisPtr, IntPtr pDataObj, uint grfKeyState,
try
{
Ole32.IDropTarget instance = ComInterfaceDispatch.GetInstance<Ole32.IDropTarget>((ComInterfaceDispatch*)thisPtr);
var dataObject = WinFormsComWrappers.Instance.GetOrCreateObjectForComInstance(pDataObj, CreateObjectFlags.Unwrap);
return (int)instance.DragEnter(dataObject, grfKeyState, pt, ref *pdwEffect);
return (int)instance.DragEnter(Marshal.GetObjectForIUnknown(pDataObj), grfKeyState, pt, ref *pdwEffect);
}
catch (Exception ex)
{
Expand Down Expand Up @@ -79,8 +78,7 @@ private static int Drop(IntPtr thisPtr, IntPtr pDataObj, uint grfKeyState, Point
try
{
Ole32.IDropTarget instance = ComInterfaceDispatch.GetInstance<Ole32.IDropTarget>((ComInterfaceDispatch*)thisPtr);
var dataObject = WinFormsComWrappers.Instance.GetOrCreateObjectForComInstance(pDataObj, CreateObjectFlags.Unwrap);
return (int)instance.Drop(dataObject, grfKeyState, pt, ref *pdwEffect);
return (int)instance.Drop(Marshal.GetObjectForIUnknown(pDataObj), grfKeyState, pt, ref *pdwEffect);
}
catch (Exception ex)
{
Expand Down

0 comments on commit 9ded6fb

Please sign in to comment.