diff options
Diffstat (limited to 'source/blender/makesdna/DNA_meshdata_types.h')
-rw-r--r-- | source/blender/makesdna/DNA_meshdata_types.h | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/source/blender/makesdna/DNA_meshdata_types.h b/source/blender/makesdna/DNA_meshdata_types.h index b78cd65e913..e5cb222bdd8 100644 --- a/source/blender/makesdna/DNA_meshdata_types.h +++ b/source/blender/makesdna/DNA_meshdata_types.h @@ -446,6 +446,16 @@ enum { /* number of tri's that make up this polygon once tessellated */ #define ME_POLY_TRI_TOT(mp) ((mp)->totloop - 2) +/** + * Check out-of-bounds material, note that this is nearly always prevented, + * yet its still possible in rare cases. + * So usage such as array lookup needs to check. + */ +#define ME_MAT_NR_TEST(mat_nr, totmat) \ + (CHECK_TYPE_ANY(mat_nr, short), \ + CHECK_TYPE_ANY(totmat, short), \ + (LIKELY(mat_nr < totmat) ? mat_nr : 0)) + /* mselect->type */ enum { ME_VSEL = 0, |