(svn r22472) -Fix: When a NewGRF assigned station properties 09 and/or 0A multiple times, the previously allocated sprite layouts were not freed.

This commit is contained in:
frosch 2011-05-17 20:11:19 +00:00
parent 64cf720234
commit bc6b348e7a
1 changed files with 4 additions and 0 deletions

View File

@ -1221,6 +1221,8 @@ static ChangeInfoResult StationChangeInfo(uint stid, int numinfo, int prop, Byte
}
case 0x09: // Define sprite layout
delete[] statspec->renderdata; // delete earlier loaded stuff
statspec->tiles = buf->ReadExtendedByte();
statspec->renderdata = new NewGRFSpriteLayout[statspec->tiles];
@ -1281,6 +1283,8 @@ static ChangeInfoResult StationChangeInfo(uint stid, int numinfo, int prop, Byte
continue;
}
delete[] statspec->renderdata; // delete earlier loaded stuff
statspec->tiles = srcstatspec->tiles;
statspec->renderdata = new NewGRFSpriteLayout[statspec->tiles];
for (uint t = 0; t < statspec->tiles; t++) {