diff options
author | Bastien Montagne <montagne29@wanadoo.fr> | 2014-07-18 20:08:56 +0400 |
---|---|---|
committer | Bastien Montagne <montagne29@wanadoo.fr> | 2014-07-18 20:08:56 +0400 |
commit | 0e324b19f913320a296a3bfbe1731af7fe76c6e9 (patch) | |
tree | df1b95ba844ca7360f6ab15374141bd44979254e | |
parent | b8f04e010a8a053a2acbe66cee52a6b1eb5bd46c (diff) |
Cleanup in MBALL/displist: no need to create curvecache for non-basis mballs, will never be used anyway!
-rw-r--r-- | source/blender/blenkernel/intern/displist.c | 19 |
1 files changed, 10 insertions, 9 deletions
diff --git a/source/blender/blenkernel/intern/displist.c b/source/blender/blenkernel/intern/displist.c index bfddf4fca6b..d494115821a 100644 --- a/source/blender/blenkernel/intern/displist.c +++ b/source/blender/blenkernel/intern/displist.c @@ -715,21 +715,22 @@ void BKE_displist_make_mball(EvaluationContext *eval_ctx, Scene *scene, Object * if (!ob || ob->type != OB_MBALL) return; - if (ob->curve_cache) { - BKE_displist_free(&(ob->curve_cache->disp)); - } - else { - ob->curve_cache = MEM_callocN(sizeof(CurveCache), "CurveCache for MBall"); - } - if (ob == BKE_mball_basis_find(scene, ob)) { + if (ob->curve_cache) { + BKE_displist_free(&(ob->curve_cache->disp)); + } + else { + ob->curve_cache = MEM_callocN(sizeof(CurveCache), "CurveCache for MBall"); + } + BKE_mball_polygonize(eval_ctx, scene, ob, &ob->curve_cache->disp); BKE_mball_texspace_calc(ob); object_deform_mball(ob, &ob->curve_cache->disp); - } - boundbox_displist_object(ob); + /* NOP for MBALLs anyway... */ + boundbox_displist_object(ob); + } } void BKE_displist_make_mball_forRender(EvaluationContext *eval_ctx, Scene *scene, Object *ob, ListBase *dispbase) |