瀏覽代碼

Fixed double deletion issue with mParamNameMap

Brian Fiete 3 年之前
父節點
當前提交
6cfd027362
共有 1 個文件被更改,包括 3 次插入1 次删除
  1. 3 1
      IDEHelper/Compiler/BfSystem.cpp

+ 3 - 1
IDEHelper/Compiler/BfSystem.cpp

@@ -3181,9 +3181,10 @@ void BfSystem::AddToCompositePartial(BfPassInstance* passInstance, BfTypeDef* co
 		}
 		else
 		{
-			newMethod = new BfMethodDef();		
+			newMethod = new BfMethodDef();
 			*newMethod = *method;
 		}
+		method->mParamNameMap = NULL;
 		newMethod->mIdx = (int)typeDef->mMethods.size();
 		for (int paramIdx = 0; paramIdx < (int)newMethod->mParams.size(); paramIdx++)		
 		{
@@ -3408,6 +3409,7 @@ void BfSystem::CopyTypeDef(BfTypeDef* typeDef, BfTypeDef* fromTypeDef)
 			methodDef = new BfMethodDef();
 			*methodDef = *fromMethodDef;
 		}
+		fromMethodDef->mParamNameMap = NULL;
 
 		if (methodDef->mDeclaringType == fromTypeDef)
 			methodDef->mDeclaringType = typeDef;