Fix crash when removing rail depot or road when debug window open on tile

pull/212/head
Jonathan G Rennison 3 years ago
parent 204f8e173f
commit 6965a339c4

@ -2403,6 +2403,7 @@ static CommandCost RemoveTrainDepot(TileIndex tile, DoCommandFlag flags)
AddSideToSignalBuffer(tile, dir, owner);
YapfNotifyTrackLayoutChange(tile, DiagDirToDiagTrack(dir));
if (v != nullptr) TryPathReserve(v, true);
DeleteNewGRFInspectWindow(GSF_RAILTYPES, tile);
}
return CommandCost(EXPENSES_CONSTRUCTION, _price[PR_CLEAR_DEPOT_TRAIN]);

@ -771,6 +771,7 @@ static CommandCost RemoveRoad(TileIndex tile, DoCommandFlag flags, RoadBits piec
if (GetRoadType(tile, OtherRoadTramType(rtt)) == INVALID_ROADTYPE) {
/* Includes MarkTileDirtyByTile() */
DoClearSquare(tile);
DeleteNewGRFInspectWindow(GSF_ROADTYPES, tile);
} else {
if (rtt == RTT_ROAD && IsRoadOwner(tile, rtt, OWNER_TOWN)) {
/* Update nearest-town index */
@ -825,6 +826,7 @@ static CommandCost RemoveRoad(TileIndex tile, DoCommandFlag flags, RoadBits piec
c->infrastructure.rail[GetRailType(tile)] -= LEVELCROSSING_TRACKBIT_FACTOR - 1;
DirtyCompanyInfrastructureWindows(c->index);
}
DeleteNewGRFInspectWindow(GSF_ROADTYPES, tile);
} else {
SetRoadType(tile, rtt, INVALID_ROADTYPE);
}
@ -1715,6 +1717,7 @@ static CommandCost RemoveRoadDepot(TileIndex tile, DoCommandFlag flags)
DoClearSquare(tile);
NotifyRoadLayoutChanged(false);
DeleteNewGRFInspectWindow(GSF_ROADTYPES, tile);
}
return CommandCost(EXPENSES_CONSTRUCTION, _price[PR_CLEAR_DEPOT_ROAD]);

Loading…
Cancel
Save