Skip to content

Commit 3372a31

Browse files
Add RequiredParamsClass validation to prevent crash with UFlowNode_CallOwnerFunction when user change owner class to default and then press Refresh (#191)
1 parent 4c02376 commit 3372a31

1 file changed

Lines changed: 7 additions & 2 deletions

File tree

Source/Flow/Private/Nodes/World/FlowNode_CallOwnerFunction.cpp

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -159,6 +159,11 @@ bool UFlowNode_CallOwnerFunction::TryAllocateParamsInstance()
159159
const UClass* ExistingParamsClass = GetExistingParamsClass();
160160
const UClass* RequiredParamsClass = GetRequiredParamsClass();
161161

162+
if (!IsValid(RequiredParamsClass))
163+
{
164+
return false;
165+
}
166+
162167
const bool bNeedsAllocateParams =
163168
!IsValid(ExistingParamsClass) ||
164169
ExistingParamsClass != RequiredParamsClass;
@@ -182,14 +187,14 @@ UClass* UFlowNode_CallOwnerFunction::GetRequiredParamsClass() const
182187
const UClass* ExpectedOwnerClass = TryGetExpectedOwnerClass();
183188
if (!IsValid(ExpectedOwnerClass))
184189
{
185-
return UFlowOwnerFunctionParams::StaticClass();
190+
return nullptr;
186191
}
187192

188193
const FName FunctionNameAsName = FunctionRef.GetFunctionName();
189194

190195
if (FunctionNameAsName.IsNone())
191196
{
192-
return UFlowOwnerFunctionParams::StaticClass();
197+
return nullptr;
193198
}
194199

195200
UClass* RequiredParamsClass = GetParamsClassForFunctionName(*ExpectedOwnerClass, FunctionNameAsName);

0 commit comments

Comments
 (0)