mirror of
https://github.com/ApfelTeeSaft/reactos.git
synced 2026-09-02 12:23:31 +00:00
Allocate span memory for every clipping type, not only for one
svn path=/trunk/; revision=42741
This commit is contained in:
@@ -406,18 +406,21 @@ ClipobjToSpans(
|
||||
|
||||
ASSERT(Boundary->top <= Boundary->bottom && Boundary->left <= Boundary->right);
|
||||
|
||||
*Spans = NULL;
|
||||
*Count = Boundary->bottom - Boundary->top;
|
||||
if (*Count > 0)
|
||||
{
|
||||
*Spans = ExAllocatePoolWithTag(PagedPool, *Count * sizeof(SPAN), TAG_CLIP);
|
||||
if (NULL == *Spans)
|
||||
{
|
||||
*Count = 0;
|
||||
return FALSE;
|
||||
}
|
||||
}
|
||||
|
||||
if (NULL == ClipRegion || DC_TRIVIAL == ClipRegion->iDComplexity)
|
||||
{
|
||||
*Count = Boundary->bottom - Boundary->top;
|
||||
if (0 != *Count)
|
||||
{
|
||||
*Spans = ExAllocatePoolWithTag(PagedPool, *Count * sizeof(SPAN), TAG_CLIP);
|
||||
if (NULL == *Spans)
|
||||
{
|
||||
*Count = 0;
|
||||
return FALSE;
|
||||
}
|
||||
for (i = 0; i < Boundary->bottom - Boundary->top; i++)
|
||||
{
|
||||
(*Spans)[i].X = Boundary->left;
|
||||
|
||||
Reference in New Issue
Block a user