浏览代码

Avoid potential crash when opening library settings sheet 2.0 (#9419)

Avoid potential crash when opening library settings sheet  2.0

Previous one had issues
AntsyLich 1 年之前
父节点
当前提交
6bdc1b676e
共有 1 个文件被更改,包括 12 次插入5 次删除
  1. 12 5
      app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryTab.kt

+ 12 - 5
app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryTab.kt

@@ -205,11 +205,18 @@ object LibraryTab : Tab {
 
         val onDismissRequest = screenModel::closeDialog
         when (val dialog = state.dialog) {
-            is LibraryScreenModel.Dialog.SettingsSheet -> LibrarySettingsDialog(
-                onDismissRequest = onDismissRequest,
-                screenModel = settingsScreenModel,
-                category = state.categories[screenModel.activeCategoryIndex],
-            )
+            is LibraryScreenModel.Dialog.SettingsSheet -> run {
+                val category = state.categories.getOrNull(screenModel.activeCategoryIndex)
+                if (category == null) {
+                    onDismissRequest()
+                    return@run
+                }
+                LibrarySettingsDialog(
+                    onDismissRequest = onDismissRequest,
+                    screenModel = settingsScreenModel,
+                    category = category,
+                )
+            }
             is LibraryScreenModel.Dialog.ChangeCategory -> {
                 ChangeCategoryDialog(
                     initialSelection = dialog.initialSelection,