mirror of
https://github.com/reactos/reactos.git
synced 2025-08-04 09:16:17 +00:00
[WIN32K]
- In XFORMOBJ_bApplyXform do not overwrite the data in the input buffer - Make XFORMOBJ_bXformFixPoints return VOID instead of BOOL svn path=/trunk/; revision=65445
This commit is contained in:
parent
80b272de8e
commit
34e909ecc9
2 changed files with 16 additions and 17 deletions
|
@ -309,7 +309,7 @@ CsrInsertThread(IN PCSR_PROCESS Process,
|
||||||
sizeof(ThreadInfo),
|
sizeof(ThreadInfo),
|
||||||
NULL);
|
NULL);
|
||||||
if (!NT_SUCCESS(Status)) return Status;
|
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 */
|
/* Insert it into the Regular List */
|
||||||
InsertTailList(&Process->ThreadList, &Thread->Link);
|
InsertTailList(&Process->ThreadList, &Thread->Link);
|
||||||
|
|
|
@ -297,10 +297,10 @@ XFORMOBJ_iInverse(
|
||||||
return XFORMOBJ_UpdateAccel(pxoDst);
|
return XFORMOBJ_UpdateAccel(pxoDst);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static
|
||||||
BOOL
|
VOID
|
||||||
NTAPI
|
NTAPI
|
||||||
XFORMOBJ_bXformFixPoints(
|
XFORMOBJ_vXformFixPoints(
|
||||||
IN XFORMOBJ *pxo,
|
IN XFORMOBJ *pxo,
|
||||||
IN ULONG cPoints,
|
IN ULONG cPoints,
|
||||||
IN PPOINTL pptIn,
|
IN PPOINTL pptIn,
|
||||||
|
@ -426,8 +426,6 @@ XFORMOBJ_bXformFixPoints(
|
||||||
}
|
}
|
||||||
while (--i >= 0);
|
while (--i >= 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
return TRUE;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/** Public functions **********************************************************/
|
/** Public functions **********************************************************/
|
||||||
|
@ -500,7 +498,7 @@ XFORMOBJ_bApplyXform(
|
||||||
{
|
{
|
||||||
MATRIX mx;
|
MATRIX mx;
|
||||||
XFORMOBJ xoInv;
|
XFORMOBJ xoInv;
|
||||||
POINTL *pptl;
|
PPOINTL pptlIn, pptlOut;
|
||||||
INT i;
|
INT i;
|
||||||
|
|
||||||
/* Check parameters */
|
/* Check parameters */
|
||||||
|
@ -523,28 +521,29 @@ XFORMOBJ_bApplyXform(
|
||||||
/* Convert POINTL to POINTFIX? */
|
/* Convert POINTL to POINTFIX? */
|
||||||
if (iMode == XF_LTOFX || iMode == XF_LTOL || iMode == XF_INV_LTOL)
|
if (iMode == XF_LTOFX || iMode == XF_LTOL || iMode == XF_INV_LTOL)
|
||||||
{
|
{
|
||||||
pptl = pvIn;
|
pptlIn = pvIn;
|
||||||
|
pptlOut = pvOut;
|
||||||
for (i = cPoints - 1; i >= 0; i--)
|
for (i = cPoints - 1; i >= 0; i--)
|
||||||
{
|
{
|
||||||
pptl[i].x = LONG2FIX(pptl[i].x);
|
pptlOut[i].x = LONG2FIX(pptlIn[i].x);
|
||||||
pptl[i].y = LONG2FIX(pptl[i].y);
|
pptlOut[i].y = LONG2FIX(pptlIn[i].y);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* The input is in the out buffer now! */
|
||||||
|
pvIn = pvOut;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Do the actual fixpoint transformation */
|
/* Do the actual fixpoint transformation */
|
||||||
if (!XFORMOBJ_bXformFixPoints(pxo, cPoints, pvIn, pvOut))
|
XFORMOBJ_vXformFixPoints(pxo, cPoints, pvIn, pvOut);
|
||||||
{
|
|
||||||
return FALSE;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Convert POINTFIX to POINTL? */
|
/* Convert POINTFIX to POINTL? */
|
||||||
if (iMode == XF_INV_FXTOL || iMode == XF_INV_LTOL || iMode == XF_LTOL)
|
if (iMode == XF_INV_FXTOL || iMode == XF_INV_LTOL || iMode == XF_LTOL)
|
||||||
{
|
{
|
||||||
pptl = pvOut;
|
pptlOut = pvOut;
|
||||||
for (i = cPoints - 1; i >= 0; i--)
|
for (i = cPoints - 1; i >= 0; i--)
|
||||||
{
|
{
|
||||||
pptl[i].x = FIX2LONG(pptl[i].x);
|
pptlOut[i].x = FIX2LONG(pptlOut[i].x);
|
||||||
pptl[i].y = FIX2LONG(pptl[i].y);
|
pptlOut[i].y = FIX2LONG(pptlOut[i].y);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue