diff --git a/src/scripting/thingdef.cpp b/src/scripting/thingdef.cpp index 77120c947..cdf35283a 100644 --- a/src/scripting/thingdef.cpp +++ b/src/scripting/thingdef.cpp @@ -387,8 +387,9 @@ void LoadActors () } FScriptPosition::ResetErrorCounter(); - for (auto ti : PClassActor::AllActorClasses) + for (int i = PClassActor::AllActorClasses.Size()-1; i>=0;i--) { + auto ti = PClassActor::AllActorClasses[i]; if (ti->Size == TentativeClass) { if (ti->ObjectFlags & OF_Transient) @@ -400,6 +401,7 @@ void LoadActors () { if (*op == ti) *op = nullptr; } + PClassActor::AllActorClasses.Delete(i); } else {