Author: tkreuzer Date: Sat Nov 22 09:07:33 2014 New Revision: 65445
URL: http://svn.reactos.org/svn/reactos?rev=65445&view=rev Log: [WIN32K] - In XFORMOBJ_bApplyXform do not overwrite the data in the input buffer - Make XFORMOBJ_bXformFixPoints return VOID instead of BOOL
Modified: trunk/reactos/subsystems/win32/csrsrv/thredsup.c trunk/reactos/win32ss/gdi/ntgdi/xformobj.c
Modified: trunk/reactos/subsystems/win32/csrsrv/thredsup.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/subsystems/win32/csrsrv/thr... ============================================================================== --- trunk/reactos/subsystems/win32/csrsrv/thredsup.c [iso-8859-1] (original) +++ trunk/reactos/subsystems/win32/csrsrv/thredsup.c [iso-8859-1] Sat Nov 22 09:07:33 2014 @@ -309,7 +309,7 @@ sizeof(ThreadInfo), NULL); if (!NT_SUCCESS(Status)) return Status; - if (ThreadInfo == TRUE) return STATUS_THREAD_IS_TERMINATING; + if (ThreadInfo) return STATUS_THREAD_IS_TERMINATING;
/* Insert it into the Regular List */ InsertTailList(&Process->ThreadList, &Thread->Link);
Modified: trunk/reactos/win32ss/gdi/ntgdi/xformobj.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/win32ss/gdi/ntgdi/xformobj.... ============================================================================== --- trunk/reactos/win32ss/gdi/ntgdi/xformobj.c [iso-8859-1] (original) +++ trunk/reactos/win32ss/gdi/ntgdi/xformobj.c [iso-8859-1] Sat Nov 22 09:07:33 2014 @@ -297,10 +297,10 @@ return XFORMOBJ_UpdateAccel(pxoDst); }
- -BOOL +static +VOID NTAPI -XFORMOBJ_bXformFixPoints( +XFORMOBJ_vXformFixPoints( IN XFORMOBJ *pxo, IN ULONG cPoints, IN PPOINTL pptIn, @@ -426,8 +426,6 @@ } while (--i >= 0); } - - return TRUE; }
/** Public functions **********************************************************/ @@ -500,7 +498,7 @@ { MATRIX mx; XFORMOBJ xoInv; - POINTL *pptl; + PPOINTL pptlIn, pptlOut; INT i;
/* Check parameters */ @@ -523,28 +521,29 @@ /* Convert POINTL to POINTFIX? */ if (iMode == XF_LTOFX || iMode == XF_LTOL || iMode == XF_INV_LTOL) { - pptl = pvIn; + pptlIn = pvIn; + pptlOut = pvOut; for (i = cPoints - 1; i >= 0; i--) { - pptl[i].x = LONG2FIX(pptl[i].x); - pptl[i].y = LONG2FIX(pptl[i].y); - } + pptlOut[i].x = LONG2FIX(pptlIn[i].x); + pptlOut[i].y = LONG2FIX(pptlIn[i].y); + } + + /* The input is in the out buffer now! */ + pvIn = pvOut; }
/* Do the actual fixpoint transformation */ - if (!XFORMOBJ_bXformFixPoints(pxo, cPoints, pvIn, pvOut)) - { - return FALSE; - } + XFORMOBJ_vXformFixPoints(pxo, cPoints, pvIn, pvOut);
/* Convert POINTFIX to POINTL? */ if (iMode == XF_INV_FXTOL || iMode == XF_INV_LTOL || iMode == XF_LTOL) { - pptl = pvOut; + pptlOut = pvOut; for (i = cPoints - 1; i >= 0; i--) { - pptl[i].x = FIX2LONG(pptl[i].x); - pptl[i].y = FIX2LONG(pptl[i].y); + pptlOut[i].x = FIX2LONG(pptlOut[i].x); + pptlOut[i].y = FIX2LONG(pptlOut[i].y); } }