aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGiacomo Pozzoni <giacomopoz@gmail.com>2019-07-10 16:02:18 +0200
committerShauren <shauren.trinity@gmail.com>2021-12-15 00:17:32 +0100
commitebe436d2c28885597aa132d4901238ec8e5dd8a0 (patch)
treeb4929893503cb4be5456fd27131879e23e31b1ca
parentc77f57edbc9e24243fcfce00c69b74b935ba688b (diff)
Core/ChatCommands: Fix .wp reload crash
(cherry picked from commit e4c2bb4f1411f2db724a7cfcdc014013a63b37a5)
-rw-r--r--src/server/game/Movement/Waypoints/WaypointManager.cpp8
1 files changed, 3 insertions, 5 deletions
diff --git a/src/server/game/Movement/Waypoints/WaypointManager.cpp b/src/server/game/Movement/Waypoints/WaypointManager.cpp
index c38c8ae531d..16451671dec 100644
--- a/src/server/game/Movement/Waypoints/WaypointManager.cpp
+++ b/src/server/game/Movement/Waypoints/WaypointManager.cpp
@@ -84,10 +84,6 @@ WaypointMgr* WaypointMgr::instance()
void WaypointMgr::ReloadPath(uint32 id)
{
- auto itr = _waypointStore.find(id);
- if (itr != _waypointStore.end())
- _waypointStore.erase(itr);
-
WorldDatabasePreparedStatement* stmt = WorldDatabase.GetPreparedStatement(WORLD_SEL_WAYPOINT_DATA_BY_ID);
stmt->setUInt32(0, id);
@@ -131,7 +127,9 @@ void WaypointMgr::ReloadPath(uint32 id)
}
while (result->NextRow());
- _waypointStore[id] = WaypointPath(id, std::move(values));
+ WaypointPath& path = _waypointStore[id];
+ path.id = id;
+ path.nodes = std::move(values);
}
WaypointPath const* WaypointMgr::GetPath(uint32 id) const