EngLineTo: if pco == NULL use a private clip object, initialized with bounds rect

svn path=/trunk/; revision=33743
This commit is contained in:
Timo Kreuzer 2008-05-28 20:00:03 +00:00
parent 7c07a3d2c3
commit ed5eae8cb6

View file

@ -348,6 +348,7 @@ EngLineTo(SURFOBJ *DestObj,
INTENG_ENTER_LEAVE EnterLeave;
RECT_ENUM RectEnum;
BOOL EnumMore;
CLIPOBJ *pcoPriv = NULL;
if (x1 < x2)
{
@ -375,6 +376,15 @@ EngLineTo(SURFOBJ *DestObj,
return FALSE;
}
if (!Clip)
{
Clip = pcoPriv = IntEngCreateClipRegion(0, 0, RectBounds);
if (!Clip)
{
return FALSE;
}
}
x1 += Translate.x;
x2 += Translate.x;
y1 += Translate.y;
@ -487,6 +497,11 @@ EngLineTo(SURFOBJ *DestObj,
}
}
if (pcoPriv)
{
IntEngDeleteClipRegion(pcoPriv);
}
return IntEngLeave(&EnterLeave);
}