diff --git a/src/playsim/actor.h b/src/playsim/actor.h index b85205373..7d1bb8740 100644 --- a/src/playsim/actor.h +++ b/src/playsim/actor.h @@ -778,7 +778,7 @@ public: void Serialize(FSerializer& arc) override; }; -class DBehavior : public DObject +class DBehavior final : public DObject { DECLARE_CLASS(DBehavior, DObject) HAS_OBJECT_POINTERS diff --git a/src/playsim/p_mobj.cpp b/src/playsim/p_mobj.cpp index 93480d6fa..6677e4fa4 100644 --- a/src/playsim/p_mobj.cpp +++ b/src/playsim/p_mobj.cpp @@ -665,10 +665,10 @@ void AActor::MoveBehaviors(AActor& from) } b->Owner = this; - if (b->Level != b->Owner->Level) + if (b->Level != Level) { b->Level->RemoveActorBehavior(*b); - b->Owner->Level->AddActorBehavior(*b); + Level->AddActorBehavior(*b); } }