From dc6402d1536d355c14d072b7ebfb1f25256099dc Mon Sep 17 00:00:00 2001 From: Kirill Primak Date: Wed, 24 May 2023 09:26:34 +0300 Subject: [PATCH] util/box: transform empty boxes' origins Not a huge fan of this, but changing this behavior would be a breaking change to a stable API. Fixes: https://gitlab.freedesktop.org/wlroots/wlroots/-/issues/3650 --- util/box.c | 16 ++++++---------- 1 file changed, 6 insertions(+), 10 deletions(-) diff --git a/util/box.c b/util/box.c index 46c8c5d6a..bc2c60dd6 100644 --- a/util/box.c +++ b/util/box.c @@ -71,13 +71,11 @@ bool wlr_box_contains_point(const struct wlr_box *box, double x, double y) { void wlr_box_transform(struct wlr_box *dest, const struct wlr_box *box, enum wl_output_transform transform, int width, int height) { - if (wlr_box_empty(box)) { - *dest = (struct wlr_box){0}; - return; + struct wlr_box src = {0}; + if (box != NULL) { + src = *box; } - struct wlr_box src = *box; - if (transform % 2 == 0) { dest->width = src.width; dest->height = src.height; @@ -128,13 +126,11 @@ bool wlr_fbox_empty(const struct wlr_fbox *box) { void wlr_fbox_transform(struct wlr_fbox *dest, const struct wlr_fbox *box, enum wl_output_transform transform, double width, double height) { - if (wlr_fbox_empty(box)) { - *dest = (struct wlr_fbox){0}; - return; + struct wlr_fbox src = {0}; + if (box != NULL) { + src = *box; } - struct wlr_fbox src = *box; - if (transform % 2 == 0) { dest->width = src.width; dest->height = src.height;