From 6949d0fd381dcb5df61d78b34b325473a113f279 Mon Sep 17 00:00:00 2001 From: Guido Cella Date: Thu, 27 Aug 2020 15:40:15 +0200 Subject: [PATCH] render: Don't crash on 0 dimensions Don't force compositors to check when an empty shape is being renderered. References #2282. This was motivated by dwl crashing when setting window borders to 0 (djpohly/dwl#51). --- render/wlr_renderer.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/render/wlr_renderer.c b/render/wlr_renderer.c index 593d165f..8fa11cc9 100644 --- a/render/wlr_renderer.c +++ b/render/wlr_renderer.c @@ -99,6 +99,9 @@ bool wlr_render_subtexture_with_matrix(struct wlr_renderer *r, void wlr_render_rect(struct wlr_renderer *r, const struct wlr_box *box, const float color[static 4], const float projection[static 9]) { + if (box->width == 0 || box->height == 0) { + return; + } assert(box->width > 0 && box->height > 0); float matrix[9]; wlr_matrix_project_box(matrix, box, WL_OUTPUT_TRANSFORM_NORMAL, 0, @@ -115,6 +118,9 @@ void wlr_render_quad_with_matrix(struct wlr_renderer *r, void wlr_render_ellipse(struct wlr_renderer *r, const struct wlr_box *box, const float color[static 4], const float projection[static 9]) { + if (box->width == 0 || box->height == 0) { + return; + } assert(box->width > 0 && box->height > 0); float matrix[9]; wlr_matrix_project_box(matrix, box, WL_OUTPUT_TRANSFORM_NORMAL, 0,