@@ -98,7 +98,7 @@ void UFlowSubsystem::StartRootFlow(UObject* Owner, UFlowAsset* FlowAsset, const
9898
9999UFlowAsset* UFlowSubsystem::CreateRootFlow (UObject* Owner, UFlowAsset* FlowAsset, const bool bAllowMultipleInstances, const FString& NewInstanceName)
100100{
101- for (const TPair<UFlowAsset*, TWeakObjectPtr<UObject>>& RootInstance : RootInstances)
101+ for (const TPair<UFlowAsset*, TWeakObjectPtr<UObject>>& RootInstance : ObjectPtrDecay ( RootInstances) )
102102 {
103103 if (Owner == RootInstance.Value .Get () && FlowAsset == RootInstance.Key ->GetTemplateAsset ())
104104 {
@@ -271,7 +271,7 @@ void UFlowSubsystem::RemoveInstancedTemplate(UFlowAsset* Template)
271271TMap<UObject*, UFlowAsset*> UFlowSubsystem::GetRootInstances () const
272272{
273273 TMap<UObject*, UFlowAsset*> Result;
274- for (const TPair<UFlowAsset*, TWeakObjectPtr<UObject>>& RootInstance : RootInstances)
274+ for (const TPair<UFlowAsset*, TWeakObjectPtr<UObject>>& RootInstance : ObjectPtrDecay ( RootInstances) )
275275 {
276276 Result.Emplace (RootInstance.Value .Get (), RootInstance.Key );
277277 }
@@ -281,7 +281,7 @@ TMap<UObject*, UFlowAsset*> UFlowSubsystem::GetRootInstances() const
281281TSet<UFlowAsset*> UFlowSubsystem::GetRootInstancesByOwner (const UObject* Owner) const
282282{
283283 TSet<UFlowAsset*> Result;
284- for (const TPair<UFlowAsset*, TWeakObjectPtr<UObject>>& RootInstance : RootInstances)
284+ for (const TPair<UFlowAsset*, TWeakObjectPtr<UObject>>& RootInstance : ObjectPtrDecay ( RootInstances) )
285285 {
286286 if (Owner && RootInstance.Value == Owner)
287287 {
@@ -334,7 +334,7 @@ void UFlowSubsystem::OnGameSaved(UFlowSaveGame* SaveGame)
334334 }
335335
336336 // save Flow Graphs
337- for (const TPair<UFlowAsset*, TWeakObjectPtr<UObject>>& RootInstance : RootInstances)
337+ for (const TPair<UFlowAsset*, TWeakObjectPtr<UObject>>& RootInstance : ObjectPtrDecay ( RootInstances) )
338338 {
339339 if (RootInstance.Key && RootInstance.Value .IsValid ())
340340 {
0 commit comments