(svn r18923) -Fix [FS#3565]: Check source stationspec exists before copying layouts.

This commit is contained in:
peter1138 2010-01-27 10:17:09 +00:00
parent 4df90cddee
commit cd6eac77c3
1 changed files with 10 additions and 0 deletions

View File

@ -1193,6 +1193,11 @@ static ChangeInfoResult StationChangeInfo(uint stid, int numinfo, int prop, Byte
byte srcid = buf->ReadByte();
const StationSpec *srcstatspec = _cur_grffile->stations[srcid];
if (srcstatspec == NULL) {
grfmsg(1, "StationChangeInfo: Station %u is not defined, cannot copy sprite layout to %u.", srcid, stid + i);
continue;
}
statspec->tiles = srcstatspec->tiles;
statspec->renderdata = srcstatspec->renderdata;
statspec->copied_renderdata = true;
@ -1266,6 +1271,11 @@ static ChangeInfoResult StationChangeInfo(uint stid, int numinfo, int prop, Byte
byte srcid = buf->ReadByte();
const StationSpec *srcstatspec = _cur_grffile->stations[srcid];
if (srcstatspec == NULL) {
grfmsg(1, "StationChangeInfo: Station %u is not defined, cannot copy tile layout to %u.", srcid, stid + i);
continue;
}
statspec->lengths = srcstatspec->lengths;
statspec->platforms = srcstatspec->platforms;
statspec->layouts = srcstatspec->layouts;