diff --git a/lib/modules/manga/reader/providers/reader_controller_provider.dart b/lib/modules/manga/reader/providers/reader_controller_provider.dart index b0e258e8..d787c342 100644 --- a/lib/modules/manga/reader/providers/reader_controller_provider.dart +++ b/lib/modules/manga/reader/providers/reader_controller_provider.dart @@ -368,11 +368,10 @@ class ReaderController extends _$ReaderController { final isRead = (getReaderMode() == ReaderMode.verticalContinuous || getReaderMode() == ReaderMode.webtoon) - ? ((newIndex + 1) == getPageLength([]) - 1) - ? ((newIndex + 1) == getPageLength([]) - 1) - : (newIndex + 1) == getPageLength([]) - : (newIndex + 1) == getPageLength([]); - + ? ((newIndex + 2) == getPageLength([]) - 1) + ? ((newIndex + 2) == getPageLength([]) - 1) + : (newIndex + 2) == getPageLength([]) + : (newIndex + 2) == getPageLength([]); if (isRead || save) { List? chapterPageIndexs = []; for (var chapterPageIndex diff --git a/lib/modules/manga/reader/reader_view.dart b/lib/modules/manga/reader/reader_view.dart index c7fdb495..b4914dd0 100644 --- a/lib/modules/manga/reader/reader_view.dart +++ b/lib/modules/manga/reader/reader_view.dart @@ -556,7 +556,7 @@ class _MangaChapterPageGalleryState onFailedToLoadImage: (value) { // Handle failed image loading if (_failedToLoadImage.value != value && - mounted) { + context.mounted) { _failedToLoadImage.value = value; } }, @@ -956,12 +956,15 @@ class _MangaChapterPageGalleryState ? (_uChapDataPreload.length / 2).ceil() + 1 : _uChapDataPreload.length; if (_currentIndex! >= 0 && _currentIndex! < pagesLength) { + try { + final idx = _uChapDataPreload[_currentIndex!].index; + if (idx != null) { + _readerController.setPageIndex(_geCurrentIndex(idx), false); + } + } catch (_) {} + if (_readerController.chapter.id != _uChapDataPreload[_currentIndex!].chapter!.id) { - final ind = _uChapDataPreload[_currentIndex! - 1].index; - if (ind != null) { - _readerController.setPageIndex(_geCurrentIndex(ind), false); - } if (mounted) { setState(() { _readerController = ref.read( @@ -1129,14 +1132,11 @@ class _MangaChapterPageGalleryState _precacheImages(index + i); _precacheImages(index - i); } - + final idx = _uChapDataPreload[_currentIndex!].index; + if (idx != null) { + _readerController.setPageIndex(_geCurrentIndex(idx), false); + } if (_readerController.chapter.id != _uChapDataPreload[index].chapter!.id) { - if (_uChapDataPreload[_currentIndex!].index != null) { - _readerController.setPageIndex( - _geCurrentIndex(_uChapDataPreload[_currentIndex!].index!), - false, - ); - } if (mounted) { setState(() { _readerController = ref.read(