Back out changelist 2494280

That change introduced a many issues.

[CL 2496652 by Maciej Mroz in Main branch]
This commit is contained in:
Maciej Mroz
2015-03-30 21:00:55 -04:00
committed by maciej.mroz@epicgames.com
parent 57f43e8073
commit eb2fb74071
2 changed files with 14 additions and 17 deletions

View File

@@ -1587,16 +1587,14 @@ void FKismetCompilerContext::FinishCompilingFunction(FKismetFunctionContext& Con
Function->ReturnValueOffset = Property->GetOffset_ForUFunction();
}
}
if (!Property->HasAnyPropertyFlags(CPF_ZeroConstructor) && !Function->FirstPropertyToInit)
else
{
Function->FirstPropertyToInit = Property;
Function->FunctionFlags |= FUNC_HasDefaults;
}
if (!Property->HasAnyPropertyFlags(CPF_Parm) && Function->FirstPropertyToInit)
{
break;
if (!Property->HasAnyPropertyFlags(CPF_ZeroConstructor))
{
Function->FirstPropertyToInit = Property;
Function->FunctionFlags |= FUNC_HasDefaults;
break;
}
}
}

View File

@@ -3747,7 +3747,6 @@ void UFunction::InitializeDerivedMembers()
ParmsSize = 0;
ReturnValueOffset = MAX_uint16;
const bool bRequiresInitialization = (FunctionFlags & FUNC_HasDefaults) != 0;
for (UProperty* Property = dynamic_cast<UProperty*>(Children); Property; Property = dynamic_cast<UProperty*>(Property->Next))
{
if (Property->PropertyFlags & CPF_Parm)
@@ -3759,15 +3758,15 @@ void UFunction::InitializeDerivedMembers()
ReturnValueOffset = Property->GetOffset_ForUFunction();
}
}
if (bRequiresInitialization
&& !Property->HasAnyPropertyFlags(CPF_ZeroConstructor)
&& !FirstPropertyToInit)
else if ((FunctionFlags & FUNC_HasDefaults) != 0)
{
FirstPropertyToInit = Property;
if (!Property->HasAnyPropertyFlags(CPF_ZeroConstructor))
{
FirstPropertyToInit = Property;
break;
}
}
if (!Property->HasAnyPropertyFlags(CPF_Parm) && (FirstPropertyToInit || !bRequiresInitialization))
else
{
break;
}