With the todays git I get the same pdf and:<div><br></div><div><div>0</div><div>0</div><div>0</div><div>0</div><div>0</div><div>7</div><div><br></div><div>So</div><div><br></div><div><div> cairo_destroy(cr); cairo_status(cr);</div>
<div> </div></div><div>returns CAIRO_STATUS_NULL_POINTER</div><br><div class="gmail_quote">On Mon, Aug 30, 2010 at 12:28 PM, Arjen Nienhuis <span dir="ltr"><<a href="mailto:a.g.nienhuis@gmail.com">a.g.nienhuis@gmail.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;"><div> cairo_stroke(cr);</div><div> std::cout << cairo_status(cr) << std::endl;</div><div> cairo_surface_finish(surface);</div>
<div> std::cout << cairo_status(cr) << std::endl;</div><div> cairo_surface_flush(surface);</div>
<div> std::cout << cairo_status(cr) << std::endl;</div><div> cairo_surface_destroy(surface);</div><div> std::cout << cairo_status(cr) << std::endl;</div><div> cairo_destroy(cr);</div><div> std::cout << cairo_status(cr) << std::endl;</div>
<div><br></div><div>gives me:</div><div><br></div><div><div>0</div><div>0</div><div>0</div><div>0</div><div>0</div><div>0</div></div><div><br></div><div>And there is plenty of memory. I did an strace and i ran it in gdb and there are no errors. The pdf file is there without /Kids.</div>
<div><br></div><div><div>1 0 obj</div><div><< /Type /Pages</div><div> /Kids [ ]</div><div> /Count 0</div><div>>></div><div>endobj</div><div>2 0 obj</div><div><< /Creator (cairo 1.8.10 (<a href="http://cairographics.org" target="_blank">http://cairographics.org</a>))</div>
<div> /Producer (cairo 1.8.10 (<a href="http://cairographics.org" target="_blank">http://cairographics.org</a>))</div><div>>></div></div><div><div></div><div class="h5"><div><br></div><div class="gmail_quote">On Mon, Aug 30, 2010 at 12:18 PM, Andrea Canciani <span dir="ltr"><<a href="mailto:ranma42@gmail.com" target="_blank">ranma42@gmail.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div>On Mon, Aug 30, 2010 at 12:04 PM, Arjen Nienhuis <<a href="mailto:a.g.nienhuis@gmail.com" target="_blank">a.g.nienhuis@gmail.com</a>> wrote:<br>
> Hi,<br>
> If you stroke each line you need (on my system) 500 bytes per line. That<br>
> would be 10GB RAM. I don't have that. You can use swap (and you need 64<br>
> bits), but it will be very slow.<br>
> If you try to create a path with 20 milion subpaths, cairo will fail<br>
> silently(!!!) which I think is a bug.<br>
</div>It doesn't fail silently. Check the status of cr after cairo_stroke.<br>
It will say that<br>
you don't have enough memory (CAIRO_STATUS_NO_MEMORY).<br>
You might also want to check the status after finishing the surface<br>
(before destroying it).<br>
<font color="#888888">Andrea<br>
</font></blockquote></div><br>
</div></div></blockquote></div><br></div>