mirror of
https://github.com/ZDoom/Raze.git
synced 2025-05-31 01:11:15 +00:00
- fixed: When merging clip nodes the redundant one needs to be deleted with RemoveRange.
Calling Free is not enough.
This commit is contained in:
parent
b00f197be3
commit
3992dfae84
1 changed files with 4 additions and 1 deletions
|
@ -111,15 +111,17 @@ bool Clipper::InsertRange(ClipNode* prev, ClipNode* node)
|
||||||
if (prev->next && prev->end >= prev->next->start && prev->next->topclip <= prev->next->bottomclip)
|
if (prev->next && prev->end >= prev->next->start && prev->next->topclip <= prev->next->bottomclip)
|
||||||
{
|
{
|
||||||
prev->end = prev->next->end;
|
prev->end = prev->next->end;
|
||||||
Free(prev->next);
|
RemoveRange(prev->next);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
ValidateList();
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
else if (prev->next && node->end >= prev->next->start && prev->next->topclip <= prev->next->bottomclip)
|
else if (prev->next && node->end >= prev->next->start && prev->next->topclip <= prev->next->bottomclip)
|
||||||
{
|
{
|
||||||
prev->next->start = node->start;
|
prev->next->start = node->start;
|
||||||
Free(node);
|
Free(node);
|
||||||
|
ValidateList();
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -637,6 +639,7 @@ void Clipper::RemoveClipRange(int start, int end)
|
||||||
node = node->next;
|
node = node->next;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
ValidateList();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue