1
0
mirror of https://github.com/OpenRCT2/OpenRCT2 synced 2026-02-02 19:56:13 +01:00

fix and detect freeing invalid image lists

This commit is contained in:
Ted John
2016-07-03 19:48:21 +01:00
parent 52928e1e08
commit 4e259920b1
3 changed files with 36 additions and 2 deletions

View File

@@ -81,7 +81,8 @@ void LargeSceneryObject::ReadLegacy(IReadObjectContext * context, IStream * stre
void LargeSceneryObject::Load()
{
_legacyType.name = language_allocate_object_string(GetName());
_legacyType.image = gfx_object_allocate_images(GetImageTable()->GetImages(), GetImageTable()->GetCount());
_baseImageId = gfx_object_allocate_images(GetImageTable()->GetImages(), GetImageTable()->GetCount());
_legacyType.image = _baseImageId;
_legacyType.large_scenery.tiles = _tiles;
@@ -112,7 +113,7 @@ void LargeSceneryObject::Load()
void LargeSceneryObject::Unload()
{
language_free_object_string(_legacyType.name);
gfx_object_free_images(_legacyType.image, GetImageTable()->GetCount());
gfx_object_free_images(_baseImageId, GetImageTable()->GetCount());
_legacyType.name = 0;
_legacyType.image = 0;