瀏覽代碼

Field resolution compiler crash fix

Hunter Bridges 3 年之前
父節點
當前提交
d30fafb702
共有 1 個文件被更改,包括 5 次插入0 次删除
  1. 5 0
      IDEHelper/Compiler/BfExprEvaluator.cpp

+ 5 - 0
IDEHelper/Compiler/BfExprEvaluator.cpp

@@ -5000,7 +5000,12 @@ BfTypedValue BfExprEvaluator::LoadField(BfAstNode* targetSrc, BfTypedValue targe
 	{
 	{
 		if ((fieldInstance->mResolvedType == NULL) ||
 		if ((fieldInstance->mResolvedType == NULL) ||
 			(!fieldDef->mIsStatic))
 			(!fieldDef->mIsStatic))
+		{
 			mModule->PopulateType(typeInstance, BfPopulateType_Data);
 			mModule->PopulateType(typeInstance, BfPopulateType_Data);
+
+			// Update fieldInstance pointer as it may have moved
+			fieldInstance = &typeInstance->mFieldInstances[fieldDef->mIdx];
+		}
 	}
 	}
 
 
 	if (fieldInstance->mResolvedType == NULL)
 	if (fieldInstance->mResolvedType == NULL)