When calling <function>cairo_reference</function> the reference count will be increased by one and the caller becomes owner of the <linklinkend="cairo_t">cairo_t</link>. When the creator of the <linklinkend="cairo_t">cairo_t</link> destroys the the object via <linklinkend="cairo_destroy">cairo_destroy</link> the refcount will be decreased but the object will stay valid, since you are still owner of the object.