diff options
author | Campbell Barton <ideasman42@gmail.com> | 2011-01-04 15:31:42 +0300 |
---|---|---|
committer | Campbell Barton <ideasman42@gmail.com> | 2011-01-04 15:31:42 +0300 |
commit | 221187bcbda208e442ecfe0a081170f927c399df (patch) | |
tree | 3b5e8a164377e974e6aee290a9d382fe1a95f23d /source | |
parent | 1704a5546de3d67cf036696c2bbd2812eeea7060 (diff) |
comment assert and ensure meshes are always calculated with CD_MASK_BAREMESH, scene->customdata_mask should be corrected in background mode but for now this is ok.
Diffstat (limited to 'source')
-rw-r--r-- | source/blender/blenkernel/intern/object.c | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/source/blender/blenkernel/intern/object.c b/source/blender/blenkernel/intern/object.c index 07fee83a405..a2b6163321b 100644 --- a/source/blender/blenkernel/intern/object.c +++ b/source/blender/blenkernel/intern/object.c @@ -2549,6 +2549,7 @@ void object_handle_update(Scene *scene, Object *ob) switch(ob->type) { case OB_MESH: { +#if 0 // XXX, comment for 2.56a release, background wont set 'scene->customdata_mask' EditMesh *em = (ob == scene->obedit)? BKE_mesh_get_editmesh(ob->data): NULL; BKE_assert((scene->customdata_mask & CD_MASK_BAREMESH) == CD_MASK_BAREMESH); if(em) { @@ -2556,6 +2557,16 @@ void object_handle_update(Scene *scene, Object *ob) BKE_mesh_end_editmesh(ob->data, em); } else makeDerivedMesh(scene, ob, NULL, scene->customdata_mask); + +#else /* ensure CD_MASK_BAREMESH for now */ + EditMesh *em = (ob == scene->obedit)? BKE_mesh_get_editmesh(ob->data): NULL; + if(em) { + makeDerivedMesh(scene, ob, em, scene->customdata_mask | CD_MASK_BAREMESH); /* was CD_MASK_BAREMESH */ + BKE_mesh_end_editmesh(ob->data, em); + } else + makeDerivedMesh(scene, ob, NULL, scene->customdata_mask | CD_MASK_BAREMESH); +#endif + } break; |