mirror of
https://github.com/reactos/reactos.git
synced 2024-07-05 12:15:46 +00:00
IntEngGradientFill: don't assert, if no CLIPOBJ is given, instead handle this case in EngGradientFill, creating a CLIPOBJ from bounds rect.
svn path=/trunk/; revision=33859
This commit is contained in:
parent
6378983897
commit
fbf0cbd302
|
@ -481,6 +481,17 @@ EngGradientFill(
|
|||
IN ULONG ulMode)
|
||||
{
|
||||
ULONG i;
|
||||
CLIPOBJ *pcoPriv = NULL;
|
||||
BOOL ret = FALSE;
|
||||
|
||||
if (!pco)
|
||||
{
|
||||
pco = pcoPriv = IntEngCreateClipRegion(0, 0, prclExtents);
|
||||
if (!pco)
|
||||
{
|
||||
return FALSE;
|
||||
}
|
||||
}
|
||||
|
||||
switch(ulMode)
|
||||
{
|
||||
|
@ -493,10 +504,11 @@ EngGradientFill(
|
|||
if(!IntEngGradientFillRect(psoDest, pco, pxlo, pVertex, nVertex, gr, prclExtents,
|
||||
pptlDitherOrg, (ulMode == GRADIENT_FILL_RECT_H)))
|
||||
{
|
||||
return FALSE;
|
||||
break;
|
||||
}
|
||||
}
|
||||
return TRUE;
|
||||
ret = TRUE;
|
||||
break;
|
||||
}
|
||||
case GRADIENT_FILL_TRIANGLE:
|
||||
{
|
||||
|
@ -511,13 +523,20 @@ EngGradientFill(
|
|||
if(!IntEngGradientFillTriangle(psoDest, pco, pxlo, pVertex, nVertex, gt, prclExtents,
|
||||
pptlDitherOrg))
|
||||
{
|
||||
return FALSE;
|
||||
break;
|
||||
}
|
||||
}
|
||||
return TRUE;
|
||||
ret = TRUE;
|
||||
break;
|
||||
}
|
||||
}
|
||||
return FALSE;
|
||||
|
||||
if (pcoPriv)
|
||||
{
|
||||
IntEngDeleteClipRegion(pcoPriv);
|
||||
}
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
BOOL STDCALL
|
||||
|
@ -536,7 +555,6 @@ IntEngGradientFill(
|
|||
BOOL Ret;
|
||||
BITMAPOBJ *pboDest;
|
||||
ASSERT(psoDest);
|
||||
ASSERT(pco);
|
||||
|
||||
pboDest = CONTAINING_RECORD(psoDest, BITMAPOBJ, SurfObj);
|
||||
ASSERT(pboDest);
|
||||
|
|
Loading…
Reference in a new issue