From 2c0a95ed6650c454b76ed706bb0db9953cd50fec Mon Sep 17 00:00:00 2001 From: smatz Date: Sun, 7 Sep 2008 18:21:57 +0000 Subject: [PATCH] (svn r14265) -Fix (r10750): desyncs after deleting a waypoint because of explicit destructor call instead of using operator delete --- src/waypoint.cpp | 2 +- src/waypoint.h | 5 ----- 2 files changed, 1 insertion(+), 6 deletions(-) diff --git a/src/waypoint.cpp b/src/waypoint.cpp index 0916a887f1..3d6ed983e3 100644 --- a/src/waypoint.cpp +++ b/src/waypoint.cpp @@ -293,7 +293,7 @@ void WaypointsDailyLoop() /* Check if we need to delete a waypoint */ FOR_ALL_WAYPOINTS(wp) { - if (wp->deleted != 0 && --wp->deleted == 0) DeleteWaypoint(wp); + if (wp->deleted != 0 && --wp->deleted == 0) delete wp; } } diff --git a/src/waypoint.h b/src/waypoint.h index 22259de098..a0742940ea 100644 --- a/src/waypoint.h +++ b/src/waypoint.h @@ -44,11 +44,6 @@ static inline bool IsValidWaypointID(WaypointID index) return index < GetWaypointPoolSize() && GetWaypoint(index)->IsValid(); } -static inline void DeleteWaypoint(Waypoint *wp) -{ - wp->~Waypoint(); -} - #define FOR_ALL_WAYPOINTS_FROM(wp, start) for (wp = GetWaypoint(start); wp != NULL; wp = (wp->index + 1U < GetWaypointPoolSize()) ? GetWaypoint(wp->index + 1U) : NULL) if (wp->IsValid()) #define FOR_ALL_WAYPOINTS(wp) FOR_ALL_WAYPOINTS_FROM(wp, 0)