[cairo-bugs] [Bug 38079] New: Multi-component path containing curve_to is not drawn completely

bugzilla-daemon at freedesktop.org bugzilla-daemon at freedesktop.org
Wed Jun 8 08:40:47 PDT 2011


https://bugs.freedesktop.org/show_bug.cgi?id=38079

           Summary: Multi-component path containing curve_to is not drawn
                    completely
           Product: cairo
           Version: 1.10.2
          Platform: x86-64 (AMD64)
        OS/Version: Linux (All)
            Status: NEW
          Severity: normal
          Priority: medium
         Component: general
        AssignedTo: cworth at cworth.org
        ReportedBy: martin at lispworks.com
         QAContact: cairo-bugs at cairographics.org


Certain paths containing multiple move_to and curve_to elements are drawn
incorrectly in 1.10.2.  I've reproduced this with the attached example
cairo-arc.c on Fedora 14 x86_64 using the cairo tarballs and Fedora's pixman
0.18.4.

The example draws three curves in black as a single path and the same three
curves in red as three separate paths 10 pixels to the right.  They should be
identical in all other ways, but the black curve at the top is about 20 pixels
shorter than the red curve in 1.10.2.

The debugging function print_path in the example also shows that the path
extent of the black curves doesn't cover the path elements (y1 should be
-136.601562):

version 1.10.2
path extents = -100.000000 -100.000000 100.000000 100.000000
path elements(18):
  move_to 100.000000 100.000000
  curve_to 44.773438 100.000000 0.000000 55.226562 0.000000 0.000000
  move_to -100.000000 -100.000000
  curve_to -44.773438 -100.000000 0.000000 -55.226562 0.000000 0.000000
  move_to 36.601562 -136.601562
  curve_to 64.214844 -88.773438 47.828125 -27.613281 0.000000 0.000000

Here is the corresponding output in 1.8.8, where it draws as expected:

version 1.8.8
path extents = -100.000000 -136.601562 100.000000 100.000000
path elements(18):
  move_to 100.000000 100.000000
  curve_to 44.773438 100.000000 0.000000 55.226562 0.000000 0.000000
  move_to -100.000000 -100.000000
  curve_to -44.773438 -100.000000 0.000000 -55.226562 0.000000 0.000000
  move_to 36.601562 -136.601562
  curve_to 64.214844 -88.773438 47.828125 -27.613281 0.000000 0.000000

-- 
Configure bugmail: https://bugs.freedesktop.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA contact for the bug.


More information about the cairo-bugs mailing list