Fix crash when serializing(saving) FSkeletalMeshImportData cause by code not returning the proper UE version for the bulk data.

#jira UE-167443 , UE-167493
#rb jeanluc.corenthin
#rnx
#preflight 63612bde2b5338aceb3ddd56

[CL 22883134 by Alexis Matte in ue5-main branch]
This commit is contained in:
Alexis Matte
2022-11-01 11:05:02 -04:00
parent 35188549a7
commit 2a9bfb7eef

View File

@@ -1577,24 +1577,22 @@ void FBulkData::GetBulkDataVersions(FArchive& InlineArchive, FPackageFileVersion
EPackageSegment Segment;
bool bExternal;
if (UE::TryGetPackageNameFromChunkId(BulkChunkId, PackageName, Segment, bExternal) == false)
if (UE::TryGetPackageNameFromChunkId(BulkChunkId, PackageName, Segment, bExternal))
{
return;
}
IPackageResourceManager& ResourceMgr = IPackageResourceManager::Get();
IPackageResourceManager& ResourceMgr = IPackageResourceManager::Get();
if (TUniquePtr<FArchive> Ar = ResourceMgr.OpenReadExternalResource(EPackageExternalResource::WorkspaceDomainFile, PackageName.ToString()))
{
FPackageFileSummary Summary;
*Ar << Summary;
if (Ar->IsError() == false && Summary.Tag == PACKAGE_FILE_TAG)
if (TUniquePtr<FArchive> Ar = ResourceMgr.OpenReadExternalResource(EPackageExternalResource::WorkspaceDomainFile, PackageName.ToString()))
{
OutUEVersion = Summary.GetFileVersionUE();
OutLicenseeUEVersion = Summary.GetFileVersionLicenseeUE();
OutCustomVersions = Summary.GetCustomVersionContainer();
return;
FPackageFileSummary Summary;
*Ar << Summary;
if (Ar->IsError() == false && Summary.Tag == PACKAGE_FILE_TAG)
{
OutUEVersion = Summary.GetFileVersionUE();
OutLicenseeUEVersion = Summary.GetFileVersionLicenseeUE();
OutCustomVersions = Summary.GetCustomVersionContainer();
return;
}
}
}