Revision: 28578
          
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=28578
Author:   campbellbarton
Date:     2010-05-04 23:10:26 +0200 (Tue, 04 May 2010)

Log Message:
-----------
billboards were using un-initialized memory and avoid divide by zero in some 
cases.

Modified Paths:
--------------
    trunk/blender/source/blender/blenkernel/intern/particle.c
    trunk/blender/source/blender/editors/interface/view2d.c

Modified: trunk/blender/source/blender/blenkernel/intern/particle.c
===================================================================
--- trunk/blender/source/blender/blenkernel/intern/particle.c   2010-05-04 
16:54:00 UTC (rev 28577)
+++ trunk/blender/source/blender/blenkernel/intern/particle.c   2010-05-04 
21:10:26 UTC (rev 28578)
@@ -1137,6 +1137,9 @@
        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)

Modified: trunk/blender/source/blender/editors/interface/view2d.c
===================================================================
--- trunk/blender/source/blender/editors/interface/view2d.c     2010-05-04 
16:54:00 UTC (rev 28577)
+++ trunk/blender/source/blender/editors/interface/view2d.c     2010-05-04 
21:10:26 UTC (rev 28578)
@@ -1389,6 +1389,7 @@
                /* 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 @@
                /* 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)


_______________________________________________
Bf-blender-cvs mailing list
[email protected]
http://lists.blender.org/mailman/listinfo/bf-blender-cvs

Reply via email to