Fix crash when opening archives simultaneously

This commit is contained in:
FooIbar authored and renovate[bot] committed 2024-07-30 16:27:16 +08:00
1 parent 9322b80790
commit 7d6a9b10e4
2 files changed
+10 -7

No files matched your search

@@ -281,14 +281,14 @@ suspend fun removeFromFavorites(galleryInfo: BaseGalleryInfo) = doModifyFavorite
localFavorited = EhDB.containLocalFavorites(galleryInfo.gid),
)
context (DestinationsNavigator)
fun navToReader(
info: BaseGalleryInfo,
page: Int = -1,
) = navigate(ReaderScreenDestination(ReaderScreenArgs.Gallery(info, page)))
fun DestinationsNavigator.navToReader(info: BaseGalleryInfo, page: Int = -1) =
navToReader(ReaderScreenArgs.Gallery(info, page))
fun DestinationsNavigator.navToReader(uri: Uri) =
navigate(ReaderScreenDestination(ReaderScreenArgs.Archive(uri)))
navToReader(ReaderScreenArgs.Archive(uri))
private fun DestinationsNavigator.navToReader(args: ReaderScreenArgs) =
navigate(ReaderScreenDestination(args)) { launchSingleTop = true }
context(DialogState, Context, DestinationsNavigator)
suspend fun doGalleryInfoAction(info: BaseGalleryInfo) {
@@ -34,6 +34,7 @@ import androidx.compose.runtime.DisposableEffect
import androidx.compose.runtime.LaunchedEffect
import androidx.compose.runtime.State
import androidx.compose.runtime.getValue
import androidx.compose.runtime.key
import androidx.compose.runtime.mutableStateOf
import androidx.compose.runtime.remember
import androidx.compose.runtime.rememberUpdatedState
@@ -114,7 +115,9 @@ fun AnimatedVisibilityScope.ReaderScreen(args: ReaderScreenArgs, navigator: Dest
) { error ->
if (error == null) {
val info = (args as? ReaderScreenArgs.Gallery)?.info
ReaderScreen(pageLoader, info, navigator)
key(pageLoader) {
ReaderScreen(pageLoader, info, navigator)
}
} else {
Box(Modifier.fillMaxSize().background(bgColor), contentAlignment = Alignment.Center) {
Text(