git.lucas.co / cce-compositor
Wayland compositor (wlroots)
git clone https://git.lucas.co/cce-compositor.git

commit1b3f25a1b29793e503978d344d088d0ce61ea35b
parentbc973ab0b1
authorIsaac Freund <[email protected]>
date2022-03-28 12:10
layer-shell: fix overflow with large bottom margin

 river/Output.zig | 12 ++++++++----
 1 file changed, 8 insertions(+), 4 deletions(-)

diff --git a/river/Output.zig b/river/Output.zig
index 6f7a76a..4cfbd37 100644
--- a/river/Output.zig
+++ b/river/Output.zig
@@ -320,8 +320,10 @@ fn arrangeLayer(
             new_box.width = current_state.desired_width;
         } else {
             assert(current_state.anchor.right);
-            new_box.x = bounds.x + @intCast(i32, bounds.width - current_state.desired_width -
-                current_state.margin.right);
+            new_box.x = bounds.x + @intCast(i32, bounds.width) -
+                @intCast(i32, current_state.desired_width) -
+                // TODO(wlroots) this type has been corrected to i32 for the next release
+                @intCast(i32, current_state.margin.right);
             new_box.width = current_state.desired_width;
         }
 
@@ -338,8 +340,10 @@ fn arrangeLayer(
             new_box.height = current_state.desired_height;
         } else {
             assert(current_state.anchor.bottom);
-            new_box.y = bounds.y + @intCast(i32, bounds.height - current_state.desired_height -
-                current_state.margin.bottom);
+            new_box.y = bounds.y + @intCast(i32, bounds.height) -
+                @intCast(i32, current_state.desired_height) -
+                // TODO(wlroots) this type has been corrected to i32 for the next release
+                @intCast(i32, current_state.margin.bottom);
             new_box.height = current_state.desired_height;
         }