diff options
author | Jacques Lucke <jacques@blender.org> | 2021-01-22 15:46:13 +0300 |
---|---|---|
committer | Jacques Lucke <jacques@blender.org> | 2021-01-22 15:46:13 +0300 |
commit | 18e063b69db3f810dae9753030111c1a2ea67117 (patch) | |
tree | d34747c672888e0e7ce3693a520e6a32926c32b0 /source/blender/nodes | |
parent | 7a07ca1f8c2603bbd2feb5771dee311bbd528ed9 (diff) |
Functions: use better conversion from float2 to float3
Previously float2 was converted to float3 by implicitly converting to a
float pointer first, which was then passed to the float3 constructor.
This leads to uninitialized memory in the z component of the new float3.
Ideally this should be solved in float2/float3 itself, but my first fix for
that resulted in a compile error: rB6ac0a3d83c8e5a39bd5356aa0d68e3166bd91e82
This is an alternative fix that can be used for now. Will have to look
into the conversion in more detail again.
Diffstat (limited to 'source/blender/nodes')
-rw-r--r-- | source/blender/nodes/intern/node_tree_multi_function.cc | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/source/blender/nodes/intern/node_tree_multi_function.cc b/source/blender/nodes/intern/node_tree_multi_function.cc index 33192648d93..c2391667e86 100644 --- a/source/blender/nodes/intern/node_tree_multi_function.cc +++ b/source/blender/nodes/intern/node_tree_multi_function.cc @@ -199,7 +199,8 @@ static DataTypeConversions create_implicit_conversions() add_implicit_conversion<float, Color4f>( conversions, "float to Color4f", [](float a) { return Color4f(a, a, a, 1.0f); }); - add_implicit_conversion<float2, float3>(conversions); + add_implicit_conversion<float2, float3>( + conversions, "float2 to float3", [](float2 a) { return float3(a.x, a.y, 0.0f); }); add_implicit_conversion<float2, float>( conversions, "float2 to float", [](float2 a) { return a.length(); }); add_implicit_conversion<float2, int32_t>( |