This would try and get the value of the outer array property (for the inner array value) using FObjectBaseAddress::ObjectOrStruct as the start address, however for class sparse data FObjectBaseAddress::ObjectOrStruct was set to the CDO of the class that owns the sparse data, rather than the start of the sparse data itself. This resulted in a crash as it would try and read garbage from the CDO.
This change removes FObjectBaseAddress::ObjectOrStruct and FObjectBaseAddress::bIsStruct, in favor of storing FObjectBaseAddress::Object (if not editing a struct) and FObjectBaseAddress::StructAddress. FObjectBaseAddress::StructAddress always points to the thing that actually contains FObjectBaseAddress::BaseAddress, which allows the ImportText code to get the correct offset for the array property within the sparse data instance.
#jira
#rb Sebastian.Nordgren
#preflight 61a59b104f5d65edc3a8564b
#rnx
#ROBOMERGE-AUTHOR: jamie.dale
#ROBOMERGE-SOURCE: CL 18326295 via CL 18328452 via CL 18328534 via CL 18328607 via CL 18330452 via CL 18330516
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v895-18170469)
[CL 18330630 by jamie dale in ue5-release-engine-test branch]
https://p4-swarm.epicgames.net/reviews/15934265
#rb MattK
#jira none
#ushell-cherrypick of 15934265 by swarm
#ushell-cherrypick of 16060267 by Martin.Sevigny
[CL 16063439 by Martin Sevigny in ue5-main branch]
This makes it possible to declare a UPROPERTY like so:
UPROPERTY(EditAnywhere, meta = (GetKeyOptions="GetValidItemKeys"))
TMap<FString, FString> MapOfItems;
and have the dropdown appear only on the key field.
#rb Lauren.Barnes
#fyi Vincent.Gauthier,Sebastian.Nordgren
#preflight 606229ea57aca40001ff1441
[CL 15855122 by Luke Thatcher in ue5-main branch]
The issue is that FPropertyHandleBase does not have a very long lifetime, so this instance was getting ref counted and deleted when trying to be used the next frame.
#robomerge Release-5.0-EarlyAccess
#jira UE-110463
#rb paul.chipchase
[CL 15711948 by sebastian nordgren in ue5-main branch]
Fixed PreviewSceneCustomization causing reset to default to be deferred.
#jira UE-109160
#rb lauren.barnes
[CL 15623076 by sebastian nordgren in ue5-main branch]
Added test actor to PropertyEditorTestObject.h to allow for testing actor things, like this GetOptions multiselection bug.
Fixed whitespace errors caused by mismerge.
#jira UE-109745
#rb paul.chipchase
[CL 15604138 by sebastian nordgren in ue5-main branch]
FPropertyHandleImpl also no longer causes an infinite loop of deferred actions when a custom reset to default is set on a property row.
#rb lauren.barnes
#fyi kiaran.ritchie
[CL 14842839 by sebastian nordgren in ue5-main branch]