aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIsaac Freund <mail@isaacfreund.com>2022-05-16 19:03:23 +0200
committerIsaac Freund <mail@isaacfreund.com>2022-05-16 19:03:23 +0200
commit7122df7ec46d03392f2440b9387612c1cc460c14 (patch)
treebe85094228a8e7cad02fe47af229006bf248590b
parent47c02ebcbc484e44db728a84e446e3a159474e71 (diff)
downloadriver-7122df7ec46d03392f2440b9387612c1cc460c14.tar.gz
river-7122df7ec46d03392f2440b9387612c1cc460c14.tar.xz
layer-shell: fix overflow if desired size exceeds output bounds
-rw-r--r--river/Output.zig4
1 files changed, 2 insertions, 2 deletions
diff --git a/river/Output.zig b/river/Output.zig
index 4cfbd37..7be62e8 100644
--- a/river/Output.zig
+++ b/river/Output.zig
@@ -313,7 +313,7 @@ fn arrangeLayer(
new_box.x = bounds.x + @intCast(i32, current_state.margin.left);
new_box.width = bounds.width - (current_state.margin.left + current_state.margin.right);
} else if (current_state.anchor.left == current_state.anchor.right) {
- new_box.x = bounds.x + @intCast(i32, bounds.width / 2 - current_state.desired_width / 2);
+ new_box.x = bounds.x + @intCast(i32, bounds.width / 2 -| current_state.desired_width / 2);
new_box.width = current_state.desired_width;
} else if (current_state.anchor.left) {
new_box.x = bounds.x + @intCast(i32, current_state.margin.left);
@@ -333,7 +333,7 @@ fn arrangeLayer(
new_box.y = bounds.y + @intCast(i32, current_state.margin.top);
new_box.height = bounds.height - (current_state.margin.top + current_state.margin.bottom);
} else if (current_state.anchor.top == current_state.anchor.bottom) {
- new_box.y = bounds.y + @intCast(i32, bounds.height / 2 - current_state.desired_height / 2);
+ new_box.y = bounds.y + @intCast(i32, bounds.height / 2 -| current_state.desired_height / 2);
new_box.height = current_state.desired_height;
} else if (current_state.anchor.top) {
new_box.y = bounds.y + @intCast(i32, current_state.margin.top);