From f338fd62f273c8ac2aeb79dc947639f40b1e8f82 Mon Sep 17 00:00:00 2001 From: morden Date: Sat, 19 Aug 2017 18:57:55 -0400 Subject: [PATCH] Removed an unessacary player controller check in CreateSession Added a valid player controller check and instant fail if not true. Former-commit-id: b21de68a2c16fde8eae56c6d92da30d5fb8955d7 --- .../CreateSessionCallbackProxyAdvanced.cpp | 19 ++++++++++++++++--- 1 file changed, 16 insertions(+), 3 deletions(-) diff --git a/AdvancedSessions/Source/AdvancedSessions/Private/CreateSessionCallbackProxyAdvanced.cpp b/AdvancedSessions/Source/AdvancedSessions/Private/CreateSessionCallbackProxyAdvanced.cpp index 18cad0f..df4e955 100644 --- a/AdvancedSessions/Source/AdvancedSessions/Private/CreateSessionCallbackProxyAdvanced.cpp +++ b/AdvancedSessions/Source/AdvancedSessions/Private/CreateSessionCallbackProxyAdvanced.cpp @@ -79,8 +79,21 @@ void UCreateSessionCallbackProxyAdvanced::Activate() } - if (!bDedicatedServer && PlayerControllerWeakPtr.IsValid() && Helper.UserID.IsValid()) - Sessions->CreateSession(*Helper.UserID, GameSessionName, Settings); + if (!bDedicatedServer ) + { + if (PlayerControllerWeakPtr.IsValid() && Helper.UserID.IsValid()) + { + Sessions->CreateSession(*Helper.UserID, GameSessionName, Settings); + } + else + { + FFrame::KismetExecutionMessage(TEXT("Invalid Player controller when attempting to start a session"), ELogVerbosity::Warning); + Sessions->ClearOnCreateSessionCompleteDelegate_Handle(CreateCompleteDelegateHandle); + + // Fail immediately + OnFailure.Broadcast(); + } + } else Sessions->CreateSession(0, GameSessionName, Settings); @@ -129,7 +142,7 @@ void UCreateSessionCallbackProxyAdvanced::OnCreateCompleted(FName SessionName, b void UCreateSessionCallbackProxyAdvanced::OnStartCompleted(FName SessionName, bool bWasSuccessful) { FOnlineSubsystemBPCallHelperAdvanced Helper(TEXT("StartSessionCallback"), GEngine->GetWorldFromContextObject(WorldContextObject, EGetWorldErrorMode::LogAndReturnNull)); - Helper.QueryIDFromPlayerController(PlayerControllerWeakPtr.Get()); + //Helper.QueryIDFromPlayerController(PlayerControllerWeakPtr.Get()); if (Helper.OnlineSub != nullptr) {