diff options
Diffstat (limited to 'src/pardes.zig')
| -rw-r--r-- | src/pardes.zig | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/src/pardes.zig b/src/pardes.zig index 3a6e154a..dc2ec59f 100644 --- a/src/pardes.zig +++ b/src/pardes.zig @@ -6995,7 +6995,13 @@ pub const Pardes = struct { var refused = false; while (p.unplaced.findFirstSet()) |id| { p.unplaced.unset(id); - if (p.panes[id] != null) p.removePane(id, null) catch {}; + if (p.panes[id]) |pane| { + // Refused, it was never there: the serial it took is the + // next pane's, as a refused Newcol's column serial is. + const newest = pane.serial == p.next_serial; + p.removePane(id, null) catch {}; + if (newest and p.panes[id] == null) p.next_serial -= 1; + } refused = true; } // A refused pane gone, no pane it squeezed stays under its minimum. |
