Make sure to delete all conditional objects

This fixes the issue where memory would be leaked by conditionals
This commit is contained in:
smallmodel 2024-10-13 22:09:38 +02:00
parent b1c5d6c62a
commit 032fb9b5ba
No known key found for this signature in database
GPG key ID: 9F2D623CEDF08512

View file

@ -4973,10 +4973,25 @@ void Player::InitTorsoStateTable(void)
void Player::LoadStateTable(void)
{
int i;
Conditional* cond;
statemap_Legs = NULL;
statemap_Torso = NULL;
//
// Free existing conditionals
//
for (i = legs_conditionals.NumObjects(); i > 0; i--) {
cond = legs_conditionals.ObjectAt(i);
delete cond;
}
legs_conditionals.FreeObjectList();
for (i = torso_conditionals.NumObjects(); i > 0; i--) {
cond = torso_conditionals.ObjectAt(i);
delete cond;
}
torso_conditionals.FreeObjectList();
statemap_Legs =