From b45418d3636b4e286fbdb00e9708d30c8149d64e Mon Sep 17 00:00:00 2001 From: "alexey.lysiuk" Date: Wed, 22 Feb 2017 12:21:04 +0200 Subject: [PATCH] Removed problematic assert() from garbage collector DObject::GetClass() cannot be called from Barrier() function Lazy evaluation it contains screwed up object type if called from base class constructor Example: DSeqSectorNode::DSeqSectorNode() -> DSeqNode::DSeqNode() -> GC::WriteBarrier() -> Barrier() https://mantis.zdoom.org/view.php?id=299 --- src/dobjgc.cpp | 1 - 1 file changed, 1 deletion(-) diff --git a/src/dobjgc.cpp b/src/dobjgc.cpp index 4fe609a5a..3d683aff1 100644 --- a/src/dobjgc.cpp +++ b/src/dobjgc.cpp @@ -544,7 +544,6 @@ void FullGC() void Barrier(DObject *pointing, DObject *pointed) { - assert(pointed->GetClass() != nullptr); assert(pointing == NULL || (pointing->IsBlack() && !pointing->IsDead())); assert(pointed->IsWhite() && !pointed->IsDead()); assert(State != GCS_Finalize && State != GCS_Pause);