diff --git a/IDEHelper/Compiler/BfExprEvaluator.cpp b/IDEHelper/Compiler/BfExprEvaluator.cpp index 9c40d1d2..6678b989 100644 --- a/IDEHelper/Compiler/BfExprEvaluator.cpp +++ b/IDEHelper/Compiler/BfExprEvaluator.cpp @@ -5000,7 +5000,12 @@ BfTypedValue BfExprEvaluator::LoadField(BfAstNode* targetSrc, BfTypedValue targe { if ((fieldInstance->mResolvedType == NULL) || (!fieldDef->mIsStatic)) + { mModule->PopulateType(typeInstance, BfPopulateType_Data); + + // Update fieldInstance pointer as it may have moved + fieldInstance = &typeInstance->mFieldInstances[fieldDef->mIdx]; + } } if (fieldInstance->mResolvedType == NULL)