mirror of https://github.com/OpenTTD/OpenTTD
(svn r10813) -Fix (r10799): some destructors were performing too much during the pool cleanups, which could cause crashes as already removed pool items could then be dereferenced by other destructors.
parent
e0e361c890
commit
ab7e36dda7
|
@ -130,6 +130,8 @@ const IndustryTileSpec *GetIndustryTileSpec(IndustryGfx gfx, bool full_check)
|
||||||
|
|
||||||
Industry::~Industry()
|
Industry::~Industry()
|
||||||
{
|
{
|
||||||
|
if (CleaningPool()) return;
|
||||||
|
|
||||||
/* Industry can also be destroyed when not fully initialized.
|
/* Industry can also be destroyed when not fully initialized.
|
||||||
* This means that we do not have to clear tiles either. */
|
* This means that we do not have to clear tiles either. */
|
||||||
if (this->width == 0) {
|
if (this->width == 0) {
|
||||||
|
|
|
@ -391,6 +391,8 @@ RoadStop::RoadStop(TileIndex tile) :
|
||||||
*/
|
*/
|
||||||
RoadStop::~RoadStop()
|
RoadStop::~RoadStop()
|
||||||
{
|
{
|
||||||
|
if (CleaningPool()) return;
|
||||||
|
|
||||||
/* Clear the slot assignment of all vehicles heading for this road stop */
|
/* Clear the slot assignment of all vehicles heading for this road stop */
|
||||||
if (num_vehicles != 0) {
|
if (num_vehicles != 0) {
|
||||||
Vehicle *v;
|
Vehicle *v;
|
||||||
|
|
Loading…
Reference in New Issue