From 985a7705dc34acaabf9d4756b44d94af19915cba Mon Sep 17 00:00:00 2001 From: Julian Mutter Date: Wed, 22 Oct 2025 19:25:55 +0200 Subject: [PATCH] Fix page turning at last page --- lib/sheet_viewer_page.dart | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/lib/sheet_viewer_page.dart b/lib/sheet_viewer_page.dart index 9c59c0b..cca5e70 100644 --- a/lib/sheet_viewer_page.dart +++ b/lib/sheet_viewer_page.dart @@ -291,7 +291,7 @@ class PaintablePages extends StatelessWidget { class Pages extends StatelessWidget { final PdfDocument document; final int numPages; - final int currentPageNumber; + final int currentPageNumber; // Starts at 1 final Config config; const Pages({ @@ -362,7 +362,12 @@ class Pages extends StatelessWidget { (Size, Size?) calcPageSizesScaled(Size parentSize) { if (config.twoPageMode) { Size leftPageSizeUnscaled = _getPageSizeUnscaled(currentPageNumber); - Size rightPageSizeUnscaled = _getPageSizeUnscaled(currentPageNumber + 1); + Size rightPageSizeUnscaled; + if (numPages > currentPageNumber) { + rightPageSizeUnscaled = _getPageSizeUnscaled(currentPageNumber + 1); + } else { + rightPageSizeUnscaled = leftPageSizeUnscaled; + } Size combinedPageSizesUnscaled = Size( leftPageSizeUnscaled.width + rightPageSizeUnscaled.width, max(leftPageSizeUnscaled.height, rightPageSizeUnscaled.height), @@ -389,7 +394,7 @@ class Pages extends StatelessWidget { } Size _getPageSizeUnscaled(int pageNumber) { - return document.pages.elementAt(pageNumber).size; + return document.pages.elementAt(pageNumber - 1).size; } Size _calcScaledPageSize(Size parentSize, Size pageSize) {