Bug 22098

Summary: Incorrect rendering of shadings
Product: poppler Reporter: Anthony Wesley <awesley>
Component: cairo backendAssignee: poppler-bugs <poppler-bugs>
Status: RESOLVED FIXED QA Contact:
Severity: major    
Priority: medium CC: awesley, jason
Version: unspecified   
Hardware: x86 (IA32)   
OS: Linux (All)   
URL: http://www.acquerra.com.au/poppler/
Whiteboard:
i915 platform: i915 features:
Bug Depends on: 81657    
Bug Blocks:    
Attachments: pdftocairo rendering as of 2014-07-22
Scale radial pattern

Description Anthony Wesley 2009-06-04 16:38:47 UTC
Poppler 0.10.7 (May 16 2009) incorrectly renders a sample PDF.

Here is the PDF and the image as rendered by poppler:
http://www.acquerra.com.au/poppler/

I thought this might have been an axial shading bug, but that is listed as fixed in this release?

regards, Anthony
Comment 1 Albert Astals Cid 2009-06-06 02:53:23 UTC
We fixed a problem in axial shadings yes, are all shadings 100% perfect, no. 
Comment 2 Carlos Garcia Campos 2009-11-18 09:49:05 UTC
It seems to work with splash, not with cairo. 
Comment 3 Jason Crain 2014-07-22 06:20:44 UTC
Created attachment 103255 [details]
pdftocairo rendering as of 2014-07-22

The current pdftocairo rendering is much improved compared to the linked image.  There is still a problem where part of the ducks' bills are missing.  Attached is an image of the current rendering.

As I investigate it, the cause is looking really similar to bug #33364, where cairo does not like the pattern's matrix.
Comment 4 Jason Crain 2014-07-23 05:51:34 UTC
Submitted cairo bug #81657 - Does not draw with radial pattern if scaling is too small
Comment 5 Jason Crain 2014-09-02 01:28:12 UTC
Created attachment 105580 [details] [review]
Scale radial pattern

This patch is a workaround for the limitation in cairo.  It scales the pattern and sets a transformation matrix to avoid overflowing pixman's calculations.
Comment 6 Carlos Garcia Campos 2015-12-04 10:43:23 UTC
Pushed, sorry for the delay reviewing this. Thanks!

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.