win32u: Move SetProgmanWindow implementation from user32.

This commit is contained in:
Jacek Caban 2022-12-09 12:48:35 +01:00 committed by Alexandre Julliard
parent c8f1d41183
commit 62852dc503
5 changed files with 24 additions and 9 deletions

View file

@ -76,16 +76,9 @@ HWND WINAPI GetShellWindow(void)
/***********************************************************************
* SetProgmanWindow (USER32.@)
*/
HWND WINAPI SetProgmanWindow ( HWND hwnd )
HWND WINAPI SetProgmanWindow( HWND hwnd )
{
SERVER_START_REQ(set_global_windows)
{
req->flags = SET_GLOBAL_PROGMAN_WINDOW;
req->progman_window = wine_server_user_handle( hwnd );
if (wine_server_call_err( req )) hwnd = 0;
}
SERVER_END_REQ;
return hwnd;
return NtUserSetProgmanWindow( hwnd );
}

View file

@ -2207,3 +2207,15 @@ BOOL WINAPI NtUserSetShellWindowEx( HWND shell, HWND list_view )
SERVER_END_REQ;
return ret;
}
HWND set_progman_window( HWND hwnd )
{
SERVER_START_REQ(set_global_windows)
{
req->flags = SET_GLOBAL_PROGMAN_WINDOW;
req->progman_window = wine_server_user_handle( hwnd );
if (wine_server_call_err( req )) hwnd = 0;
}
SERVER_END_REQ;
return hwnd;
}

View file

@ -277,6 +277,7 @@ extern BOOL set_capture_window( HWND hwnd, UINT gui_flags, HWND *prev_ret ) DECL
extern BOOL set_caret_blink_time( unsigned int time ) DECLSPEC_HIDDEN;
extern BOOL set_caret_pos( int x, int y ) DECLSPEC_HIDDEN;
extern BOOL set_foreground_window( HWND hwnd, BOOL mouse ) DECLSPEC_HIDDEN;
extern HWND set_progman_window( HWND hwnd ) DECLSPEC_HIDDEN;
extern void toggle_caret( HWND hwnd ) DECLSPEC_HIDDEN;
extern void update_mouse_tracking_info( HWND hwnd ) DECLSPEC_HIDDEN;

View file

@ -5429,6 +5429,9 @@ ULONG_PTR WINAPI NtUserCallHwnd( HWND hwnd, DWORD code )
case NtUserCallHwnd_SetForegroundWindow:
return set_foreground_window( hwnd, FALSE );
case NtUserCallHwnd_SetProgmanWindow:
return HandleToUlong( set_progman_window( hwnd ));
/* temporary exports */
case NtUserGetFullWindowHandle:
return HandleToUlong( get_full_window_handle( hwnd ));

View file

@ -1175,6 +1175,7 @@ enum
NtUserCallHwnd_IsWindowUnicode,
NtUserCallHwnd_IsWindowVisible,
NtUserCallHwnd_SetForegroundWindow,
NtUserCallHwnd_SetProgmanWindow,
/* temporary exports */
NtUserGetFullWindowHandle,
NtUserIsCurrehtProcessWindow,
@ -1272,6 +1273,11 @@ static inline BOOL NtUserSetForegroundWindow( HWND hwnd )
return NtUserCallHwnd( hwnd, NtUserCallHwnd_SetForegroundWindow );
}
static inline HWND NtUserSetProgmanWindow( HWND hwnd )
{
return UlongToHandle( NtUserCallHwnd( hwnd, NtUserCallHwnd_SetProgmanWindow ));
}
/* NtUserCallHwndParam codes, not compatible with Windows */
enum
{