Created attachment 113669 [details]
Simple code that reproduces the described issue.
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)
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.
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).
I've pushed out a fix for PDF and PS.