From 26acd564fbb3579a99092588f38db1ac210dd5e5 Mon Sep 17 00:00:00 2001 From: Christoph Oelckers Date: Mon, 4 Feb 2019 16:27:57 +0100 Subject: [PATCH] - restored order of destruction of interpolations and thinkers, which got accidentally reversed. --- src/p_setup.cpp | 4 ++-- src/r_data/r_interpolate.cpp | 1 + 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/src/p_setup.cpp b/src/p_setup.cpp index 8aeca7b8b7..7ea4d9f154 100644 --- a/src/p_setup.cpp +++ b/src/p_setup.cpp @@ -255,6 +255,7 @@ void FLevelLocals::ClearPortals() void FLevelLocals::ClearLevelData() { + interpolator.ClearInterpolations(); // [RH] Nothing to interpolate on a fresh level. Thinkers.DestroyAllThinkers(); ClearAllSubsectorLinks(); // can't be done as part of the polyobj deletion process. @@ -290,10 +291,9 @@ void FLevelLocals::ClearLevelData() } ClearPortals(); - interpolator.ClearInterpolations(); // [RH] Nothing to interpolate on a fresh level. tagManager.Clear(); ClearTIDHashes(); - Behaviors.UnloadModules(); + if (SpotState) SpotState->Destroy(); SpotState = nullptr; ACSThinker = nullptr; FraggleScriptThinker = nullptr; diff --git a/src/r_data/r_interpolate.cpp b/src/r_data/r_interpolate.cpp index 874159c027..a5763627ed 100644 --- a/src/r_data/r_interpolate.cpp +++ b/src/r_data/r_interpolate.cpp @@ -429,6 +429,7 @@ void DSectorPlaneInterpolation::OnDestroy() { attached[i]->DelRef(); } + attached.Reset(); Super::OnDestroy(); }