diff options
Diffstat (limited to 'src/pdf_view.zig')
| -rw-r--r-- | src/pdf_view.zig | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/src/pdf_view.zig b/src/pdf_view.zig index 5646a92f..e435d777 100644 --- a/src/pdf_view.zig +++ b/src/pdf_view.zig @@ -1877,6 +1877,9 @@ pub fn openPane( id: usize, path: []const u8, page_one_based: usize, + /// A page past the last: the last page (a restore, a start-up), or + /// refused with error.NoSuchPage (a look, which names a place). + past_end: enum { last, refuse }, ) !*pardes.Pane { if (comptime !enabled) return error.PdfDisabled; // The slot stays ours across the read: another request may make a @@ -1891,6 +1894,7 @@ pub fn openPane( break :virtual try State.openBytes(core.pdf_gpa, path, bytes, page_one_based); }; errdefer state.deinit(core.pdf_gpa); + if (past_end == .refuse and page_one_based > state.page_count) return error.NoSuchPage; const pane = try core.newDocPane(id); pane.pdf = state; pane.body.cur_pinned = true; |
