In cairo.c, for cairo_copy_path_flat, * <listitem>If @cr is already in an error state. In this case * <literal>path->status</literal> will contain the same status that * would be returned by cairo_status().</listitem> But the code says if (cr->status) return (cairo_path_t*) &_cairo_path_nil; Who's right? :-) Rob