[Bf-blender-cvs] [50ba4762f68] blender2.8: Fix T57566: Blender 2.8 crashes with the new multires
Sergey Sharybin
noreply at git.blender.org
Fri Nov 16 10:34:29 CET 2018
Commit: 50ba4762f685996614f6585183fbe8085b89f27d
Author: Sergey Sharybin
Date: Fri Nov 16 10:34:00 2018 +0100
Branches: blender2.8
https://developer.blender.org/rB50ba4762f685996614f6585183fbe8085b89f27d
Fix T57566: Blender 2.8 crashes with the new multires
===================================================================
M source/blender/blenkernel/intern/multires_reshape.c
===================================================================
diff --git a/source/blender/blenkernel/intern/multires_reshape.c b/source/blender/blenkernel/intern/multires_reshape.c
index fe4bc5ca3e0..72be2617798 100644
--- a/source/blender/blenkernel/intern/multires_reshape.c
+++ b/source/blender/blenkernel/intern/multires_reshape.c
@@ -875,8 +875,6 @@ static bool multires_reshape_from_vertcos(
Scene *scene_eval = DEG_get_evaluated_scene(depsgraph);
Mesh *coarse_mesh = object->data;
MDisps *mdisps = CustomData_get_layer(&coarse_mesh->ldata, CD_MDISPS);
- /* Make sure displacement grids are ready. */
- multires_reshape_ensure_grids(coarse_mesh, mmd->totlvl);
/* Pick maximum between multires level and dispalcement level.
* This is because mesh can be used by objects with multires at different
* levels.
@@ -885,6 +883,8 @@ static bool multires_reshape_from_vertcos(
* mdisps->level.
*/
const int top_level = max_ii(mmd->totlvl, mdisps->level);
+ /* Make sure displacement grids are ready. */
+ multires_reshape_ensure_grids(coarse_mesh, top_level);
/* Construct context. */
MultiresReshapeFromDeformedVertsContext reshape_deformed_verts_ctx = {
.reshape_ctx = {
@@ -1166,8 +1166,6 @@ bool multiresModifier_reshapeFromCCG(
GridPaintMask *grid_paint_mask =
CustomData_get_layer(&coarse_mesh->ldata, CD_GRID_PAINT_MASK);
Subdiv *subdiv = subdiv_ccg->subdiv;
- /* Make sure displacement grids are ready. */
- multires_reshape_ensure_grids(coarse_mesh, tot_level);
/* Pick maximum between multires level and dispalcement level.
* This is because mesh can be used by objects with multires at different
* levels.
@@ -1176,6 +1174,8 @@ bool multiresModifier_reshapeFromCCG(
* mdisps->level.
*/
const int top_level = max_ii(tot_level, mdisps->level);
+ /* Make sure displacement grids are ready. */
+ multires_reshape_ensure_grids(coarse_mesh, top_level);
/* Construct context. */
ReshapeFromCCGTaskData data = {
.reshape_ctx = {
More information about the Bf-blender-cvs
mailing list