From 7443e1377ad6b260f4c9bc14ff02082ced8abb6b Mon Sep 17 00:00:00 2001 From: tiosgz Date: Tue, 19 Jul 2022 09:35:34 +0000 Subject: LayoutDemand: handle too many view dimensions correctly The condition was wrong for the first extra view (0 isn't < 0), plus the counting stopped at that moment. --- river/LayoutDemand.zig | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/river/LayoutDemand.zig b/river/LayoutDemand.zig index 11c3295..4ad65e7 100644 --- a/river/LayoutDemand.zig +++ b/river/LayoutDemand.zig @@ -83,7 +83,10 @@ fn handleTimeout(layout: *Layout) callconv(.C) c_int { /// Push a set of proposed view dimensions and position to the list pub fn pushViewDimensions(self: *Self, output: *Output, x: i32, y: i32, width: u32, height: u32) void { // The client pushed too many dimensions - if (self.views < 0) return; + if (self.views <= 0) { + self.views -= 1; + return; + } // Here we apply the offset to align the coords with the origin of the // usable area and shrink the dimensions to accomodate the border size. -- cgit v1.2.3