The regression was introduced a few weeks ago when fixing another bug.
The issue was that conversion functions (between float and string) using the current regionnal settings were introduced in the graph pins, but this kind of conversion is done in a lot of places and does not all support the different type of decimal separator ('.' or ','). So those conversion functions were not supporting the new format of decimal they were receiving.
Also, while the bug is mentionning issue with float, it was existing also for vector.
Bonus: remove a bit of duplicated code.
#jira UE-162993, UE-159512
#rb jamie.dale massimo.tristano patrick.boutot
#test In blueprint/niagara/material, played with node using float, vector, rotator, to ensure that everything was behaving as expected with 2 regional settings (english with '.' decimal separator, french with ',' separator).
Validated that the initial bug (selecting default value with the mouse but not changing it was adding an entry in the undo stack), was still fix.
#preflight 6329be440a4ad044de92d0c9
[CL 22094319 by yohann dossantos in ue5-main branch]
Another consequence of using doubles everywhere in Blueprints is that delegate binding can fail if a native delegate signature uses floats. The initial attempt at fixing this would update modify function pins in the current Blueprint to use PC_Float as a subcategory if it was used in a delegate binding. Unfortunately, this doesn't work if we're binding to a function in a different BP class. Attempting to fix up those functions would dirty several Blueprints, and likely confuse users.
The approach that we take here creates a proxy delegate function that matches the underlying signature. The proxy's function graph will then call the original bound function, which implicitly handles any double/float conversions. Additionally, we'll perform a "capture" of any actors that we need to call the bound function on. The compiler will add a new hidden property for the actor class, which we set in the original graph that had the bound delegate. The proxy function graph will then read this property when it calls the original function.
#jira UE-145634
#preflight 63191b1cb069eea9ab594ea2
#rb phillip.kavan
[CL 22087332 by dave jones2 in ue5-main branch]
This was a bug exposed because FPropertyRowGenerator previously ignored RequestRefresh() calls entirely, but now does a deferred refresh.
Since this was the only use of it, IEditableTextProperty and all its implementations have also had their RequestRefresh() methods removed.
[REVIEW] [at]jamie.dale, [at]vincent.gauthier
#preflight 632432a2cb23fcbbd8ef5dd2
[CL 22050354 by sebastian nordgren in ue5-main branch]
Removed redundant private include paths from build.cs files.
Fixed include paths to be relative to the private or public folders.
Hid or removed includes that reached into other private module folders.
Updated PublicInclude paths when necessary.
#jira
#preflight 631e283bec5b0c765fc0ffdb
[CL 21960084 by bryan sefcik in ue5-main branch]
Fixups for class features in the editor.
#jira UE-161932
#rb ben.zeigler
#preflight 631a55942b7fe03eb6c27d74
[CL 21903450 by Robert Millar in ue5-main branch]
Fixed Scalar Parameter and Vector node to avoid triggering a component value change transaction if the user only clicks on the textbox (without effectively changing the value).
Currently when the user clicks on a Scalar or Vector parameter text box and then simply deselects the node, a data change is erroneously detected and a transaction is pushed onto the Undo stack. This change fixes the logic that determines whether the value is actually changed, removing these spurious and redundant transactions.
#rb sebastian.nordgren
#jira UE-159512
#preflight 62ff9986f7404b55a326ce08
[CL 21457315 by massimo tristano in ue5-main branch]
Currently when the user clicks on a Scalar or Vector parameter text box and then simply deselects the node, a data change is erroneously detected and a transaction is pushed onto the Undo stack. This change fixes the logic that determines whether the value is actually changed, removing these spurious and redundant transactions.
#rb sebastian.nordgren
#jira UE-159512
#preflight 62fe4890200ff87e07bddf46
[CL 21442104 by massimo tristano in ue5-main branch]
2D vectors are not canonically ordered and having these operators results in very unfortunate interactions with generic code. In particular FMath::{Min,Max,Abs} on TVector2s compile but do not behave as one would expect.
Add explicit comparison methods as a replacement and deprecate uses of TVector2 overloaded relational operators since it's confusing and error-prone. Fix existing uses to avoid deprecation warnings. Several of these fixes are behavioral changes to fix what I am reasonably certain are bugs in the existing code - in particular, uses of FMath::{Min,Max,Abs} on TVector2s that almost certainly actually want TVector2::{Min,Max,GetAbs} instead.
#rb charles.bloom,jeff.roberts
#preflight 62d70a6547779a730aaac04b
#ROBOMERGE-AUTHOR: fabian.giesen
#ROBOMERGE-SOURCE: CL 21168341 via CL 21173069 via CL 21173193
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v972-20964824)
[CL 21192034 by fabian giesen in ue5-main branch]
Similar to other numerical Slate widgets, we need to templatize SGraphPinVector so that it can choose between a float and double representation. Currently, only the BP editor will use the double variant, while other tools continue to use a float.
This also update SGraphPinVector2D and SGraphPinVector4 to use a template. While we do use SGraphPinVector2D in BPs, we currently don't use SGraphPinVector4. However, that may change in the future.
#jira UE-157166
#preflight 62bf6898c438da7f09e95af0
#rb andrew.davidson
[CL 20947777 by dave jones2 in ue5-main branch]