浏览代码

MangaPresenter: Fix incorrect range selection (#7709)

Ivan Iskandar 2 年之前
父节点
当前提交
f7b11f2ce9
共有 1 个文件被更改,包括 5 次插入5 次删除
  1. 5 5
      app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaPresenter.kt

+ 5 - 5
app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaPresenter.kt

@@ -753,13 +753,13 @@ class MangaPresenter(
         fromLongPress: Boolean = false,
     ) {
         updateSuccessState { successState ->
-            val modifiedIndex = successState.chapters.indexOfFirst { it.chapter.id == item.chapter.id }
-            if (modifiedIndex < 0) return@updateSuccessState successState
+            val newChapters = successState.processedChapters.toMutableList().apply {
+                val modifiedIndex = successState.processedChapters.indexOfFirst { it == item }
+                if (modifiedIndex < 0) return@apply
 
-            val oldItem = successState.chapters[modifiedIndex]
-            if ((oldItem.selected && selected) || (!oldItem.selected && !selected)) return@updateSuccessState successState
+                val oldItem = get(modifiedIndex)
+                if ((oldItem.selected && selected) || (!oldItem.selected && !selected)) return@apply
 
-            val newChapters = successState.chapters.toMutableList().apply {
                 val firstSelection = none { it.selected }
                 var newItem = removeAt(modifiedIndex)
                 add(modifiedIndex, newItem.copy(selected = selected))