render: assert sane values for box functions

Width and height should always be > 0 for render functions which take a
wlr_box.

References https://github.com/swaywm/wlroots/issues/2281
This commit is contained in:
Rouven Czerwinski 2020-06-16 07:21:36 +02:00 committed by Simon Ser
parent cae533cad2
commit d3d1bac1c2

View file

@ -86,6 +86,7 @@ bool wlr_render_texture_with_matrix(struct wlr_renderer *r,
void wlr_render_rect(struct wlr_renderer *r, const struct wlr_box *box, void wlr_render_rect(struct wlr_renderer *r, const struct wlr_box *box,
const float color[static 4], const float projection[static 9]) { const float color[static 4], const float projection[static 9]) {
assert(box->width > 0 && box->height > 0);
float matrix[9]; float matrix[9];
wlr_matrix_project_box(matrix, box, WL_OUTPUT_TRANSFORM_NORMAL, 0, wlr_matrix_project_box(matrix, box, WL_OUTPUT_TRANSFORM_NORMAL, 0,
projection); projection);
@ -101,6 +102,7 @@ void wlr_render_quad_with_matrix(struct wlr_renderer *r,
void wlr_render_ellipse(struct wlr_renderer *r, const struct wlr_box *box, void wlr_render_ellipse(struct wlr_renderer *r, const struct wlr_box *box,
const float color[static 4], const float projection[static 9]) { const float color[static 4], const float projection[static 9]) {
assert(box->width > 0 && box->height > 0);
float matrix[9]; float matrix[9];
wlr_matrix_project_box(matrix, box, WL_OUTPUT_TRANSFORM_NORMAL, 0, wlr_matrix_project_box(matrix, box, WL_OUTPUT_TRANSFORM_NORMAL, 0,
projection); projection);