winex11: Move x11drv_post_drop to xdnd.c.

Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
Jacek Caban 2022-05-03 14:42:24 +02:00 committed by Alexandre Julliard
parent 7cc4d83fec
commit fce3f9c323
3 changed files with 22 additions and 10 deletions

View File

@ -1478,16 +1478,8 @@ static HWND find_drop_window( HWND hQueryWnd, LPPOINT lpPt )
static void post_drop( HWND hwnd, DROPFILES *drop, ULONG size )
{
HDROP handle;
if ((handle = GlobalAlloc( GMEM_SHARE, size )))
{
DROPFILES *ptr = GlobalLock( handle );
memcpy( ptr, drop, size );
ptr->fWide = TRUE;
GlobalUnlock( handle );
PostMessageW( hwnd, WM_DROPFILES, (WPARAM)handle, 0 );
}
drop->fWide = HandleToUlong( hwnd ); /* abuse fWide to pass window handle */
x11drv_post_drop( drop, size );
}
/**********************************************************************

View File

@ -846,6 +846,8 @@ static inline BOOL is_window_rect_mapped( const RECT *rect )
extern NTSTATUS x11drv_init( void *arg ) DECLSPEC_HIDDEN;
extern NTSTATUS x11drv_clipboard_message( void *arg ) DECLSPEC_HIDDEN;
extern NTSTATUS WINAPI x11drv_post_drop( void *data, ULONG size ) DECLSPEC_HIDDEN;
/* GDI helpers */
static inline BOOL lp_to_dp( HDC hdc, POINT *points, INT count )

View File

@ -748,3 +748,21 @@ UINT handle_dnd_event( void *params )
return 0;
}
}
NTSTATUS WINAPI x11drv_post_drop( void *data, ULONG size )
{
HDROP handle;
if ((handle = GlobalAlloc( GMEM_SHARE, size )))
{
DROPFILES *ptr = GlobalLock( handle );
HWND hwnd;
memcpy( ptr, data, size );
hwnd = UlongToHandle( ptr->fWide );
ptr->fWide = TRUE;
GlobalUnlock( handle );
PostMessageW( hwnd, WM_DROPFILES, (WPARAM)handle, 0 );
}
return 0;
}