From 9988dec99dd833c53800321cab822ec34f567544 Mon Sep 17 00:00:00 2001 From: Brian Fiete Date: Sun, 19 Jan 2025 08:38:52 -0800 Subject: [PATCH] Rebuild correct type with CE FastFinish --- IDEHelper/Compiler/CeMachine.cpp | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/IDEHelper/Compiler/CeMachine.cpp b/IDEHelper/Compiler/CeMachine.cpp index df4bb088..c614d1dc 100644 --- a/IDEHelper/Compiler/CeMachine.cpp +++ b/IDEHelper/Compiler/CeMachine.cpp @@ -7806,10 +7806,15 @@ bool CeContext::Execute(CeFunction* startFunction, uint8* startStackPtr, uint8* SpecialCheck: if (*fastFinishPtr) { + BfTypeInstance* rebuildType = NULL; if ((mCurModule != NULL) && (mCurModule->mCurTypeInstance != NULL)) + rebuildType = mCurModule->mCurTypeInstance; + if ((mCurEmitContext != NULL) && (mCurEmitContext->mType != NULL)) + rebuildType = mCurEmitContext->mType->ToTypeInstance(); + if (rebuildType != NULL) { - mCurModule->mCurTypeInstance->mRebuildFlags = (BfTypeRebuildFlags)(mCurModule->mCurTypeInstance->mRebuildFlags | BfTypeRebuildFlag_ConstEvalCancelled); - mCurModule->DeferRebuildType(mCurModule->mCurTypeInstance); + rebuildType->mRebuildFlags = (BfTypeRebuildFlags)(rebuildType->mRebuildFlags | BfTypeRebuildFlag_ConstEvalCancelled); + mCurModule->DeferRebuildType(rebuildType); } if (*cancelingPtr) {