Jacek Caban : winex11: Move x11drv_post_drop to xdnd.c.
Alexandre Julliard
julliard at winehq.org
Wed May 4 16:14:45 CDT 2022
Module: wine
Branch: master
Commit: fce3f9c323feaf257859d1a037f16818a11eb105
URL: https://source.winehq.org/git/wine.git/?a=commit;h=fce3f9c323feaf257859d1a037f16818a11eb105
Author: Jacek Caban <jacek at codeweavers.com>
Date: Tue May 3 14:42:24 2022 +0200
winex11: Move x11drv_post_drop to xdnd.c.
Signed-off-by: Jacek Caban <jacek at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>
---
dlls/winex11.drv/event.c | 12 ++----------
dlls/winex11.drv/x11drv.h | 2 ++
dlls/winex11.drv/xdnd.c | 18 ++++++++++++++++++
3 files changed, 22 insertions(+), 10 deletions(-)
diff --git a/dlls/winex11.drv/event.c b/dlls/winex11.drv/event.c
index a6499400283..105caab5deb 100644
--- a/dlls/winex11.drv/event.c
+++ b/dlls/winex11.drv/event.c
@@ -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 );
}
/**********************************************************************
diff --git a/dlls/winex11.drv/x11drv.h b/dlls/winex11.drv/x11drv.h
index b763a7aa345..4dc251b9ac2 100644
--- a/dlls/winex11.drv/x11drv.h
+++ b/dlls/winex11.drv/x11drv.h
@@ -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 )
diff --git a/dlls/winex11.drv/xdnd.c b/dlls/winex11.drv/xdnd.c
index d5ae510db49..45205c836be 100644
--- a/dlls/winex11.drv/xdnd.c
+++ b/dlls/winex11.drv/xdnd.c
@@ -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;
+}
More information about the wine-cvs
mailing list