Skip to content

Commit 5aaf70d

Browse files
authored
Fix DisposableEffect to correctly dispose of SaveableStateRegistry (JetBrains#2887)
- Ensure a proper reference is used for disposal within `DisposableEffect`. ## Release Notes N/A
1 parent 012b425 commit 5aaf70d

1 file changed

Lines changed: 5 additions & 1 deletion

File tree

compose/ui/ui/src/skikoMain/kotlin/androidx/compose/ui/platform/CompositionLocals.skiko.kt

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -88,7 +88,11 @@ internal fun ProvidePlatformCompositionLocals(
8888
savedStateRegistryOwner = platformContext.architectureComponentsOwner.savedStateRegistryOwner
8989
)
9090
}
91-
DisposableEffect(platformContext) { onDispose { saveableStateRegistry.dispose() } }
91+
DisposableEffect(platformContext) {
92+
//save a reference to dispose of a right object
93+
val registry = saveableStateRegistry
94+
onDispose { registry.dispose() }
95+
}
9296

9397
// TODO: https://youtrack.jetbrains.com/issue/CMP-9752/Properly-implement-HostDefaultProvider-and-LocalHostDefaultProvider-for-CMP
9498
val hostDefaultProvider = remember(platformContext) {

0 commit comments

Comments
 (0)