From 17d225b0d9b3a8b5e2398ed70127a99ab398b743 Mon Sep 17 00:00:00 2001 From: AntsyLich <59261191+AntsyLich@users.noreply.github.com> Date: Tue, 22 Apr 2025 19:02:52 +0600 Subject: [PATCH] Fix crash when trying use source sort filter without a pre-selection (#2036) (cherry picked from commit 1c982c2a01c1bba5ec4a955c9bf61cb346c752e7) # Conflicts: # CHANGELOG.md --- .../source/browse/SourceFilterDialog.kt | 30 ++++++++++--------- 1 file changed, 16 insertions(+), 14 deletions(-) diff --git a/app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/browse/SourceFilterDialog.kt b/app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/browse/SourceFilterDialog.kt index fcec11c7d..a976b027d 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/browse/SourceFilterDialog.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/browse/SourceFilterDialog.kt @@ -188,22 +188,24 @@ private fun FilterItem(filter: Filter<*>, onUpdate: () -> Unit/* SY --> */, star ) { Column { filter.values.mapIndexed { index, item -> + val sortAscending = filter.state?.ascending + ?.takeIf { index == filter.state?.index } SortItem( label = item, - sortDescending = filter.state?.ascending?.not() - ?.takeIf { index == filter.state?.index }, - ) { - val ascending = if (index == filter.state?.index) { - !filter.state!!.ascending - } else { - filter.state!!.ascending - } - filter.state = Filter.Sort.Selection( - index = index, - ascending = ascending, - ) - onUpdate() - } + sortDescending = if (sortAscending != null) !sortAscending else null, + onClick = { + val ascending = if (index == filter.state?.index) { + !filter.state!!.ascending + } else { + filter.state?.ascending ?: true + } + filter.state = Filter.Sort.Selection( + index = index, + ascending = ascending, + ) + onUpdate() + }, + ) } } }