summaryrefslogtreecommitdiff
path: root/src/waypoint.cpp
diff options
context:
space:
mode:
authorrubidium <rubidium@openttd.org>2007-08-05 21:20:55 +0000
committerrubidium <rubidium@openttd.org>2007-08-05 21:20:55 +0000
commit83e1fdcb0167c36729889511f7b1165038044c88 (patch)
treebfe043c51f23052fc39f35769a2ede1e66998148 /src/waypoint.cpp
parentab5fa3add2f5f2feeb8f48127f6ee5ab69d42f65 (diff)
downloadopenttd-83e1fdcb0167c36729889511f7b1165038044c88.tar.xz
(svn r10799) -Fix: only calling QuickFree and not the destructor on pool cleanups might cause memory leaks due to the way C++ works.
Diffstat (limited to 'src/waypoint.cpp')
-rw-r--r--src/waypoint.cpp11
1 files changed, 4 insertions, 7 deletions
diff --git a/src/waypoint.cpp b/src/waypoint.cpp
index 425c7a503..9847c9870 100644
--- a/src/waypoint.cpp
+++ b/src/waypoint.cpp
@@ -404,17 +404,14 @@ Waypoint::Waypoint(TileIndex tile)
Waypoint::~Waypoint()
{
+ if (this->string != STR_NULL) DeleteName(this->string);
+
+ if (CleaningPool()) return;
+
RemoveOrderFromAllVehicles(OT_GOTO_WAYPOINT, this->index);
RedrawWaypointSign(this);
this->xy = 0;
-
- this->QuickFree();
-}
-
-void Waypoint::QuickFree()
-{
- if (this->string != STR_NULL) DeleteName(this->string);
}
bool Waypoint::IsValid() const