From 18e063b69db3f810dae9753030111c1a2ea67117 Mon Sep 17 00:00:00 2001 From: Jacques Lucke Date: Fri, 22 Jan 2021 13:46:13 +0100 Subject: 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. --- source/blender/nodes/intern/node_tree_multi_function.cc | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'source/blender/nodes') 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( conversions, "float to Color4f", [](float a) { return Color4f(a, a, a, 1.0f); }); - add_implicit_conversion(conversions); + add_implicit_conversion( + conversions, "float2 to float3", [](float2 a) { return float3(a.x, a.y, 0.0f); }); add_implicit_conversion( conversions, "float2 to float", [](float2 a) { return a.length(); }); add_implicit_conversion( -- cgit v1.2.3