From 7590651aeae35f804af90537e276b6e1d07a8d44 Mon Sep 17 00:00:00 2001 From: rubidium Date: Sun, 11 Apr 2010 21:46:20 +0000 Subject: [PATCH] (svn r19612) -Fix [FS#3756] (r3212): crash when opening a savegame with a waypoint from around 0.4.0 --- src/saveload/waypoint_sl.cpp | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/saveload/waypoint_sl.cpp b/src/saveload/waypoint_sl.cpp index 2cd95e104f..ae5c36ac18 100644 --- a/src/saveload/waypoint_sl.cpp +++ b/src/saveload/waypoint_sl.cpp @@ -70,7 +70,12 @@ void MoveWaypointsToBaseStations() * waypoint struct. */ if (CheckSavegameVersion(17)) { for (OldWaypoint *wp = _old_waypoints.Begin(); wp != _old_waypoints.End(); wp++) { - if (wp->delete_ctr == 0 && HasBit(_m[wp->xy].m3, 4)) { + if (wp->delete_ctr != 0) continue; // The waypoint was deleted + + /* Waypoint indices were not added to the map prior to this. */ + _m[wp->xy].m2 = wp->index; + + if (HasBit(_m[wp->xy].m3, 4)) { wp->spec = GetCustomStationSpec(STAT_CLASS_WAYP, _m[wp->xy].m4 + 1); } }