mirror of
https://github.com/luanti-org/luanti.git
synced 2025-06-27 16:36:03 +00:00
Safely handle block deletion (#13315)
Co-authored-by: Jude Melton-Houghton <jwmhjwmh@gmail.com>
This commit is contained in:
parent
f3b198e490
commit
ed632f3854
7 changed files with 74 additions and 5 deletions
|
@ -109,6 +109,12 @@ void MapSector::insertBlock(MapBlock *block)
|
|||
}
|
||||
|
||||
void MapSector::deleteBlock(MapBlock *block)
|
||||
{
|
||||
detachBlock(block);
|
||||
delete block;
|
||||
}
|
||||
|
||||
void MapSector::detachBlock(MapBlock *block)
|
||||
{
|
||||
s16 block_y = block->getPos().Y;
|
||||
|
||||
|
@ -118,8 +124,8 @@ void MapSector::deleteBlock(MapBlock *block)
|
|||
// Remove from container
|
||||
m_blocks.erase(block_y);
|
||||
|
||||
// Delete
|
||||
delete block;
|
||||
// Mark as removed
|
||||
block->makeOrphan();
|
||||
}
|
||||
|
||||
void MapSector::getBlocks(MapBlockVect &dest)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue