summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPedro CĂ´rte-Real <pedro@pedrocr.net>2019-07-28 11:29:48 +0100
committerDrew DeVault <sir@cmpwn.com>2020-01-08 10:27:20 -0500
commit9ad22109bb9d819ddcb19718cbe7a95c1764a8d9 (patch)
tree9b7de0abdf1414d5910fe24f31aed4b1aabc5cea
parentc284ed379c60884f70418e6720a41c3af6e600e2 (diff)
Make sure we don't calculate fractional pixel gaps
When gaps are resized for lack of space the calculation could result in a gap size of non-integer pixels. This would result in containers located at non-integer pixels which would be subtly broken.
-rw-r--r--sway/tree/arrange.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/sway/tree/arrange.c b/sway/tree/arrange.c
index e4f59110b..bac9f2fa9 100644
--- a/sway/tree/arrange.c
+++ b/sway/tree/arrange.c
@@ -71,7 +71,7 @@ static void apply_horiz_layout(list_t *children, struct wlr_box *parent) {
double total_gap = fmin(inner_gap * (children->length - 1),
fmax(0, parent->width - MIN_SANE_W * children->length));
double child_total_width = parent->width - total_gap;
- inner_gap = total_gap / (children->length - 1);
+ inner_gap = floor(total_gap / (children->length - 1));
// Resize windows
sway_log(SWAY_DEBUG, "Arranging %p horizontally", parent);
@@ -150,7 +150,7 @@ static void apply_vert_layout(list_t *children, struct wlr_box *parent) {
double total_gap = fmin(inner_gap * (children->length - 1),
fmax(0, parent->height - MIN_SANE_H * children->length));
double child_total_height = parent->height - total_gap;
- inner_gap = total_gap / (children->length - 1);
+ inner_gap = floor(total_gap / (children->length - 1));
// Resize windows
sway_log(SWAY_DEBUG, "Arranging %p vertically", parent);