Re: [LIBART] Error with libart



Drew Folta said:
>
> From: Ayose <setepo setepo rinu org>
>> *** attempt to put segment in horiz list twice
>> *** attempt to put segment in horiz list twice
>> *** attempt to put segment in horiz list twice
>
> I just ran into this.  It was spitting the above message out when I was
> trying to draw a stroked circle, with radius less than zero :)  (Drawing
> a filled circle worked OK; that is, it drew nothing and didn't
> complain.)  It never crashed for me (v2.3.10, rpm by RedHat).

Oy, I was wrong about this.  Turns out the problem is not when drawing
circles with radius less than zero, but when drawing circles with a very
broad line stroke.  To be exact...

  r = circle radius
  w = width of line stroke
  if w >= 4r, kaboom

Here's a self-contained example app...
  http://www.folta.net/drew/dots.c

With a radius of 1.0, and line width of 3.9, it's OK.  Same thing with
width of 4.0 and it dies.  Radius 12.0, line width 48.0, dies.

OK, I guess that all makes some sense, once I think about what those
numbers are asking libart to draw.  Basically the inner circle of the
stroke is being drawn past the circle itself.  Soo... the fix is really in
the domain of the user code:  be careful of what you ask for :)


Drew







[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]