Bug 40410

Summary: Some axis-aligned paths are not filled
Product: cairo Reporter: Krzysztof Kosiński <tweenk.pl>
Component: image backendAssignee: Carl Worth <cworth>
Status: RESOLVED FIXED QA Contact: cairo-bugs mailing list <cairo-bugs>
Severity: critical    
Priority: medium    
Version: 1.10.2   
Hardware: All   
OS: Linux (All)   
Whiteboard:
i915 platform: i915 features:
Attachments: Reduced test case
Output of test case, cairo 1.10.2

Description Krzysztof Kosiński 2011-08-26 14:33:26 UTC
Created attachment 50603 [details]
Reduced test case

Attached reduced testcase.

Expected result: filled red rect from about 10,10 to 290,100.
Actual result: very thin red lines corresponding to antialiased pixels at the egdes of that rect.

The bug appears to be triggered if:
1. There is more than one subpath
2. All subpaths are axis-aligned rectangles
3. Only one of the subpaths is within surface bounds

Tweaking any of the coordinates so that there is at least one non-axis-aligned segment or removing the second subpath (the one that is outside the surface bounds) causes the bug to disappear.
Comment 1 Krzysztof Kosiński 2011-08-26 14:35:37 UTC
Created attachment 50605 [details]
Output of test case, cairo 1.10.2
Comment 2 Chris Wilson 2011-08-26 15:06:28 UTC
I added your test case under a general BSD-ish licence, please notify me if you object:

commit 8d91de49261662bc920739bbb91d22a49016eb81
Author: Krzysztof Kosiński <tweenk.pl@gmail.com>
Date:   Fri Aug 26 22:59:01 2011 +0100

    test: Add test case from bug-40410
    
    Exercises a case where we failed to fill a rectangle...

That test case passes for the current master, so until proven otherwise (and we now have the test to do so!), I'm marking this as closed.

Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.