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">&lt;<a href="mailto:a.g.nienhuis@gmail.com">a.g.nienhuis@gmail.com</a>&gt;</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 &lt;&lt; cairo_status(cr) &lt;&lt; std::endl;</div><div>  cairo_surface_finish(surface);</div>
<div>  std::cout &lt;&lt; cairo_status(cr) &lt;&lt; std::endl;</div><div>  cairo_surface_flush(surface);</div>
<div>  std::cout &lt;&lt; cairo_status(cr) &lt;&lt; std::endl;</div><div>  cairo_surface_destroy(surface);</div><div>  std::cout &lt;&lt; cairo_status(cr) &lt;&lt; std::endl;</div><div>  cairo_destroy(cr);</div><div>  std::cout &lt;&lt; cairo_status(cr) &lt;&lt; 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>&lt;&lt; /Type /Pages</div><div>   /Kids [ ]</div><div>   /Count 0</div><div>&gt;&gt;</div><div>endobj</div><div>2 0 obj</div><div>&lt;&lt; /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>&gt;&gt;</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">&lt;<a href="mailto:ranma42@gmail.com" target="_blank">ranma42@gmail.com</a>&gt;</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 &lt;<a href="mailto:a.g.nienhuis@gmail.com" target="_blank">a.g.nienhuis@gmail.com</a>&gt; wrote:<br>


&gt; Hi,<br>
&gt; If you stroke each line you need (on my system) 500 bytes per line. That<br>
&gt; would be 10GB RAM. I don&#39;t have that. You can use swap (and you need 64<br>
&gt; bits), but it will be very slow.<br>
&gt; If you try to create a path with 20 milion subpaths, cairo will fail<br>
&gt; silently(!!!) which I think is a bug.<br>
</div>It doesn&#39;t fail silently. Check the status of cr after cairo_stroke.<br>
It will say that<br>
you don&#39;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>