winex11.drv: Call DragLeave instead of Drop if DROPEFFECT_NONE was set.

Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
Piotr Caban 2015-12-21 11:21:18 +01:00 committed by Alexandre Julliard
parent a2f3d97406
commit fd4dbf0519
1 changed files with 8 additions and 1 deletions

View File

@ -386,7 +386,7 @@ void X11DRV_XDND_DropEvent( HWND hWnd, XClientMessageEvent *event )
if (XDNDAccepted)
{
dropTarget = get_droptarget_pointer(XDNDLastDropTargetWnd);
if (dropTarget)
if (dropTarget && effect!=DROPEFFECT_NONE)
{
HRESULT hr;
POINTL pointl;
@ -415,6 +415,13 @@ void X11DRV_XDND_DropEvent( HWND hWnd, XClientMessageEvent *event )
}
IDropTarget_Release(dropTarget);
}
else if (dropTarget)
{
HRESULT hr = IDropTarget_DragLeave(dropTarget);
if (FAILED(hr))
WARN("IDropTarget_DragLeave failed, error 0x%08X\n", hr);
IDropTarget_Release(dropTarget);
}
}
if (drop_file)