mirror of
https://github.com/reactos/reactos.git
synced 2025-08-05 17:42:58 +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
1 changed files with 24 additions and 6 deletions
|
@ -481,6 +481,17 @@ EngGradientFill(
|
||||||
IN ULONG ulMode)
|
IN ULONG ulMode)
|
||||||
{
|
{
|
||||||
ULONG i;
|
ULONG i;
|
||||||
|
CLIPOBJ *pcoPriv = NULL;
|
||||||
|
BOOL ret = FALSE;
|
||||||
|
|
||||||
|
if (!pco)
|
||||||
|
{
|
||||||
|
pco = pcoPriv = IntEngCreateClipRegion(0, 0, prclExtents);
|
||||||
|
if (!pco)
|
||||||
|
{
|
||||||
|
return FALSE;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
switch(ulMode)
|
switch(ulMode)
|
||||||
{
|
{
|
||||||
|
@ -493,10 +504,11 @@ EngGradientFill(
|
||||||
if(!IntEngGradientFillRect(psoDest, pco, pxlo, pVertex, nVertex, gr, prclExtents,
|
if(!IntEngGradientFillRect(psoDest, pco, pxlo, pVertex, nVertex, gr, prclExtents,
|
||||||
pptlDitherOrg, (ulMode == GRADIENT_FILL_RECT_H)))
|
pptlDitherOrg, (ulMode == GRADIENT_FILL_RECT_H)))
|
||||||
{
|
{
|
||||||
return FALSE;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return TRUE;
|
ret = TRUE;
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
case GRADIENT_FILL_TRIANGLE:
|
case GRADIENT_FILL_TRIANGLE:
|
||||||
{
|
{
|
||||||
|
@ -511,13 +523,20 @@ EngGradientFill(
|
||||||
if(!IntEngGradientFillTriangle(psoDest, pco, pxlo, pVertex, nVertex, gt, prclExtents,
|
if(!IntEngGradientFillTriangle(psoDest, pco, pxlo, pVertex, nVertex, gt, prclExtents,
|
||||||
pptlDitherOrg))
|
pptlDitherOrg))
|
||||||
{
|
{
|
||||||
return FALSE;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return TRUE;
|
ret = TRUE;
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return FALSE;
|
|
||||||
|
if (pcoPriv)
|
||||||
|
{
|
||||||
|
IntEngDeleteClipRegion(pcoPriv);
|
||||||
|
}
|
||||||
|
|
||||||
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
BOOL STDCALL
|
BOOL STDCALL
|
||||||
|
@ -536,7 +555,6 @@ IntEngGradientFill(
|
||||||
BOOL Ret;
|
BOOL Ret;
|
||||||
BITMAPOBJ *pboDest;
|
BITMAPOBJ *pboDest;
|
||||||
ASSERT(psoDest);
|
ASSERT(psoDest);
|
||||||
ASSERT(pco);
|
|
||||||
|
|
||||||
pboDest = CONTAINING_RECORD(psoDest, BITMAPOBJ, SurfObj);
|
pboDest = CONTAINING_RECORD(psoDest, BITMAPOBJ, SurfObj);
|
||||||
ASSERT(pboDest);
|
ASSERT(pboDest);
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue