From b69fae78dbcf8795c66e705eefa5a64956e2d553 Mon Sep 17 00:00:00 2001 From: Rafal Harabien Date: Wed, 13 Apr 2011 08:14:37 +0000 Subject: [PATCH] [GDI32] * DPtoLP/LPtoDP functions should return TRUE even if they get 0 or less points or if pointer to points is invalid. See gdi32:DPtoLP apitest. * Fixes 24 gdi32:DPtoLP apitests. svn path=/trunk/; revision=51328 --- .../subsystems/win32/win32k/objects/coord.c | 18 ++++++------------ 1 file changed, 6 insertions(+), 12 deletions(-) diff --git a/reactos/subsystems/win32/win32k/objects/coord.c b/reactos/subsystems/win32/win32k/objects/coord.c index 634320a1600..67b57b366eb 100644 --- a/reactos/subsystems/win32/win32k/objects/coord.c +++ b/reactos/subsystems/win32/win32k/objects/coord.c @@ -256,18 +256,14 @@ NtGdiTransformPoints( PDC pdc; LPPOINT Points; ULONG Size; - BOOL ret; + BOOL ret = TRUE; + + if (Count <= 0) + return TRUE; pdc = DC_LockDc(hDC); if (!pdc) { - EngSetLastError(ERROR_INVALID_HANDLE); - return FALSE; - } - - if (!UnsafePtsIn || !UnsafePtOut || Count <= 0) - { - DC_UnlockDc(pdc); EngSetLastError(ERROR_INVALID_PARAMETER); return FALSE; } @@ -291,8 +287,7 @@ NtGdiTransformPoints( } _SEH2_EXCEPT(EXCEPTION_EXECUTE_HANDLER) { - SetLastNtError(_SEH2_GetExceptionCode()); - ret = FALSE; + /* Do not set last error */ _SEH2_YIELD(goto leave;) } _SEH2_END; @@ -323,8 +318,7 @@ NtGdiTransformPoints( } _SEH2_EXCEPT(EXCEPTION_EXECUTE_HANDLER) { - SetLastNtError(_SEH2_GetExceptionCode()); - ret = FALSE; + /* Do not set last error */ } _SEH2_END;