From e61f43b2cd18e2eab2df58a82787b6d4037eb1e8 Mon Sep 17 00:00:00 2001 From: Michael Delva Date: Thu, 6 Feb 2025 09:19:10 +0100 Subject: [PATCH 1/2] Fixed crash in interaction ability --- .../Interaction/Abilities/GBFGameplayAbility_Interact.cpp | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/Source/GameBaseFramework/Private/Interaction/Abilities/GBFGameplayAbility_Interact.cpp b/Source/GameBaseFramework/Private/Interaction/Abilities/GBFGameplayAbility_Interact.cpp index 590ca8b9..8786358e 100644 --- a/Source/GameBaseFramework/Private/Interaction/Abilities/GBFGameplayAbility_Interact.cpp +++ b/Source/GameBaseFramework/Private/Interaction/Abilities/GBFGameplayAbility_Interact.cpp @@ -102,14 +102,17 @@ void UGBFGameplayAbility_Interact::UpdateInteractableOptions( const TArray< UGBF TArray< InteractableTargetInfos > target_infos; GatherTargetInfos( target_infos, interactable_components ); - typedef TMap< TWeakObjectPtr< AActor >, TWeakObjectPtr< UGBFInteractableComponent > > TActorToComponentMap; + typedef TMap< TWeakObjectPtr< AActor >, UGBFInteractableComponent * > TActorToComponentMap; const auto fill_actor_to_component_map = [ & ]( TActorToComponentMap & map ) { map.Reserve( InteractableTargetContexts.Num() ); for ( const auto & [ actor, context ] : InteractableTargetContexts ) { - map.Emplace( actor, context.WidgetInfosHandle.InteractableComponent ); + if ( auto * component = context.WidgetInfosHandle.InteractableComponent.Get() ) + { + map.Emplace( actor, component ); + } } }; From 6e24b5331f9858b075573789afe58cd328684537 Mon Sep 17 00:00:00 2001 From: "michael.delva" Date: Fri, 7 Feb 2025 09:47:23 +0100 Subject: [PATCH 2/2] clang-format --- .../Interaction/Abilities/GBFGameplayAbility_Interact.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Source/GameBaseFramework/Private/Interaction/Abilities/GBFGameplayAbility_Interact.cpp b/Source/GameBaseFramework/Private/Interaction/Abilities/GBFGameplayAbility_Interact.cpp index 8786358e..a3ba4faa 100644 --- a/Source/GameBaseFramework/Private/Interaction/Abilities/GBFGameplayAbility_Interact.cpp +++ b/Source/GameBaseFramework/Private/Interaction/Abilities/GBFGameplayAbility_Interact.cpp @@ -111,7 +111,7 @@ void UGBFGameplayAbility_Interact::UpdateInteractableOptions( const TArray< UGBF { if ( auto * component = context.WidgetInfosHandle.InteractableComponent.Get() ) { - map.Emplace( actor, component ); + map.Emplace( actor, component ); } } };