From 328b4fb763af2714b35bb8c3ffb6f780d491513b Mon Sep 17 00:00:00 2001 From: David Cernat Date: Fri, 28 Apr 2017 20:31:02 +0300 Subject: [PATCH] [Server] Fix invalid pointers when using ActorFunctions::GetActorCell() --- apps/openmw-mp/Script/Functions/Actors.cpp | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/apps/openmw-mp/Script/Functions/Actors.cpp b/apps/openmw-mp/Script/Functions/Actors.cpp index 41eb543af..4187e2fb1 100644 --- a/apps/openmw-mp/Script/Functions/Actors.cpp +++ b/apps/openmw-mp/Script/Functions/Actors.cpp @@ -15,6 +15,8 @@ BaseActorList scriptActorList; BaseActor tempActor; const BaseActor emptyActor = {}; +static std::string tempCellDescription; + void ActorFunctions::InitScriptActorList(unsigned short pid) noexcept { Player *player; @@ -37,7 +39,8 @@ unsigned char ActorFunctions::GetLastActorListAction() noexcept const char *ActorFunctions::GetActorCell(unsigned int i) noexcept { - return mwmp::Networking::getPtr()->getLastActorList()->baseActors.at(i).cell.getDescription().c_str(); + tempCellDescription = mwmp::Networking::getPtr()->getLastActorList()->baseActors.at(i).cell.getDescription(); + return tempCellDescription.c_str(); } const char *ActorFunctions::GetActorRefId(unsigned int i) noexcept