From a0f9a6a71e35ed16418b9b553d85ad3e87245277 Mon Sep 17 00:00:00 2001 From: Steve Streeting Date: Wed, 29 May 2024 11:49:43 +0100 Subject: [PATCH] Fix repeatedly setting datatable on BPs when not changed --- .../Private/StevesFixedDataTableCustomisationLayout.cpp | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/Source/StevesUEHelpersEd/Private/StevesFixedDataTableCustomisationLayout.cpp b/Source/StevesUEHelpersEd/Private/StevesFixedDataTableCustomisationLayout.cpp index 73cfad0..1fa1213 100644 --- a/Source/StevesUEHelpersEd/Private/StevesFixedDataTableCustomisationLayout.cpp +++ b/Source/StevesUEHelpersEd/Private/StevesFixedDataTableCustomisationLayout.cpp @@ -38,7 +38,12 @@ void FStevesFixedDataTableCustomisationLayout::CustomizeHeader(TSharedRefGetMetaData(TEXT("DataTable")); if (UDataTable* DataTable = LoadObject(nullptr, *DataTablePath, nullptr)) { - DataTablePropertyHandle->SetValue(DataTable); + UObject* Existing = nullptr; + const bool TablePicked = DataTablePropertyHandle->GetValue(Existing) == FPropertyAccess::Success; + if (!TablePicked || Existing != DataTable) + { + DataTablePropertyHandle->SetValue(DataTable); + } } else {