Check segment index values in compress_segments
This commit is contained in:
parent
25a1dbe70c
commit
7f264f779b
|
@ -660,14 +660,12 @@ static void compress_segments(void)
|
||||||
if (l == seg)
|
if (l == seg)
|
||||||
l = hole;
|
l = hole;
|
||||||
|
|
||||||
auto sp = &Segments[hole];
|
auto &sp = *vsegptr(hole);
|
||||||
range_for (auto &s, sp->children)
|
range_for (auto &s, sp.children)
|
||||||
{
|
{
|
||||||
if (IS_CHILD(s)) {
|
if (IS_CHILD(s)) {
|
||||||
auto csegp = &Segments[s];
|
|
||||||
|
|
||||||
// Find out on what side the segment connection to the former seg is on in *csegp.
|
// Find out on what side the segment connection to the former seg is on in *csegp.
|
||||||
range_for (auto &t, csegp->children)
|
range_for (auto &t, vsegptr(s)->children)
|
||||||
{
|
{
|
||||||
if (t == seg) {
|
if (t == seg) {
|
||||||
t = hole; // It used to be connected to seg, so make it connected to hole
|
t = hole; // It used to be connected to seg, so make it connected to hole
|
||||||
|
@ -677,7 +675,7 @@ static void compress_segments(void)
|
||||||
} // end for s
|
} // end for s
|
||||||
|
|
||||||
//Update object segment pointers
|
//Update object segment pointers
|
||||||
range_for (const auto objp, objects_in(*sp))
|
range_for (const auto objp, objects_in(sp))
|
||||||
{
|
{
|
||||||
Assert(objp->segnum == seg);
|
Assert(objp->segnum == seg);
|
||||||
objp->segnum = hole;
|
objp->segnum = hole;
|
||||||
|
|
Loading…
Reference in a new issue