diff --git a/reactos/dll/win32/user32/windows/dc.c b/reactos/dll/win32/user32/windows/dc.c index 7b75a27d61c..c5361ade38a 100644 --- a/reactos/dll/win32/user32/windows/dc.c +++ b/reactos/dll/win32/user32/windows/dc.c @@ -89,9 +89,8 @@ ReleaseDC( if (!hDC) return FALSE; // Null hDC return zero. GdiReleaseDC ( hDC ); // Release locals. - // Win 3.1 throw back, hWnd should be ignored and not used. - // Replace with NtUserCallOneParam ((DWORD) hDC, ONEPARAM_ROUTINE_RELEASEDC); - return NtUserReleaseDC(hWnd, hDC); + // Win 3.1 throw back, hWnd is ignored and not used. + return NtUserCallOneParam( (DWORD) hDC, ONEPARAM_ROUTINE_RELEASEDC); } diff --git a/reactos/include/reactos/win32k/ntuser.h b/reactos/include/reactos/win32k/ntuser.h index 33e100066ef..0593699f4b5 100644 --- a/reactos/include/reactos/win32k/ntuser.h +++ b/reactos/include/reactos/win32k/ntuser.h @@ -281,9 +281,6 @@ NtUserGetClassLong(HWND hWnd, INT Offset, BOOL Ansi); LONG NTAPI NtUserGetWindowLong(HWND hWnd, DWORD Index, BOOL Ansi); -INT NTAPI -NtUserReleaseDC(HWND hWnd, HDC hDc); - BOOL NTAPI NtUserGetWindowRect(HWND hWnd, LPRECT Rect); @@ -460,6 +457,7 @@ NtUserCallNoParam( #define ONEPARAM_ROUTINE_GETKEYBOARDLAYOUT 0x29 #define ONEPARAM_ROUTINE_SHOWCURSOR 0x30 #define ONEPARAM_ROUTINE_REGISTERUSERMODULE 0x31 +#define ONEPARAM_ROUTINE_RELEASEDC 0x39 DWORD NTAPI NtUserCallOneParam( diff --git a/reactos/subsystems/win32/win32k/ntuser/misc.c b/reactos/subsystems/win32/win32k/ntuser/misc.c index 61c00d26b25..268803f3a9c 100644 --- a/reactos/subsystems/win32/win32k/ntuser/misc.c +++ b/reactos/subsystems/win32/win32k/ntuser/misc.c @@ -427,6 +427,8 @@ NtUserCallOneParam( RETURN(TRUE); } } + case ONEPARAM_ROUTINE_RELEASEDC: + RETURN (UserReleaseDC(NULL, (HDC) Param, FALSE)); } DPRINT1("Calling invalid routine number 0x%x in NtUserCallOneParam(), Param=0x%x\n", Routine, Param); diff --git a/reactos/subsystems/win32/win32k/ntuser/windc.c b/reactos/subsystems/win32/win32k/ntuser/windc.c index 0d59a1cb446..004d8bf5c28 100644 --- a/reactos/subsystems/win32/win32k/ntuser/windc.c +++ b/reactos/subsystems/win32/win32k/ntuser/windc.c @@ -632,24 +632,6 @@ UserReleaseDC(PWINDOW_OBJECT Window, HDC hDc, BOOL EndPaint) } -// Win 3.1 throw back, hWnd should be ignored and not used. -// Replace with NtUserCallOneParam ((DWORD) hDC, ONEPARAM_ROUTINE_RELEASEDC); -INT STDCALL -NtUserReleaseDC(HWND hWnd, HDC hDc) -{ - DECLARE_RETURN(INT); - - DPRINT("Enter NtUserReleaseDC\n"); - UserEnterExclusive(); - - RETURN(UserReleaseDC(NULL, hDc, FALSE)); - -CLEANUP: - DPRINT("Leave NtUserReleaseDC, ret=%i\n",_ret_); - UserLeave(); - END_CLEANUP; -} - /*********************************************************************** * DceFreeDCE */ diff --git a/reactos/subsystems/win32/win32k/w32ksvc.db b/reactos/subsystems/win32/win32k/w32ksvc.db index 238aae25a4a..93844ef88c5 100644 --- a/reactos/subsystems/win32/win32k/w32ksvc.db +++ b/reactos/subsystems/win32/win32k/w32ksvc.db @@ -741,7 +741,6 @@ NtUserMenuItemInfo 5 NtUserMonitorFromPoint 3 NtUserMonitorFromRect 2 NtUserMonitorFromWindow 2 -NtUserReleaseDC 2 NtUserRegisterClassEx 6 NtUserRegisterClipboardFormat 1 NtUserSendMessage 5