Perhaps this function should not have "warn_unused_result"? I certainly believe it is pretty common that the caller is not interested in whether the result is empty or not! Andrea Canciani wrote: > + not_empty = _cairo_rectangle_intersect (extents, &wrapper->extents);