Mirror 4363197 from Dev-Framework

Perform a placeholder resolve pass immediately after the CDO has been serialized
#rb Mike.Beach
#jira UE-62928

#ROBOMERGE-SOURCE: CL 4433763 in //UE4/Release-4.21/...
#ROBOMERGE-BOT: RELEASE (Release-4.21 -> Release-Staging-4.21)

[CL 4433765 by dan oconnor in Staging-4.21 branch]
This commit is contained in:
dan oconnor
2018-10-05 17:28:13 -04:00
parent 82494eab03
commit 2ca87224e1
2 changed files with 132 additions and 71 deletions
@@ -80,6 +80,7 @@ class FLinkerLoad
friend class UObject;
friend class UPackageMap;
friend struct FAsyncPackage;
friend struct FResolvingExportTracker;
protected:
/** Linker loading status. */
enum ELinkerStatus
@@ -1081,6 +1082,9 @@ private:
*/
void ResolveDeferredExports(UClass* LoadClass);
/** Called when a class is loaded and its now safe to load deferred instances */
void ResolvePlaceholder(ULinkerPlaceholderExportObject* Placeholder);
/** Helper function to recursively resolve placeholders that were waiting for their outer */
void ResolvedDeferredSubobjects(ULinkerPlaceholderExportObject* OwningPlaceholder);