diff options
author | Campbell Barton <ideasman42@gmail.com> | 2010-05-05 01:10:26 +0400 |
---|---|---|
committer | Campbell Barton <ideasman42@gmail.com> | 2010-05-05 01:10:26 +0400 |
commit | f721447f229c31a6103a30e7340810fc0809e0c6 (patch) | |
tree | 6b584f928d140072e4d14f5f1644bc468c1e0ffa /source/blender | |
parent | 22a34cc83bc75a40d6b6f278119c14f5bee42dbd (diff) |
billboards were using un-initialized memory and avoid divide by zero in some cases.
Diffstat (limited to 'source/blender')
-rw-r--r-- | source/blender/blenkernel/intern/particle.c | 3 | ||||
-rw-r--r-- | source/blender/editors/interface/view2d.c | 2 |
2 files changed, 5 insertions, 0 deletions
diff --git a/source/blender/blenkernel/intern/particle.c b/source/blender/blenkernel/intern/particle.c index 3ac1ada58cb..85898d5a2e8 100644 --- a/source/blender/blenkernel/intern/particle.c +++ b/source/blender/blenkernel/intern/particle.c @@ -1137,6 +1137,9 @@ static void do_particle_interpolation(ParticleSystem *psys, int p, ParticleData int point_vel = (point && point->keys->vel); float real_t, dfra, keytime; + /* billboards wont fill in all of these, so start cleared */ + memset(keys, 0, sizeof(keys)); + /* interpret timing and find keys */ if(point) { if(result->time < 0.0f) diff --git a/source/blender/editors/interface/view2d.c b/source/blender/editors/interface/view2d.c index 5e8cab7c4b3..d482f20b077 100644 --- a/source/blender/editors/interface/view2d.c +++ b/source/blender/editors/interface/view2d.c @@ -1389,6 +1389,7 @@ View2DScrollers *UI_view2d_scrollers_calc(const bContext *C, View2D *v2d, short /* scroller 'button' extents */ totsize= v2d->tot.xmax - v2d->tot.xmin; scrollsize= (float)(hor.xmax - hor.xmin); + if(totsize==0.0f) totsize = 1.0f; /* avoid divide by zero */ fac1= (v2d->cur.xmin - v2d->tot.xmin) / totsize; if(fac1<=0.0f) @@ -1429,6 +1430,7 @@ View2DScrollers *UI_view2d_scrollers_calc(const bContext *C, View2D *v2d, short /* scroller 'button' extents */ totsize= v2d->tot.ymax - v2d->tot.ymin; scrollsize= (float)(vert.ymax - vert.ymin); + if(totsize==0.0f) totsize = 1.0f; /* avoid divide by zero */ fac1= (v2d->cur.ymin- v2d->tot.ymin) / totsize; if(fac1<=0.0f) |