[rrd-developers] Re: rrdtool 1.2rc3 - a bit of a problem with RRFW

Tobias Oetiker oetiker at ee.ethz.ch
Wed Apr 6 12:36:46 MEST 2005


Stan,

the line

           art_free(svpt);

should be inside the block above ... freeing pvec does not make
anysense otherwhise ...


              } else {
                  svp  = art_svp_from_vpath ( pvec );
                  svpt = art_svp_uncross( svp );
                  art_free(svp);
                  svp  = art_svp_rewind_uncrossed(svpt,ART_WIND_RULE_ODDEVEN);
                  art_free(svpt);
              }
              art_free(pvec);


cheers
tobi


Today Stanislav Sinyagin wrote:

> With the new patch it enters the infinite loop. Below I've put the extraction
> of the piece of code.
>
> Here
> http://rrfwdemo.tbw.ch/rrfw/plain/rrdtest-1.2rc3.tar.gz
> I put the RRD file (i386 Linux) and a shell script that creates the graph.
>
> Here
> http://rrfwdemo.tbw.ch/rrfw/plain/r12rc3.png
> is the graph produced by 1.2rc3
>
> Here's the same data graphed with 2004-07-26 development snapshot:
> http://rrfwdemo.tbw.ch/rrfw/plain/2004-07-26.png
>
> The patched code follows
>
>         case GFX_LINE:
>         case GFX_AREA: {
>             ArtVpath *vec,*pvec;
>             double dst[6];
>             ArtSVP *svp,*svpt;
>             art_affine_scale(dst,canvas->zoom,canvas->zoom);
>             vec = art_vpath_affine_transform(node->path,dst);
>             if (node->closed_path)
>                 gfx_libart_close_path(node, &vec);
>             gfx_round_scaled_coordinates(vec);
>             pvec = art_vpath_perturb(vec);
>             art_free(vec);
>             if(node->type == GFX_LINE){
>                 svp = art_svp_vpath_stroke ( pvec, ART_PATH_STROKE_JOIN_ROUND,
>                                              ART_PATH_STROKE_CAP_ROUND,
>                                              node->size*canvas->zoom,4,0.25);
>             } else {
>                 svp  = art_svp_from_vpath ( pvec );
>                 svpt = art_svp_uncross( svp );
>                 art_free(svp);
>                svp  = art_svp_rewind_uncrossed(svpt,ART_WIND_RULE_ODDEVEN);
>             }
>             art_free(pvec);
>             art_free(svpt);
>             art_rgb_svp_alpha (svp ,0,0, pys_width, pys_height,
>                                node->color, buffer, rowstride, NULL);
>             art_free(svp);
>             break;
>         }
>
>
> Stan
>
>
>
> --
> Unsubscribe mailto:rrd-developers-request at list.ee.ethz.ch?subject=unsubscribe
> Help        mailto:rrd-developers-request at list.ee.ethz.ch?subject=help
> Archive     http://www.ee.ethz.ch/~slist/rrd-developers
> WebAdmin    http://www.ee.ethz.ch/~slist/lsg2.cgi
>

-- 
 ______    __   _
/_  __/_  / /  (_) Oetiker @ ISG.EE, ETL F24.2, ETH, CH-8092 Zurich
 / // _ \/ _ \/ /  System Manager, Time Lord, Coder, Designer, Coach
/_/ \.__/_.__/_/   http://people.ee.ethz.ch/oetiker +41(0)44-632-5286

--
Unsubscribe mailto:rrd-developers-request at list.ee.ethz.ch?subject=unsubscribe
Help        mailto:rrd-developers-request at list.ee.ethz.ch?subject=help
Archive     http://www.ee.ethz.ch/~slist/rrd-developers
WebAdmin    http://www.ee.ethz.ch/~slist/lsg2.cgi



More information about the rrd-developers mailing list