[Bf-blender-cvs] [dc61f7c1717] blender-v2.83-release: Fix T80039: Do not subdivide with Multires is mesh has no faces

Pablo Dobarro noreply at git.blender.org
Wed Aug 26 11:57:24 CEST 2020


Commit: dc61f7c17178372e1c52d0e2e3ee8297d36d91b9
Author: Pablo Dobarro
Date:   Mon Aug 24 18:26:28 2020 +0200
Branches: blender-v2.83-release
https://developer.blender.org/rBdc61f7c17178372e1c52d0e2e3ee8297d36d91b9

Fix T80039: Do not subdivide with Multires is mesh has no faces

This skips the subdivision operation if the mesh has no loops, avoiding
the crash.

Reviewed By: sergey

Maniphest Tasks: T80039

Differential Revision: https://developer.blender.org/D8696

===================================================================

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 01e7b87cac0..3ae4012928c 100644
--- a/source/blender/blenkernel/intern/multires_reshape.c
+++ b/source/blender/blenkernel/intern/multires_reshape.c
@@ -180,6 +180,12 @@ void multiresModifier_subdivide_to_level(struct Object *object,
   }
 
   Mesh *coarse_mesh = object->data;
+  if (coarse_mesh->totloop == 0) {
+    /* If there are no loops in the mesh inplies there is no CD_MDISPS as well. So can early output
+     * from here as there is nothing to subdivide. */
+    return;
+  }
+
   MultiresReshapeContext reshape_context;
 
   /* There was no multires at all, all displacement is at 0. Can simply make sure all mdisps grids



More information about the Bf-blender-cvs mailing list