win32u: Move NtUserSetThreadDesktop implementation from user32.
Signed-off-by: Jacek Caban <jacek@codeweavers.com> Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
parent
915fb5681e
commit
ce9fc213a7
|
@ -311,7 +311,7 @@ static void winstation_init(void)
|
||||||
{
|
{
|
||||||
handle = CreateDesktopW( desktop ? desktop : get_default_desktop(),
|
handle = CreateDesktopW( desktop ? desktop : get_default_desktop(),
|
||||||
NULL, NULL, 0, DESKTOP_ALL_ACCESS, NULL );
|
NULL, NULL, 0, DESKTOP_ALL_ACCESS, NULL );
|
||||||
if (handle) SetThreadDesktop( handle );
|
if (handle) NtUserSetThreadDesktop( handle );
|
||||||
}
|
}
|
||||||
HeapFree( GetProcessHeap(), 0, buffer );
|
HeapFree( GetProcessHeap(), 0, buffer );
|
||||||
|
|
||||||
|
|
|
@ -362,14 +362,8 @@ HDESK WINAPI OpenDesktopW( LPCWSTR name, DWORD flags, BOOL inherit, ACCESS_MASK
|
||||||
*/
|
*/
|
||||||
BOOL WINAPI SetThreadDesktop( HDESK handle )
|
BOOL WINAPI SetThreadDesktop( HDESK handle )
|
||||||
{
|
{
|
||||||
BOOL ret;
|
BOOL ret = NtUserSetThreadDesktop( handle );
|
||||||
|
|
||||||
SERVER_START_REQ( set_thread_desktop )
|
|
||||||
{
|
|
||||||
req->handle = wine_server_obj_handle( handle );
|
|
||||||
ret = !wine_server_call_err( req );
|
|
||||||
}
|
|
||||||
SERVER_END_REQ;
|
|
||||||
if (ret) /* reset the desktop windows */
|
if (ret) /* reset the desktop windows */
|
||||||
{
|
{
|
||||||
struct user_thread_info *thread_info = get_user_thread_info();
|
struct user_thread_info *thread_info = get_user_thread_info();
|
||||||
|
|
|
@ -99,6 +99,7 @@ static void * const syscalls[] =
|
||||||
NtUserGetProcessWindowStation,
|
NtUserGetProcessWindowStation,
|
||||||
NtUserGetThreadDesktop,
|
NtUserGetThreadDesktop,
|
||||||
NtUserSetProcessWindowStation,
|
NtUserSetProcessWindowStation,
|
||||||
|
NtUserSetThreadDesktop,
|
||||||
};
|
};
|
||||||
|
|
||||||
static BYTE arguments[ARRAY_SIZE(syscalls)];
|
static BYTE arguments[ARRAY_SIZE(syscalls)];
|
||||||
|
|
|
@ -1232,7 +1232,7 @@
|
||||||
@ stub NtUserSetSystemMenu
|
@ stub NtUserSetSystemMenu
|
||||||
@ stub NtUserSetSystemTimer
|
@ stub NtUserSetSystemTimer
|
||||||
@ stub NtUserSetTargetForResourceBrokering
|
@ stub NtUserSetTargetForResourceBrokering
|
||||||
@ stub NtUserSetThreadDesktop
|
@ stdcall -syscall NtUserSetThreadDesktop(long)
|
||||||
@ stub NtUserSetThreadInputBlocked
|
@ stub NtUserSetThreadInputBlocked
|
||||||
@ stub NtUserSetThreadLayoutHandles
|
@ stub NtUserSetThreadLayoutHandles
|
||||||
@ stub NtUserSetThreadState
|
@ stub NtUserSetThreadState
|
||||||
|
|
|
@ -106,3 +106,21 @@ HDESK WINAPI NtUserGetThreadDesktop( DWORD thread )
|
||||||
SERVER_END_REQ;
|
SERVER_END_REQ;
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/***********************************************************************
|
||||||
|
* NtUserSetThreadDesktop (win32u.@)
|
||||||
|
*/
|
||||||
|
BOOL WINAPI NtUserSetThreadDesktop( HDESK handle )
|
||||||
|
{
|
||||||
|
BOOL ret;
|
||||||
|
|
||||||
|
SERVER_START_REQ( set_thread_desktop )
|
||||||
|
{
|
||||||
|
req->handle = wine_server_obj_handle( handle );
|
||||||
|
ret = !wine_server_call_err( req );
|
||||||
|
}
|
||||||
|
SERVER_END_REQ;
|
||||||
|
|
||||||
|
/* FIXME: reset uset thread info */
|
||||||
|
return ret;
|
||||||
|
}
|
||||||
|
|
|
@ -85,6 +85,7 @@
|
||||||
SYSCALL_ENTRY( NtUserCloseWindowStation ) \
|
SYSCALL_ENTRY( NtUserCloseWindowStation ) \
|
||||||
SYSCALL_ENTRY( NtUserGetProcessWindowStation ) \
|
SYSCALL_ENTRY( NtUserGetProcessWindowStation ) \
|
||||||
SYSCALL_ENTRY( NtUserGetThreadDesktop ) \
|
SYSCALL_ENTRY( NtUserGetThreadDesktop ) \
|
||||||
SYSCALL_ENTRY( NtUserSetProcessWindowStation )
|
SYSCALL_ENTRY( NtUserSetProcessWindowStation ) \
|
||||||
|
SYSCALL_ENTRY( NtUserSetThreadDesktop )
|
||||||
|
|
||||||
#endif /* __WOW64WIN_SYSCALL_H */
|
#endif /* __WOW64WIN_SYSCALL_H */
|
||||||
|
|
|
@ -59,3 +59,10 @@ NTSTATUS WINAPI wow64_NtUserGetThreadDesktop( UINT *args )
|
||||||
|
|
||||||
return HandleToUlong( NtUserGetThreadDesktop( thread ));
|
return HandleToUlong( NtUserGetThreadDesktop( thread ));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
NTSTATUS WINAPI wow64_NtUserSetThreadDesktop( UINT *args )
|
||||||
|
{
|
||||||
|
HDESK handle = get_handle( &args );
|
||||||
|
|
||||||
|
return NtUserSetThreadDesktop( handle );
|
||||||
|
}
|
||||||
|
|
|
@ -27,5 +27,6 @@ BOOL WINAPI NtUserCloseWindowStation( HWINSTA handle );
|
||||||
HWINSTA WINAPI NtUserGetProcessWindowStation(void);
|
HWINSTA WINAPI NtUserGetProcessWindowStation(void);
|
||||||
HDESK WINAPI NtUserGetThreadDesktop( DWORD thread );
|
HDESK WINAPI NtUserGetThreadDesktop( DWORD thread );
|
||||||
BOOL WINAPI NtUserSetProcessWindowStation( HWINSTA handle );
|
BOOL WINAPI NtUserSetProcessWindowStation( HWINSTA handle );
|
||||||
|
BOOL WINAPI NtUserSetThreadDesktop( HDESK handle );
|
||||||
|
|
||||||
#endif /* _NTUSER_ */
|
#endif /* _NTUSER_ */
|
||||||
|
|
Loading…
Reference in New Issue