add a NULL check in IntGdiInitBrushInstance if XlateObj is NULL fall back to use white as default color when GDIBRUSH_IS_SOLID are set.

svn path=/trunk/; revision=33877
This commit is contained in:
Magnus Olsen 2008-06-07 01:14:12 +00:00
parent 48150abcea
commit 12528a2fc8

View file

@ -173,11 +173,25 @@ IntGdiInitBrushInstance(GDIBRUSHINST *BrushInst, PGDIBRUSHOBJ BrushObj, XLATEOBJ
ASSERT(BrushInst);
ASSERT(BrushObj);
if (BrushObj->flAttrs & GDIBRUSH_IS_NULL)
{
BrushInst->BrushObject.iSolidColor = 0;
}
else if (BrushObj->flAttrs & GDIBRUSH_IS_SOLID)
BrushInst->BrushObject.iSolidColor = XLATEOBJ_iXlate(XlateObj, BrushObj->BrushAttr.lbColor);
{
if (XlateObj)
{
BrushInst->BrushObject.iSolidColor = XLATEOBJ_iXlate(XlateObj, BrushObj->BrushAttr.lbColor);
}
else
{
BrushInst->BrushObject.iSolidColor = 0xFFFFFFFF;
}
}
else
{
BrushInst->BrushObject.iSolidColor = 0xFFFFFFFF;
}
BrushInst->BrushObject.pvRbrush = BrushObj->ulRealization;
BrushInst->BrushObject.flColorType = 0;
BrushInst->GdiBrushObject = BrushObj;