Added null check for Macro metadata return to stop attempts to access null pointer when retrieving the macro's title.
#jira UE-20717 - Compiling a Blueprint that references a deleted Macro from a Custom Macro Library will crash the editor
[CL 2680816 by Michael Schoell in Main branch]
#jira UE-19729 - [CrashReport] UE4Editor_BlueprintGraph!UK2Node_VariableGet::GetNodeTitle() [k2node_variableget.cpp:267]
[CL 2680613 by Michael Schoell in Main branch]
SListViewSelectorDropdownMenu no longer requires any SSearchBox be supplied as a DefaultFocusWidget, it will safely ignore the concept.
PinTypeSelector now uses a ListView for the sub-menu when picking "Reference", "Class", "Asset ID", or "Class Asset ID".
Issues with being able to hit enter twice to select "Reference" have been resolved.
Various usability improvements with the sub-menu.
SSubMenuHandler::RequestSubMenuToggle now supports for immediate reaction.
Added SSubMenuHandler::IsSubMenuOpen
#jira UE-19936 - blueprint class search defaults to reference
[CL 2680504 by Michael Schoell in Main branch]
Merging
//depot/UE4-Orion/Engine/Source/Editor/UnrealEd/Private/Animation/DebugSkelMeshComponent.cpp
to //depot/UE4-Orion/Engine/Source/Editor/UnrealEd/Private/Animation/DebugSkelMeshComponent.cpp
[CL 2680323 by Lina Halper in Main branch]
Fixes/improvements for dependency preloading
- Move dependency lookups earlier in synchronous package load so that they happen BEFORE the source package has its linker created
- Put loose (non-map based) packages FIRST in the PAK file. Matches general access patterns better and gets higher pak seek contiguity.
[CL 2680002 by Graeme Thornton in Main branch]
#UE4 More correctly setting ForceNoResetLoaders when renaming away old graphs. Technically we only need to avoid resetting loadings when regenerating on load so that is what we are doing now.
--------
Integrated using branch Ue4-To-UE4-Fortnite-Simple (reversed) of change#2679917 by Bob.Tellez on 2015/09/03 22:45:05.
[CL 2679918 by Bob Tellez in Main branch]
#UE4 Fixed a bug where a blueprint compiling on load would have its loader reset, which would cause a pointer to it on the stack (in FKismetCompilerContext::Compile) to not have a valid export map to patch up later. While technically it shouldnt have to patch up a linker that was reset, there is not a good way to test if a linker has been detached and there does not seem to be a good reason to reset loaders here intentionally. This was causing a crash in PatchNewCDOIntoLinker.
--------
Integrated using branch Ue4-To-UE4-Fortnite-Simple (reversed) of change#2679906 by Bob.Tellez on 2015/09/03 22:27:56.
[CL 2679907 by Bob Tellez in Main branch]
Moved logic for deciding a read only graph from BlueprintEditor to BlueprintEditorUtils for more global access to the logic.
#jira UE-20536 - MathExpressionNode: Able to add reroute points inside subgraph
[CL 2678959 by Michael Schoell in Main branch]
Added console command for enabling/disabling the HLOD system
Changed/removed HLOD behaviour from build menu
Removed context menu from HLOD level treeview item
Double clicking a (build) LODActor or StaticMeshActor item in the HLOD outliner will now move the editor camera to the actor (just like the scene outliner)
[CL 2678787 by Jurre deBaare in Main branch]
ArrayProperty will no longer assume "()" is an empty array. This was a bug.
GameplayTag pins will no longer store "()" for empty sized arrays.
UserDefinedStructureEditor now uses a normal DetailsView instead of a StructureDetails view, leveraging the same code that supports local variables in Blueprints.
#jira UE-20381 - Adding Elements to multiple Struct Arrays of a specific variable type is unreliable
[CL 2678541 by Michael Schoell in Main branch]
Optimization is enabled by default but is an engine setting in case it needs to be disabled (bOptimizeAnimBlueprintMemberVariableAccess).
Expanded FExposedValueHandler to also contain an array of source & dest properties (copy records) to copy between. These are resolved to read/write addresses on init & a simple memcpy at runtime instead of calling the usual generated custom event.
Custom events are not added at all if all properties use copy records. The event may still be added & called however as mixed-mode access is still supported (i.e. a thunk and a memcpy to different pin properties).
Unfortunately this required initialization of all ExposedValueHandlers (as I didnt want to add the branch overhead of lazy init) so all the anim nodes have needed a small change to call their base class Initialize().
[CL 2678504 by Thomas Sarkanen in Main branch]
Remove SScalebox since it causes scaling issues with large amounts of gameplay tags
--------
Integrated using branch UE4-To-UE4-Orion (reversed) of change#2677822 by David.Ratti on 2015/09/02 18:29:09.
[CL 2677823 by David Ratti in Main branch]