From: Jacek Caban jacek@codeweavers.com
Signed-off-by: Jacek Caban jacek@codeweavers.com --- dlls/user32/win.c | 11 +---------- dlls/win32u/window.c | 18 ++++++++++++++++++ include/ntuser.h | 6 ++++++ 3 files changed, 25 insertions(+), 10 deletions(-)
diff --git a/dlls/user32/win.c b/dlls/user32/win.c index bac75063f7d..4adffc37d6b 100644 --- a/dlls/user32/win.c +++ b/dlls/user32/win.c @@ -1475,16 +1475,7 @@ DWORD WINAPI GetWindowContextHelpId( HWND hwnd ) */ BOOL WINAPI SetWindowContextHelpId( HWND hwnd, DWORD id ) { - WND *wnd = WIN_GetPtr( hwnd ); - if (!wnd || wnd == WND_DESKTOP) return FALSE; - if (wnd == WND_OTHER_PROCESS) - { - if (IsWindow( hwnd )) FIXME( "not supported on other process window %p\n", hwnd ); - return FALSE; - } - wnd->helpContext = id; - WIN_ReleasePtr( wnd ); - return TRUE; + return NtUserSetWindowContextHelpId( hwnd, id ); }
diff --git a/dlls/win32u/window.c b/dlls/win32u/window.c index 34bf87bc9ba..d09a719185a 100644 --- a/dlls/win32u/window.c +++ b/dlls/win32u/window.c @@ -4539,6 +4539,21 @@ static DWORD get_window_context_help_id( HWND hwnd ) return retval; }
+/* see SetWindowContextHelpId */ +static BOOL set_window_context_help_id( HWND hwnd, DWORD id ) +{ + WND *win = get_win_ptr( hwnd ); + if (!win || win == WND_DESKTOP) return FALSE; + if (win == WND_OTHER_PROCESS) + { + if (is_window( hwnd )) FIXME( "not supported on other process window %p\n", hwnd ); + return FALSE; + } + win->helpContext = id; + release_win_ptr( win ); + return TRUE; +} + /*********************************************************************** * send_destroy_message */ @@ -5432,6 +5447,9 @@ ULONG_PTR WINAPI NtUserCallHwndParam( HWND hwnd, DWORD_PTR param, DWORD code ) case NtUserCallHwndParam_SetForegroundWindow: return set_foreground_window( hwnd, param );
+ case NtUserCallHwndParam_SetWindowContextHelpId: + return set_window_context_help_id( hwnd, param ); + case NtUserCallHwndParam_SetWindowPixelFormat: return set_window_pixel_format( hwnd, param );
diff --git a/include/ntuser.h b/include/ntuser.h index b6b69879dd7..482bdbcbddd 100644 --- a/include/ntuser.h +++ b/include/ntuser.h @@ -1021,6 +1021,7 @@ enum NtUserCallHwndParam_MonitorFromWindow, NtUserCallHwndParam_ScreenToClient, NtUserCallHwndParam_SetForegroundWindow, + NtUserCallHwndParam_SetWindowContextHelpId, NtUserCallHwndParam_SetWindowPixelFormat, NtUserCallHwndParam_ShowOwnedPopups, /* temporary exports */ @@ -1171,6 +1172,11 @@ static inline BOOL NtUserSetForegroundWindow( HWND hwnd, BOOL mouse ) return NtUserCallHwndParam( hwnd, mouse, NtUserCallHwndParam_SetForegroundWindow ); }
+static inline BOOL NtUserSetWindowContextHelpId( HWND hwnd, DWORD id ) +{ + return NtUserCallHwndParam( hwnd, id, NtUserCallHwndParam_SetWindowContextHelpId ); +} + static inline BOOL NtUserSetWindowPixelFormat( HWND hwnd, int format ) { return NtUserCallHwndParam( hwnd, format, NtUserCallHwndParam_SetWindowPixelFormat );