From 7dda6570ec2cce9799dc26ea794fadb125713349 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ricardo=20Lu=C3=ADs=20Vaz=20Silva?= Date: Wed, 19 Apr 2023 10:24:39 -0300 Subject: [PATCH] remove memory leak in `A_ChangeModel` --- src/playsim/p_actionfunctions.cpp | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/src/playsim/p_actionfunctions.cpp b/src/playsim/p_actionfunctions.cpp index 157ef9336a..48d2b2249b 100644 --- a/src/playsim/p_actionfunctions.cpp +++ b/src/playsim/p_actionfunctions.cpp @@ -5155,13 +5155,10 @@ DEFINE_ACTION_FUNCTION(AActor, A_ChangeModel) if (mobj->modelData == nullptr) { auto ptr = Create(); + ptr->hasModel = mobj->hasmodel ? 1 : 0; - ptr->modelIDs = *new TArray(); - ptr->skinIDs = *new TArray(); - ptr->surfaceSkinIDs = *new TArray(); - ptr->animationIDs = *new TArray(); - ptr->modelFrameGenerators = *new TArray(); ptr->modelDef = NAME_None; + mobj->modelData = ptr; mobj->hasmodel = 1; GC::WriteBarrier(mobj, ptr);