Bug 89232

Summary: Playback of recording surface into pdf surface is incomplete or blank
Product: cairo Reporter: Caio Prado <cagprado>
Component: pdf backendAssignee: Adrian Johnson <ajohnson>
Status: RESOLVED FIXED QA Contact: cairo-bugs mailing list <cairo-bugs>
Severity: normal    
Priority: high CC: cagprado
Version: unspecified   
Hardware: Other   
OS: Linux (All)   
Whiteboard:
i915 platform: i915 features:
Bug Depends on:    
Bug Blocks: 68382    
Attachments: Simple code that reproduces the described issue.

Description Caio Prado 2015-02-19 16:01:14 UTC
Created attachment 113669 [details]
Simple code that reproduces the described issue.

Hi,

I’ve been trying to create a pdf surface from a recording surface. Attached is a simple c++ code to reproduce the issue. After creating and drawing in the recording surface I replay it in a pdf surface and an image surface in order to compare both results. The code for both are quite the same but the results are not as pdf output is missing one of the blocks.

It seems that every object with negative coordinates in the recording surface don't get drawn in the pdf output but the same kind of problem happens when I uncomment line 9 in the file (cairo_translate(ctx,1000,1000);) where every coordinate is now positive but the pdf output is blank while the png seems to give the expected result.

Cairo 1.14.0, I haven’t tried the stable release.

Attached code compiled with g++ -Wall -O2 $(pkg-config --cflags --libs cairo)

Cheers,
Comment 1 Antonio Ospite 2015-04-24 21:30:39 UTC
Hi, this seems similar to what happens in https://bugs.freedesktop.org/show_bug.cgi?id=35738 and with the SVG backend there is even more strangeness.
Comment 2 Adrian Johnson 2015-10-18 05:35:55 UTC
I managed to get the test case working but it broke the test suite. I'll need more time to investigate.

Also affects the PS backend (and probably other vector backends).
Comment 3 Adrian Johnson 2016-06-05 13:04:14 UTC
I've pushed out a fix for PDF and PS.

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.