From 461340525eea970a9d85d3958cc58bfda07abe7b Mon Sep 17 00:00:00 2001 From: Sergey Sharybin Date: Wed, 22 Jul 2015 11:58:48 +0200 Subject: [PATCH] OpenSubdiv: Resolve crash when trying to do weight mcol --- source/blender/blenkernel/intern/DerivedMesh.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/source/blender/blenkernel/intern/DerivedMesh.c b/source/blender/blenkernel/intern/DerivedMesh.c index 05ec83e70a9..3f4b1eec512 100644 --- a/source/blender/blenkernel/intern/DerivedMesh.c +++ b/source/blender/blenkernel/intern/DerivedMesh.c @@ -2186,8 +2186,12 @@ static void editbmesh_calc_modifiers( #if 0 /* XXX Will re-enable this when we have global mod stack options. */ const bool do_final_wmcol = (scene->toolsettings->weights_preview == WP_WPREVIEW_FINAL) && do_wmcol; #endif +#ifndef WITH_OPENSUBDIV const bool do_final_wmcol = false; const bool do_init_wmcol = ((((Mesh *)ob->data)->drawflag & ME_DRAWEIGHT) && !do_final_wmcol); +#else + const bool do_init_wmcol = false; +#endif const bool do_init_statvis = ((((Mesh *)ob->data)->drawflag & ME_DRAW_STATVIS) && !do_init_wmcol); const bool do_mod_wmcol = do_init_wmcol; VirtualModifierData virtualModifierData; @@ -2480,7 +2484,7 @@ static void mesh_build_data( #ifdef WITH_OPENSUBDIV if (calc_modifiers_skip_orco(ob)) { - dataMask &= ~CD_MASK_ORCO; + dataMask &= ~(CD_MASK_ORCO | CD_MASK_PREVIEW_MCOL); } #endif @@ -2515,7 +2519,7 @@ static void editbmesh_build_data(Scene *scene, Object *obedit, BMEditMesh *em, C #ifdef WITH_OPENSUBDIV if (calc_modifiers_skip_orco(obedit)) { - dataMask &= ~CD_MASK_ORCO; + dataMask &= ~(CD_MASK_ORCO | CD_MASK_PREVIEW_MCOL); } #endif