From 70f3036f5831468247aa1823c217539dcd0f3f30 Mon Sep 17 00:00:00 2001 From: schroda <50052685+schroda@users.noreply.github.com> Date: Tue, 19 May 2026 23:05:09 +0200 Subject: [PATCH] Fix NullPointerException (#2056) --- .../suwayomi/tachidesk/manga/impl/Chapter.kt | 22 +++++++++---------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/server/src/main/kotlin/suwayomi/tachidesk/manga/impl/Chapter.kt b/server/src/main/kotlin/suwayomi/tachidesk/manga/impl/Chapter.kt index d8b3011bc..5d0ef590a 100644 --- a/server/src/main/kotlin/suwayomi/tachidesk/manga/impl/Chapter.kt +++ b/server/src/main/kotlin/suwayomi/tachidesk/manga/impl/Chapter.kt @@ -291,18 +291,18 @@ object Chapter { this[ChapterTable.fetchedAt] = it } - val deletedChapter = deletedDownloadedChapterNumberToChapter[chapter.chapterNumber]!! + deletedDownloadedChapterNumberToChapter[chapter.chapterNumber]?.let { + val hasDownloadedPages = it.pageCount > 0 + val isSameName = it.name == chapter.name + val isSameScanlator = it.scanlator == chapter.scanlator - val hasDownloadedPages = deletedChapter.pageCount > 0 - val isSameName = deletedChapter.name == chapter.name - val isSameScanlator = deletedChapter.scanlator == chapter.scanlator - - // Only preserve download status for chapters with the same name and of the same scanlator; otherwise, - // the downloaded files won't be found anyway - val isDownloadPreservable = hasDownloadedPages && isSameName && isSameScanlator - if (isDownloadPreservable) { - this[ChapterTable.isDownloaded] = true - this[ChapterTable.pageCount] = deletedChapter.pageCount + // Only preserve download status for chapters with the same name and of the same scanlator; otherwise, + // the downloaded files won't be found anyway + val isDownloadPreservable = hasDownloadedPages && isSameName && isSameScanlator + if (isDownloadPreservable) { + this[ChapterTable.isDownloaded] = true + this[ChapterTable.pageCount] = it.pageCount + } } } }.forEach { insertedChapters.add(ChapterTable.toDataClass(it)) }