Bug 39654 - PDF: stroke is still clipped following reset_clip if clipped fill was performed
Summary: PDF: stroke is still clipped following reset_clip if clipped fill was performed
Status: RESOLVED FIXED
Alias: None
Product: cairo
Classification: Unclassified
Component: pdf backend (show other bugs)
Version: 1.10.3
Hardware: Other All
: medium normal
Assignee: Adrian Johnson
QA Contact: cairo-bugs mailing list
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2011-07-28 18:58 UTC by Ethan Tira-Thompson
Modified: 2011-07-29 04:43 UTC (History)
0 users

See Also:
i915 platform:
i915 features:


Attachments
Sample code to demonstrate the bug (1.40 KB, application/octet-stream)
2011-07-28 18:58 UTC, Ethan Tira-Thompson
Details
The incorrect pdf output (1.04 KB, application/pdf)
2011-07-28 18:58 UTC, Ethan Tira-Thompson
Details
The expected PNG output (5.48 KB, image/png)
2011-07-28 18:59 UTC, Ethan Tira-Thompson
Details

Description Ethan Tira-Thompson 2011-07-28 18:58:14 UTC
Created attachment 49699 [details]
Sample code to demonstrate the bug

In the attached sample code, the left and right sides should be the same, and in PNG output they are.

However, in PDF output, the right side is incorrect: the stroke is clipped even after the clip has been reset.  A second stroke command does 'break out' of the clip.  Also, it appears to be necessary to perform a fill within the clip before resetting in order to produce the bug.
Comment 1 Ethan Tira-Thompson 2011-07-28 18:58:43 UTC
Created attachment 49700 [details]
The incorrect pdf output
Comment 2 Ethan Tira-Thompson 2011-07-28 18:59:12 UTC
Created attachment 49701 [details]
The expected PNG output
Comment 3 Adrian Johnson 2011-07-29 04:43:05 UTC
Fixed in master with http://cgit.freedesktop.org/cairo/commit/?id=c1b0e73578fe2528c8e68e309fd602acaef42e67

The fill and stroke were combined to use the PDF fill-stroke operator but cairo was not noticing that the clip had changed between the fill and stroke.


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.