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:
authorBrecht Van Lommel <brechtvanlommel@pandora.be>2010-01-26 00:58:00 +0300
committerBrecht Van Lommel <brechtvanlommel@pandora.be>2010-01-26 00:58:00 +0300
commitd440990414fafa1e30d83622b10671e089437b62 (patch)
tree8401799056c5bf9492e9dbe69742a68f7f6d8456 /source/blender/blenkernel/intern/subsurf_ccg.c
parentabd9a59af4a8499129c4c847b3b19e64cead73b8 (diff)
Fix #20820: multires subdivide crash.
Diffstat (limited to 'source/blender/blenkernel/intern/subsurf_ccg.c')
-rw-r--r--source/blender/blenkernel/intern/subsurf_ccg.c9
1 files changed, 4 insertions, 5 deletions
diff --git a/source/blender/blenkernel/intern/subsurf_ccg.c b/source/blender/blenkernel/intern/subsurf_ccg.c
index ef015208354..d55792c449e 100644
--- a/source/blender/blenkernel/intern/subsurf_ccg.c
+++ b/source/blender/blenkernel/intern/subsurf_ccg.c
@@ -2506,7 +2506,7 @@ struct DerivedMesh *subsurf_make_derived_from_derived(
CCGDerivedMesh *result;
if(editMode) {
- int levels= get_render_subsurf_level(&smd->modifier.scene->r, smd->levels);
+ int levels= (smd->modifier.scene)? get_render_subsurf_level(&smd->modifier.scene->r, smd->levels): smd->levels;
smd->emCache = _getSubSurf(smd->emCache, levels, useAging, 0,
useSimple);
@@ -2518,9 +2518,8 @@ struct DerivedMesh *subsurf_make_derived_from_derived(
} else if(useRenderParams) {
/* Do not use cache in render mode. */
CCGSubSurf *ss;
- int levels;
-
- levels= get_render_subsurf_level(&smd->modifier.scene->r, smd->renderLevels);
+ int levels= (smd->modifier.scene)? get_render_subsurf_level(&smd->modifier.scene->r, smd->renderLevels): smd->renderLevels;
+
if(levels == 0)
return dm;
@@ -2535,7 +2534,7 @@ struct DerivedMesh *subsurf_make_derived_from_derived(
} else {
int useIncremental = (smd->flags & eSubsurfModifierFlag_Incremental);
int useAging = smd->flags & eSubsurfModifierFlag_DebugIncr;
- int levels= get_render_subsurf_level(&smd->modifier.scene->r, smd->levels);
+ int levels= (smd->modifier.scene)? get_render_subsurf_level(&smd->modifier.scene->r, smd->levels): smd->levels;
CCGSubSurf *ss;
/* It is quite possible there is a much better place to do this. It