diff --git a/Client/Content/TurboLinkTest/UI/WBP_TimeService_BP.uasset b/Client/Content/TurboLinkTest/UI/WBP_TimeService_BP.uasset index 1dd85ce..f50e058 100644 Binary files a/Client/Content/TurboLinkTest/UI/WBP_TimeService_BP.uasset and b/Client/Content/TurboLinkTest/UI/WBP_TimeService_BP.uasset differ diff --git a/Client/Content/TurboLinkTest/UI/WBP_TimeService_CPP.uasset b/Client/Content/TurboLinkTest/UI/WBP_TimeService_CPP.uasset index 9bab038..f79ac44 100644 Binary files a/Client/Content/TurboLinkTest/UI/WBP_TimeService_CPP.uasset and b/Client/Content/TurboLinkTest/UI/WBP_TimeService_CPP.uasset differ diff --git a/Client/Content/TurboLinkTest/UI/WBP_UserService_BP.uasset b/Client/Content/TurboLinkTest/UI/WBP_UserService_BP.uasset index b50269c..9f271ab 100644 Binary files a/Client/Content/TurboLinkTest/UI/WBP_UserService_BP.uasset and b/Client/Content/TurboLinkTest/UI/WBP_UserService_BP.uasset differ diff --git a/Client/Source/TurboLinkTest/TimeTestWidget.cpp b/Client/Source/TurboLinkTest/TimeTestWidget.cpp index 9a75567..4e4bdae 100644 --- a/Client/Source/TurboLinkTest/TimeTestWidget.cpp +++ b/Client/Source/TurboLinkTest/TimeTestWidget.cpp @@ -84,11 +84,14 @@ void UTimeTestWidget::OnShutdownServiceButtonClicked() { if (TimeServiceClient!=nullptr) { + TimeService->RemoveClient(TimeServiceClient); + TimeServiceClient->Shutdown(); TimeServiceClient = nullptr; } - TimeService->Shutdown(); + TimeService->OnServiceStateChanged.RemoveDynamic(this, &UTimeTestWidget::OnTimeServiceStateChanged); + UTurboLinkGrpcUtilities::GetTurboLinkGrpcManager()->ReleaseService(TimeService); TimeService = nullptr; UpdateControlState(); @@ -116,6 +119,8 @@ void UTimeTestWidget::OnShutdownClientButtonClicked() { if (TimeServiceClient != nullptr) { + TimeService->RemoveClient(TimeServiceClient); + TimeServiceClient->Shutdown(); TimeServiceClient = nullptr; diff --git a/Client/Source/TurboLinkTest/TurboLinkTestController.cpp b/Client/Source/TurboLinkTest/TurboLinkTestController.cpp index b94dc96..da6778d 100644 --- a/Client/Source/TurboLinkTest/TurboLinkTestController.cpp +++ b/Client/Source/TurboLinkTest/TurboLinkTestController.cpp @@ -51,11 +51,14 @@ void ATurboLinkTestController::ShutdownTimeService_Implementation() { if (TimeServiceClient != nullptr) { + TimeService->RemoveClient(TimeServiceClient); + TimeServiceClient->Shutdown(); TimeServiceClient = nullptr; } - TimeService->Shutdown(); + TimeService->OnServiceStateChanged.RemoveDynamic(this, &ATurboLinkTestController::OnTimeServiceStateChanged); + UTurboLinkGrpcUtilities::GetTurboLinkGrpcManager()->ReleaseService(TimeService); TimeService = nullptr; bIsClientCreated = false; @@ -84,6 +87,8 @@ void ATurboLinkTestController::ShutdownTimeClient_Implementation() { if (TimeServiceClient != nullptr) { + TimeService->RemoveClient(TimeServiceClient); + TimeServiceClient->Shutdown(); TimeServiceClient = nullptr;