diff options
author | Dalai Felinto <dfelinto@gmail.com> | 2017-07-03 13:46:58 +0300 |
---|---|---|
committer | Dalai Felinto <dfelinto@gmail.com> | 2017-07-03 13:47:00 +0300 |
commit | 871325e26fe12efe8bf8a7042d94896f2f7faf6c (patch) | |
tree | 09064fefd7a6beb62955ec143db26d00402055f5 /source/blender/draw/intern/draw_cache_impl_mesh.c | |
parent | 3de5370e9dfc9d9f90b9bf2d5eeb47e9ae7bf1dd (diff) |
Fix T51963: Eevee: ASAN crash on copy_attrib_name
Bug introduced on f6bb3262f17.
CustomData_get_named_layer returns a different result than
CustomData_get_named_layer_index.
Diffstat (limited to 'source/blender/draw/intern/draw_cache_impl_mesh.c')
-rw-r--r-- | source/blender/draw/intern/draw_cache_impl_mesh.c | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/source/blender/draw/intern/draw_cache_impl_mesh.c b/source/blender/draw/intern/draw_cache_impl_mesh.c index 48730afdacc..663deaeac3b 100644 --- a/source/blender/draw/intern/draw_cache_impl_mesh.c +++ b/source/blender/draw/intern/draw_cache_impl_mesh.c @@ -261,16 +261,17 @@ static void mesh_cd_calc_used_gpu_layers( * * We do it based on the specified name. */ - if (name[0]) { - layer = CustomData_get_named_layer_index(cd_ldata, CD_MLOOPUV, name); + if (name[0] != '\0') { + layer = CustomData_get_named_layer(cd_ldata, CD_MLOOPUV, name); type = CD_MTFACE; + if (layer == -1) { - layer = CustomData_get_named_layer_index(cd_ldata, CD_MLOOPCOL, name); + layer = CustomData_get_named_layer(cd_ldata, CD_MLOOPCOL, name); type = CD_MCOL; } #if 0 /* Tangents are always from UV's - this will never happen. */ if (layer == -1) { - layer = CustomData_get_named_layer_index(cd_ldata, CD_TANGENT, name); + layer = CustomData_get_named_layer(cd_ldata, CD_TANGENT, name); type = CD_TANGENT; } #endif |