From 9371ee2963254ba60f26c5c69fb046cff78464f3 Mon Sep 17 00:00:00 2001 From: CJ van den Berg Date: Wed, 5 Jun 2024 21:13:58 +0200 Subject: [PATCH] fix: crash on move_page_down if file size is exactly view size --- src/buffer/Cursor.zig | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/src/buffer/Cursor.zig b/src/buffer/Cursor.zig index 6dcdd26..7f04fa0 100644 --- a/src/buffer/Cursor.zig +++ b/src/buffer/Cursor.zig @@ -95,11 +95,9 @@ pub fn move_page_up(self: *Self, root: Buffer.Root, view: *const View, plane: Pl } pub fn move_page_down(self: *Self, root: Buffer.Root, view: *const View, plane: Plane) void { - if (root.lines() < view.rows) { - self.move_buffer_last(root, plane); - } else if (self.row < root.lines() - view.rows - 1) { + if (root.lines() > self.row + view.rows) { self.row += view.rows; - } else self.row = root.lines() - 1; + } else self.move_buffer_last(root, plane); self.follow_target(root, plane); self.move_left_no_target(root, plane) catch return; self.move_right_no_target(root, plane) catch return;