diff options
author | Campbell Barton <ideasman42@gmail.com> | 2019-01-08 17:04:28 +0300 |
---|---|---|
committer | Campbell Barton <ideasman42@gmail.com> | 2019-01-08 17:05:43 +0300 |
commit | 369e1d46f0dbdd7904de7a5350ae7825800588df (patch) | |
tree | c778a3d9e4b1b842cdaa1a5387a58984fc9e237c | |
parent | 22474062b1afb11634a1579ab5c5ce92a5beea85 (diff) |
Fix T56545: Material referencing missing UV crash
-rw-r--r-- | source/blender/draw/intern/draw_cache_impl_mesh.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/source/blender/draw/intern/draw_cache_impl_mesh.c b/source/blender/draw/intern/draw_cache_impl_mesh.c index 9d9f7c47b14..fd9c44431b7 100644 --- a/source/blender/draw/intern/draw_cache_impl_mesh.c +++ b/source/blender/draw/intern/draw_cache_impl_mesh.c @@ -434,6 +434,11 @@ static void mesh_cd_calc_used_gpu_layers( layer = (name[0] != '\0') ? CustomData_get_named_layer(cd_ldata, CD_MLOOPUV, name) : CustomData_get_active_layer(cd_ldata, CD_MLOOPUV); + + /* Only fallback to orco (below) when we have no UV layers, see: T56545 */ + if (layer == -1 && name[0] != '\0') { + layer = CustomData_get_active_layer(cd_ldata, CD_MLOOPUV); + } } if (layer != -1) { cd_lused[CD_TANGENT] |= (1 << layer); |