diff --git a/include/wlr/util/region.h b/include/wlr/util/region.h index c3f1cbe8..948307a1 100644 --- a/include/wlr/util/region.h +++ b/include/wlr/util/region.h @@ -39,8 +39,8 @@ void wlr_region_transform(pixman_region32_t *dst, const pixman_region32_t *src, enum wl_output_transform transform, int width, int height); /** - * Expands the region of `distance`. If `distance` is negative, it shrinks the - * region. + * Expands the region by distance on both axis. distance must be + * a non-negative number. */ void wlr_region_expand(pixman_region32_t *dst, const pixman_region32_t *src, int distance); diff --git a/util/region.c b/util/region.c index a3b13e06..b74c55e5 100644 --- a/util/region.c +++ b/util/region.c @@ -111,6 +111,8 @@ void wlr_region_transform(pixman_region32_t *dst, const pixman_region32_t *src, void wlr_region_expand(pixman_region32_t *dst, const pixman_region32_t *src, int distance) { + assert(distance >= 0); + if (distance == 0) { pixman_region32_copy(dst, src); return;