Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSergey Sharybin <sergey.vfx@gmail.com>2020-02-28 14:08:15 +0300
committerSergey Sharybin <sergey.vfx@gmail.com>2020-02-28 14:24:26 +0300
commit944da82eafeb88ecfebfa5c302aaea97150c49eb (patch)
tree96239f0372a881719dd3dde5c564b899e09df87a /source/blender/blenkernel/intern/multires.c
parentfeead324fd70289d7dbcbe2b797cc960d6be99ca (diff)
Multires: Cleanup, use early return
Diffstat (limited to 'source/blender/blenkernel/intern/multires.c')
-rw-r--r--source/blender/blenkernel/intern/multires.c49
1 files changed, 28 insertions, 21 deletions
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;
}
}