cairo.region.Region.destroy. This function always returns a valid pointer; if memory cannot be allocated, then a special error object is returned where all operations on the object do nothing. You can check for this with cairo.region.Region.status.
Region.copy
cairo.region.Region copy()Allocates a new region object copying the area from original.
Returns
A newly allocated #cairo_region_t. Free with