The new driver detection method (using the setup API) did not set the UserDriverVersion in the same way as the other methods, so the function which extracted the number used for comparison didn't work correctly.
Also removed a bogus cvar from BaseEngine.ini while we're at it (r.DetectAndWarnOfBadDrivers has been removed from the code years ago).
#jira UE-168877
#rnx
#lockdown Michal.Valient
#preflight https://horde.devtools.epicgames.com/job/6361413fce68f7cbb68dd599
#rb Chris.Waters
[CL 22890134 by mihnea balta in ue5-main branch]
Moved GetTypeHash function to be hidden friend instead of put directly in global namespace.
Note that the function/operator needs to be fully inlined in the type or placed in the cpp. If the function is added as friend but then implemented outside the type then hidden friend optimization won't work.
This should improve compile time somewhat according to msvc devs.
#rb Steve.Robb
#preflight 6360b7052b5338aceb26471b
[CL 22889837 by henrik karlsson in ue5-main branch]
This is the majority of the fixes however a few systems have been left for individual CLs.
#jira UE-166285
#preflight 63616567ce676ae868034ab0
#review-22869010
[CL 22889316 by Stephen Holmes in ue5-main branch]
[FYI] Steve.Robb
Original CL Desc
-----------------------------------------------------------------
TMap and TSet can now be declared as members with forward-declared key and value parameters.
KeyFuncs::KeyInitType and KeyFuncs::ElementInitType typedefs are no longer used and user-defined KeyFuncs do not need to provide them. Deprecated placeholders for these typedefs exist though they may not be defined exactly as they were before. A new KeyType typedef needs to be provided by custom KeyFuncs which don't already inherit from BaseKeyFuncs or TDefaultMapKeyFuncs.
KeyConstPointerType, KeyInitType, ValueInitType and ElementInitType typedefs have been deprecated across TMap, TSet and TSortedMap. Regular C++ parameter-passing semantics should be used instead (const T& Ref or T Value, depending on T).
Added missing FSetElementId::operator!=().
[FYI] steve.robb
#rb james.hopkin
[FYI] henrik.karlsson
#preflight 635a56c15d49a96f7b31938f
[CL 22850782 by graeme thornton in ue5-main branch]
Change WebRemoteControlInternalUtils.cpp to use WIDECHAR
[FYI] aurel.cordonnier
Original CL Desc
-----------------------------------------------------------------
[Backout] - CL22811007
[FYI] Justin.Marcus
Original CL Desc
-----------------------------------------------------------------
Fix JSON Reader UTF8 parsing.
Add ability to use JSON Reader with a string view.
Add explicit UTF8 smoke tests.
Change uses of TJsonReader<UCS2CHAR> to TJsonReader<WIDECHAR> since TStringBuilder<UCS2CHAR> doesn't compile.
Change uses of TJsonReader<char> to TJsonReader<UTF8CHAR>. There isn't much use for TJsonReader<char> as ASCII is a subset of UTF8 so TJsonReader<UTF8CHAR> is always preferable.
#rb [at]Steve.Robb
#preflight https://horde.devtools.epicgames.com/job/635980ead86d91ca2cfabc77
[CL 22835909 by justin marcus in ue5-main branch]
This is required for c++ modules/header units in order to decide if constexpr/const value should be available to outside module
#preflight 635c0b5c1803be35c767e0ea
#rb none
[CL 22835882 by henrik karlsson in ue5-main branch]
[FYI] Justin.Marcus
Original CL Desc
-----------------------------------------------------------------
Fix JSON Reader UTF8 parsing.
Add ability to use JSON Reader with a string view.
Add explicit UTF8 smoke tests.
Change uses of TJsonReader<UCS2CHAR> to TJsonReader<WIDECHAR> since TStringBuilder<UCS2CHAR> doesn't compile.
Change uses of TJsonReader<char> to TJsonReader<UTF8CHAR>. There isn't much use for TJsonReader<char> as ASCII is a subset of UTF8 so TJsonReader<UTF8CHAR> is always preferable.
#rb [at]Steve.Robb
#preflight https://horde.devtools.epicgames.com/job/635980ead86d91ca2cfabc77
[CL 22823854 by aurel cordonnier in ue5-main branch]
Add ability to use JSON Reader with a string view.
Add explicit UTF8 smoke tests.
Change uses of TJsonReader<UCS2CHAR> to TJsonReader<WIDECHAR> since TStringBuilder<UCS2CHAR> doesn't compile.
Change uses of TJsonReader<char> to TJsonReader<UTF8CHAR>. There isn't much use for TJsonReader<char> as ASCII is a subset of UTF8 so TJsonReader<UTF8CHAR> is always preferable.
#rb [at]Steve.Robb
#preflight https://horde.devtools.epicgames.com/job/635980ead86d91ca2cfabc77
[CL 22823191 by justin marcus in ue5-main branch]