Commit Graph

6263 Commits

Author SHA1 Message Date
matt peters
d4fd637609 IncrementalCook: Add FCookDependency::SettingsObject.
#rnx
#rb matt.breindel

[CL 33907177 by matt peters in ue5-main branch]
2024-05-24 17:18:49 -04:00
jordan hoffmann
1a75b4578c [CrashFix] crash when loose property is modified in the fixup tool
technically this shouldn't be possible since the string property is marked CPF_EditConst. There's a but that causes VerseStringProperties to ignore CPF_EditConst so users can edit loose string properties and that causes a crash. Regardless, this makes it so that even if the user somehow edits a loose property, it won't crash.
#jira UE-215695

[CL 33906237 by jordan hoffmann in ue5-main branch]
2024-05-24 16:50:46 -04:00
matt peters
3edc077d47 ConfigAccessTracking: Modify UObject::LoadConfig to take an OutAccessedValues parameter to record which fields would be accessed; used to track config dependencies of settings objects.
#rnx
#rb Josh.Adams

[CL 33901796 by matt peters in ue5-main branch]
2024-05-24 14:43:56 -04:00
matt peters
b482f56c03 Object.h: Update formatting of LoadConfig and SaveConfig to match current default formatting. Whitespace and NULL->nullptr changes only, no code changes.
#rnx

[CL 33898605 by matt peters in ue5-main branch]
2024-05-24 13:02:53 -04:00
jeanfrancois dube
cf0e5aa510 [OFPA] Don't consider objects with external packages as assets when choosing if SetEditorProperty can execute on external objects.
#jira UE-215347
#rb Sebastien.Lussier

[CL 33891708 by jeanfrancois dube in ue5-main branch]
2024-05-24 08:55:58 -04:00
robert manuszewski
01e68597e7 Removing support for multithreaded destruction of UObjects
#rb Johan.Torp

[CL 33890976 by robert manuszewski in ue5-main branch]
2024-05-24 08:03:59 -04:00
markus breyer
d4b4b1df0c Refactored TGlobalTrivialEmergentTypePtr to properly work with VShape
#rb andrew.scheidecker
#rnx

[CL 33880235 by markus breyer in ue5-main branch]
2024-05-23 19:12:46 -04:00
jordan hoffmann
d557375c7c [CrashFix] removed erronous code that was causing all transient objects to have IDOs, and also disabled IDOs for class default objects
#jira UE-213664
#jira UE-213682
[CrashFix] fixed a bug in CPFUO and in StaticDuplicate that was causing several objects to not get IDOs on reinstantiation
[Feature] added helper structs for enabling/disabling IDO flags on load and save
#jira UE-213135
#jira UE-213126
#jira UE-213908
#jira UE-213904
#rb Francis.Hurteau, Phillip.Kavan

[CL 33878733 by jordan hoffmann in ue5-main branch]
2024-05-23 18:36:23 -04:00
robert millar
df1e10047d Add new AUTORTFM macros which can be followed by braced blocks to make them work better with the debugger
e.g. UE_AUTORTFM_OPEN2{ ... code ... };

#rb neil.henning

[CL 33869184 by robert millar in ue5-main branch]
2024-05-23 14:22:32 -04:00
neil henning
b78caa8646 Fix the SubmitTool error about EmergentType.
[FYI] Markus.Breyer

#rnx

[CL 33863126 by neil henning in ue5-main branch]
2024-05-23 11:24:09 -04:00
markus breyer
5345f0f76e Removed template specialization TOptional<TNonNullPtr<OptionalType>> and replaced with the IntrusiveUnsetOptionalState mechanism instead
- so it behaves identically to the generic TOptional<T> and can be used in templates over TOptional<T> that expect consistent behavior regardless of T (e.g. the * operator will return T, the -> operator operates on T, not something inside of T)
- added convenience function T* GetRawPointerOrNull(const TOptional<TNonNullPtr<T>>&) to turn an `TOptional<TNonNullPtr<T>>` back into a nullable T*
- same for TOptional<TNonNullSubclassOf<T>>
- fixed up various use locations to adhere to the new behavior

#rb Steve.Robb
#rnx

[CL 33848151 by markus breyer in ue5-main branch]
2024-05-22 18:37:39 -04:00
markus breyer
c097254473 Convenience refactors in VerseVM
- moved the creation of the dummy VTask::EmergentType from the VVMAssembler to VTask::New
- added VProgram::ResetPackages, VNameValueMap::Reset, VMutableArray::Reset
- created new TGlobalDefaultedObjectEmergentTypePtr for creation and later substitution of VTask's emergent type

#rb russell.johnston
#rnx

[CL 33847732 by markus breyer in ue5-main branch]
2024-05-22 18:27:57 -04:00
jamie dale
d2b289c3af Don't crash when resolving a bogus FFieldPath
#rb Robert.Manuszewski
#rnx

[CL 33847627 by jamie dale in ue5-main branch]
2024-05-22 18:27:05 -04:00
bob tellez
02c1817f41 [Backout] - CL33804022
[FYI] Jamie.Dale
Original CL Desc
-----------------------------------------------------------------
Don't crash when resolving a bogus FFieldPath

#rb Robert.Manuszewski
#rnx

[CL 33844789 by bob tellez in ue5-main branch]
2024-05-22 17:10:09 -04:00
kevin macaulayvacher
56b180f830 Extend assert in SetLinker to provide more information about which objects are involved when there is a fatal mismatch between the object and its expected entry in the linker export table.
#rnx
#rb danny.couture
[FYI] Francis.Hurteau

[CL 33843990 by kevin macaulayvacher in ue5-main branch]
2024-05-22 16:53:06 -04:00
devin doucette
ab6c2ec936 Match properties by both name and type when loading into an IDO
#jira UE-211462
#rb Francis.Hurteau
#rnx

[CL 33843156 by devin doucette in ue5-main branch]
2024-05-22 16:33:42 -04:00
matt peters
687474ecb2 SavePackage: Add a cache for IsEditorOnlyObject so an object with a long outer chain above it and many objects below it will not cause a performance problem due to repeatedly searching the outer chain.
Refactor the TransientAssignments cache used by IsTransient and IsUnsaveable so that we can share storage and lookup time with the new cache for IsEditorOnlyObject.
#rnx
#rb Francis.Hurteau

[CL 33831788 by matt peters in ue5-main branch]
2024-05-22 11:43:00 -04:00
brandon schaefer
5dae6dbd9d Open around loading package
#rb neil.henning

[CL 33829038 by brandon schaefer in ue5-main branch]
2024-05-22 10:32:23 -04:00
robert manuszewski
2292691d8c Moving the final purge (GC) of UObjects to its own function inside garbage collection source file to hide GC internals from Obj.cpp
#rb Johan.Torp

[CL 33825119 by robert manuszewski in ue5-main branch]
2024-05-22 07:35:58 -04:00
matt breindel
b1db482e36 Disabling warning about too many console variable lookups when creating console variable cook dependencies.
[REVIEW] [at]*matt.peters
#rb Matt.Peters

[CL 33815531 by matt breindel in ue5-main branch]
2024-05-21 19:28:54 -04:00
matt peters
a0dddf9eea FCookDependency::LoadFromCompactBinary: fix assertion when compact binary has invalid value for the ECookDependency Type. LoadFromCompactBinary by contract should return false for invalid data rather than asserting.
#rnx
#rb matt.breindel

[CL 33812434 by matt peters in ue5-main branch]
2024-05-21 17:59:55 -04:00
matt breindel
00b9d5b26b Trivial TSAN fix to make a thread status bool atomic.
#jira UE-215091
[REVIEW] [at]*kevin.macaulayvacher
#rnx

#rb kevin.macaulayvacher

[CL 33809854 by matt breindel in ue5-main branch]
2024-05-21 17:05:52 -04:00
alan abram
b77c2fe5c5 Remove a short lived allocation of 2336 bytes when calling GetDefaultObjectName()
Previously, we would reserve space for 1024 characters, which in the internal FString builder in bumped up to 1168, and with TCHAR being a wide character that doubles to the 2336 total bytes requests. This allocation is then deleted at the end of the function.
#rb emanuel.masciarelli, Marc.Audy

[CL 33809010 by alan abram in ue5-main branch]
2024-05-21 16:48:17 -04:00
jamie dale
20397caf5c Don't crash when resolving a bogus FFieldPath
#rb Robert.Manuszewski
#rnx

[CL 33808247 by jamie dale in ue5-main branch]
2024-05-21 16:28:35 -04:00
matt peters
c13e777327 IterativeCooker: Add build dependency on CoreRedirects that affect a package's runtime dependencies. The names of runtime dependencies are stored in the package's imports, so if the change names due to a redirect then we need to recook them.
#rnx
#rb kevin.macaulayvacher

[CL 33806157 by matt peters in ue5-main branch]
2024-05-21 15:41:10 -04:00