From: Nikolay Sivov nsivov@codeweavers.com
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=53768 Signed-off-by: Nikolay Sivov nsivov@codeweavers.com --- dlls/user32/user32.spec | 2 +- dlls/win32u/syscall.c | 1 + dlls/win32u/win32u.spec | 2 +- dlls/win32u/window.c | 10 ++++++++++ dlls/wow64win/syscall.h | 1 + dlls/wow64win/user.c | 11 +++++++++++ include/ntuser.h | 1 + 7 files changed, 26 insertions(+), 2 deletions(-)
diff --git a/dlls/user32/user32.spec b/dlls/user32/user32.spec index 1bf3ebdc90d..4f15b4c06e5 100644 --- a/dlls/user32/user32.spec +++ b/dlls/user32/user32.spec @@ -182,7 +182,7 @@ @ stdcall DlgDirSelectExA(long ptr long long) @ stdcall DlgDirSelectExW(long ptr long long) @ stdcall DragDetect(long int64) -@ stub DragObject +@ stdcall DragObject(long long long long long) NtUserDragObject @ stdcall DrawAnimatedRects(long long ptr ptr) @ stdcall DrawCaption(long long ptr long) @ stdcall DrawCaptionTempA(long long ptr long long str long) diff --git a/dlls/win32u/syscall.c b/dlls/win32u/syscall.c index f9e608ed0b7..73e5dc3e15d 100644 --- a/dlls/win32u/syscall.c +++ b/dlls/win32u/syscall.c @@ -140,6 +140,7 @@ static void * const syscalls[] = NtUserDisableThreadIme, NtUserDispatchMessage, NtUserDragDetect, + NtUserDragObject, NtUserDrawIconEx, NtUserEmptyClipboard, NtUserEnableMenuItem, diff --git a/dlls/win32u/win32u.spec b/dlls/win32u/win32u.spec index df722586ded..cc3431e195a 100644 --- a/dlls/win32u/win32u.spec +++ b/dlls/win32u/win32u.spec @@ -846,7 +846,7 @@ @ stub NtUserDoSoundDisconnect @ stub NtUserDownlevelTouchpad @ stdcall -syscall NtUserDragDetect(long long long) -@ stub NtUserDragObject +@ stdcall -syscall NtUserDragObject(long long long long long) @ stub NtUserDrawAnimatedRects @ stub NtUserDrawCaption @ stdcall NtUserDrawCaptionTemp(long long ptr long long wstr long) diff --git a/dlls/win32u/window.c b/dlls/win32u/window.c index 5b87dcdf465..1672c4b02a0 100644 --- a/dlls/win32u/window.c +++ b/dlls/win32u/window.c @@ -5539,3 +5539,13 @@ ULONG_PTR WINAPI NtUserCallHwndParam( HWND hwnd, DWORD_PTR param, DWORD code ) return 0; } } + +/******************************************************************* + * NtUserDragObject (win32u.@) + */ +DWORD WINAPI NtUserDragObject( HWND parent, HWND hwnd, UINT fmt, ULONG_PTR data, HCURSOR cursor ) +{ + FIXME( "%p, %p, %u, %#lx, %p stub!\n", parent, hwnd, fmt, data, cursor ); + + return 0; +} diff --git a/dlls/wow64win/syscall.h b/dlls/wow64win/syscall.h index 009a457fe6e..7017b344233 100644 --- a/dlls/wow64win/syscall.h +++ b/dlls/wow64win/syscall.h @@ -126,6 +126,7 @@ SYSCALL_ENTRY( NtUserDisableThreadIme ) \ SYSCALL_ENTRY( NtUserDispatchMessage ) \ SYSCALL_ENTRY( NtUserDragDetect ) \ + SYSCALL_ENTRY( NtUserDragObject ) \ SYSCALL_ENTRY( NtUserDrawIconEx ) \ SYSCALL_ENTRY( NtUserEmptyClipboard ) \ SYSCALL_ENTRY( NtUserEnableMenuItem ) \ diff --git a/dlls/wow64win/user.c b/dlls/wow64win/user.c index 041285fa37f..761754bd7f9 100644 --- a/dlls/wow64win/user.c +++ b/dlls/wow64win/user.c @@ -1558,6 +1558,17 @@ NTSTATUS WINAPI wow64_NtUserDragDetect( UINT *args ) return NtUserDragDetect( hwnd, x, y ); }
+NTSTATUS WINAPI wow64_NtUserDragObject( UINT *args ) +{ + HWND parent = get_handle( &args ); + HWND hwnd = get_handle( &args ); + UINT fmt = get_ulong( &args ); + ULONG_PTR data = get_ulong( &args ); + HCURSOR hcursor = get_handle( &args ); + + return NtUserDragObject( parent, hwnd, fmt, data, hcursor ); +} + NTSTATUS WINAPI wow64_NtUserDrawIconEx( UINT *args ) { HDC hdc = get_handle( &args ); diff --git a/include/ntuser.h b/include/ntuser.h index d724ccad103..e987526c11e 100644 --- a/include/ntuser.h +++ b/include/ntuser.h @@ -678,6 +678,7 @@ BOOL WINAPI NtUserDestroyWindow( HWND hwnd ); BOOL WINAPI NtUserDisableThreadIme( DWORD thread_id ); LRESULT WINAPI NtUserDispatchMessage( const MSG *msg ); BOOL WINAPI NtUserDragDetect( HWND hwnd, int x, int y ); +DWORD WINAPI NtUserDragObject( HWND parent, HWND hwnd, UINT fmt, ULONG_PTR data, HCURSOR cursor ); BOOL WINAPI NtUserDrawCaptionTemp( HWND hwnd, HDC hdc, const RECT *rect, HFONT font, HICON icon, const WCHAR *str, UINT flags ); BOOL WINAPI NtUserDrawIconEx( HDC hdc, INT x0, INT y0, HICON icon, INT width,