From 7122df7ec46d03392f2440b9387612c1cc460c14 Mon Sep 17 00:00:00 2001 From: Isaac Freund Date: Mon, 16 May 2022 19:03:23 +0200 Subject: [PATCH] layer-shell: fix overflow if desired size exceeds output bounds --- river/Output.zig | 4 ++-- 1 file 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);