[Bf-blender-cvs] [944da82eafe] master: Multires: Cleanup, use early return

Sergey Sharybin noreply at git.blender.org
Fri Feb 28 12:24:32 CET 2020


Commit: 944da82eafeb88ecfebfa5c302aaea97150c49eb
Author: Sergey Sharybin
Date:   Fri Feb 28 12:08:15 2020 +0100
Branches: master
https://developer.blender.org/rB944da82eafeb88ecfebfa5c302aaea97150c49eb

Multires: Cleanup, use early return

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

M	source/blender/blenkernel/intern/multires.c

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

diff --git a/source/blender/blenkernel/intern/multires.c b/source/blender/blenkernel/intern/multires.c
index 35de0d19d95..ad33fd9b2e0 100644
--- a/source/blender/blenkernel/intern/multires.c
+++ b/source/blender/blenkernel/intern/multires.c
@@ -408,36 +408,43 @@ void multires_mark_as_modified(Depsgraph *depsgraph, Object *object, MultiresMod
 
 void multires_flush_sculpt_updates(Object *object)
 {
-  if (object && object->sculpt && object->sculpt->pbvh != NULL) {
-    SculptSession *sculpt_session = object->sculpt;
-    if (BKE_pbvh_type(sculpt_session->pbvh) == PBVH_GRIDS && sculpt_session->multires) {
-      Mesh *mesh = object->data;
-      multiresModifier_reshapeFromCCG(
-          sculpt_session->multires->totlvl, mesh, sculpt_session->subdiv_ccg);
-    }
+  if (object == NULL || object->sculpt == NULL || object->sculpt->pbvh == NULL) {
+    return;
+  }
+
+  SculptSession *sculpt_session = object->sculpt;
+  if (BKE_pbvh_type(sculpt_session->pbvh) != PBVH_GRIDS || sculpt_session->multires == NULL) {
+    return;
   }
+
+  Mesh *mesh = object->data;
+  multiresModifier_reshapeFromCCG(
+      sculpt_session->multires->totlvl, mesh, sculpt_session->subdiv_ccg);
 }
 
 void multires_force_sculpt_rebuild(Object *object)
 {
   multires_flush_sculpt_updates(object);
 
-  if (object && object->sculpt) {
-    SculptSession *ss = object->sculpt;
-    if (ss->pbvh) {
-      BKE_pbvh_free(ss->pbvh);
-      object->sculpt->pbvh = NULL;
-    }
+  if (object == NULL || object->sculpt == NULL) {
+    return;
+  }
 
-    if (ss->pmap) {
-      MEM_freeN(ss->pmap);
-      ss->pmap = NULL;
-    }
+  SculptSession *ss = object->sculpt;
 
-    if (ss->pmap_mem) {
-      MEM_freeN(ss->pmap_mem);
-      ss->pmap_mem = NULL;
-    }
+  if (ss->pbvh != NULL) {
+    BKE_pbvh_free(ss->pbvh);
+    object->sculpt->pbvh = NULL;
+  }
+
+  if (ss->pmap != NULL) {
+    MEM_freeN(ss->pmap);
+    ss->pmap = NULL;
+  }
+
+  if (ss->pmap_mem != NULL) {
+    MEM_freeN(ss->pmap_mem);
+    ss->pmap_mem = NULL;
   }
 }



More information about the Bf-blender-cvs mailing list