misc maintenance changes
authorCampbell Barton <ideasman42@gmail.com>
Mon, 17 Jan 2011 08:31:57 +0000 (08:31 +0000)
committerCampbell Barton <ideasman42@gmail.com>
Mon, 17 Jan 2011 08:31:57 +0000 (08:31 +0000)
- metaball tessellation functuion was calculating density when it didn't need to.
- image drawing was using a float as a loop counter, in extreme cases this could cause an infinite loop.
- remove/comment unused vars.

source/blender/blenkernel/intern/mball.c
source/blender/editors/space_image/image_draw.c
source/blender/editors/space_outliner/outliner.c
source/blender/makesrna/intern/rna_access.c

index 6e48b92..a22fc16 100644 (file)
@@ -1422,7 +1422,7 @@ void find_first_points(PROCESS *mbproc, MetaBall *mb, int a)
        int i, j, k, c_i, c_j, c_k;
        int index[3]={1,0,-1};
        float f =0.0f;
-       float in_v, out_v;
+       float in_v /*, out_v*/;
        MB_POINT workp;
        float tmp_v, workp_v, max_len, len, dx, dy, dz, nx, ny, nz, MAXN;
 
@@ -1483,7 +1483,7 @@ void find_first_points(PROCESS *mbproc, MetaBall *mb, int a)
 
                                        calc_mballco(ml, (float *)&out);
 
-                                       out_v = mbproc->function(out.x, out.y, out.z);
+                                       /*out_v = mbproc->function(out.x, out.y, out.z);*/ /*UNUSED*/
 
                                        /* find "first points" on Implicit Surface of MetaElemnt ml */
                                        workp.x = in.x;
@@ -1582,8 +1582,8 @@ float init_meta(Scene *scene, Object *ob) /* return totsize */
        Object *bob;
        MetaBall *mb;
        MetaElem *ml;
-       float size, totsize, (*mat)[4] = NULL, (*imat)[4] = NULL, obinv[4][4], obmat[4][4], vec[3];
-       float temp1[4][4], temp2[4][4], temp3[4][4]; //max=0.0;
+       float size, totsize, obinv[4][4], obmat[4][4], vec[3];
+       //float max=0.0;
        int a, obnr, zero_size=0;
        char obname[32];
        
@@ -1602,7 +1602,6 @@ float init_meta(Scene *scene, Object *ob) /* return totsize */
                        ml= NULL;
 
                        if(bob==ob && (base->flag & OB_FROMDUPLI)==0) {
-                               mat= imat= 0;
                                mb= ob->data;
        
                                if(mb->editelems) ml= mb->editelems->first;
@@ -1649,6 +1648,8 @@ float init_meta(Scene *scene, Object *ob) /* return totsize */
                        while(ml) {
                                if(!(ml->flag & MB_HIDE)) {
                                        int i;
+                                       float temp1[4][4], temp2[4][4], temp3[4][4];
+                                       float (*mat)[4] = NULL, (*imat)[4] = NULL;
                                        float max_x, max_y, max_z, min_x, min_y, min_z;
 
                                        max_x = max_y = max_z = -3.4e38;
index e2d58b1..22ca549 100644 (file)
@@ -473,13 +473,18 @@ static void draw_image_buffer_tiled(SpaceImage *sima, ARegion *ar, Scene *scene,
 
 static void draw_image_buffer_repeated(SpaceImage *sima, ARegion *ar, Scene *scene, Image *ima, ImBuf *ibuf, float zoomx, float zoomy)
 {
-       float x, y;
-       double time_current;
-       
-       time_current = PIL_check_seconds_timer();
+       const double time_current= PIL_check_seconds_timer();
+
+       const int xmax= ceil(ar->v2d.cur.xmax);
+       const int ymax= ceil(ar->v2d.cur.ymax);
+       const int xmin= floor(ar->v2d.cur.xmin);
+       const int ymin= floor(ar->v2d.cur.ymin);
+
+       int x;
 
-       for(x=floor(ar->v2d.cur.xmin); x<ar->v2d.cur.xmax; x += 1.0f) { 
-               for(y=floor(ar->v2d.cur.ymin); y<ar->v2d.cur.ymax; y += 1.0f) { 
+       for(x=xmin; x<xmax; x++) {
+               int y;
+               for(y=ymin; y<ymax; y++) { 
                        if(ima && (ima->tpageflag & IMA_TILES))
                                draw_image_buffer_tiled(sima, ar, scene, ima, ibuf, x, y, zoomx, zoomy);
                        else
index 1d10708..49e477c 100644 (file)
@@ -1409,7 +1409,6 @@ static void outliner_build_tree(Main *mainvar, Scene *scene, SpaceOops *soops)
                for(group= mainvar->group.first; group; group= group->id.next) {
                        if(group->gobject.first) {
                                te= outliner_add_element(soops, &soops->tree, group, NULL, 0, 0);
-                               tselem= TREESTORE(te);
                                
                                for(go= group->gobject.first; go; go= go->next) {
                                        ten= outliner_add_element(soops, &te->subtree, go->ob, te, 0, 0);
@@ -2022,13 +2021,13 @@ static int tree_element_active_material(bContext *C, Scene *scene, SpaceOops *so
 static int tree_element_active_texture(bContext *C, Scene *scene, SpaceOops *soops, TreeElement *te, int set)
 {
        TreeElement *tep;
-       TreeStoreElem *tselem, *tselemp;
+       TreeStoreElem /* *tselem,*/ *tselemp;
        Object *ob=OBACT;
        SpaceButs *sbuts=NULL;
        
        if(ob==NULL) return 0; // no active object
        
-       tselem= TREESTORE(te);
+       /*tselem= TREESTORE(te);*/ /*UNUSED*/
        
        /* find buttons area (note, this is undefined really still, needs recode in blender) */
        /* XXX removed finding sbuts */
@@ -4551,7 +4550,6 @@ static void outliner_draw_iconrow(bContext *C, uiBlock *block, Scene *scene, Spa
                if(level<1 || (tselem->type==0 && te->idcode==ID_OB)) {
 
                        /* active blocks get white circle */
-                       active= 0;
                        if(tselem->type==0) {
                                if(te->idcode==ID_OB) active= (OBACT==(Object *)tselem->id);
                                else if(scene->obedit && scene->obedit->data==tselem->id) active= 1;    // XXX use context?
index 7424836..cc2e5fc 100644 (file)
@@ -4206,7 +4206,7 @@ void RNA_parameter_list_begin(ParameterList *parms, ParameterIterator *iter)
 
        if(iter->valid) {
                iter->size= rna_parameter_size_alloc(iter->parm);
-               iter->data= (((char*)iter->parms->data)+iter->offset);
+               iter->data= (((char*)iter->parms->data)); /* +iter->offset, always 0 */
        }
 }
 
@@ -4400,7 +4400,7 @@ static int rna_function_format_array_length(const char *format, int ofs, int fle
                for (; ofs<flen && format[ofs]!=']' && idx<sizeof(*lenbuf)-1; idx++, ofs++)
                        lenbuf[idx]= format[ofs];
 
-       if (ofs<flen && format[ofs++]==']') {
+       if (ofs<flen && format[ofs+1]==']') {
                /* XXX put better error reporting for ofs>=flen or idx over lenbuf capacity */
                lenbuf[idx]= '\0';
                return atoi(lenbuf);