winex11.drv: Don't free cached DnD data after informing an application about the drop event.

If an application in its IDropTarget::Drop() implementation saves the passed in
IDataObject and later calls IDataObject::GetData() it fails because global cached
data is no longer available. Another solution is to create a copy of global data
and save it inside of IDataObject, but since all data including item contents is
global anyway this doesn't seem worth the trouble. Global cahed data will be freed
in next X11DRV_XDND_EnterEvent().

Signed-off-by: Dmitry Timoshkov <dmitry@baikal.ru>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
Dmitry Timoshkov 2021-07-09 16:56:40 +03:00 committed by Alexandre Julliard
parent 49cde09958
commit 230e2d5f79
1 changed files with 0 additions and 2 deletions

View File

@ -476,8 +476,6 @@ void X11DRV_XDND_DropEvent( HWND hWnd, XClientMessageEvent *event )
TRACE("effectRequested(0x%x) accept(%d) performed(0x%x) at x(%d),y(%d)\n",
XDNDDropEffect, accept, effect, XDNDxy.x, XDNDxy.y);
X11DRV_XDND_FreeDragDropOp();
/* Tell the target we are finished. */
memset(&e, 0, sizeof(e));
e.type = ClientMessage;