diff --git a/platform/jewel/int-ui/int-ui-standalone/src/main/kotlin/org/jetbrains/jewel/intui/standalone/popup/JDialogRenderer.kt b/platform/jewel/int-ui/int-ui-standalone/src/main/kotlin/org/jetbrains/jewel/intui/standalone/popup/JDialogRenderer.kt index de746621d1612..a39ce549b15bb 100644 --- a/platform/jewel/int-ui/int-ui-standalone/src/main/kotlin/org/jetbrains/jewel/intui/standalone/popup/JDialogRenderer.kt +++ b/platform/jewel/int-ui/int-ui-standalone/src/main/kotlin/org/jetbrains/jewel/intui/standalone/popup/JDialogRenderer.kt @@ -31,10 +31,10 @@ import androidx.compose.ui.layout.MeasureResult import androidx.compose.ui.layout.MeasureScope import androidx.compose.ui.layout.boundsInRoot import androidx.compose.ui.layout.onGloballyPositioned -import androidx.compose.ui.platform.LocalDensity import androidx.compose.ui.semantics.popup import androidx.compose.ui.semantics.semantics import androidx.compose.ui.unit.Constraints +import androidx.compose.ui.unit.Density import androidx.compose.ui.unit.IntOffset import androidx.compose.ui.unit.IntRect import androidx.compose.ui.unit.IntSize @@ -166,7 +166,6 @@ private fun JPopupImpl( blendingEnabled: Boolean, content: @Composable () -> Unit, ) { - val popupDensity = LocalDensity.current val component = LocalComponent.current val currentContent by rememberUpdatedState(content) @@ -252,7 +251,10 @@ private fun JPopupImpl( JBR.getRoundedCornersManager() .setRoundedCorners( dialog, - cornerSize.toPx(size.toSize(), popupDensity) / dialog.density(), + cornerSize.toPx( + size.toSize(), + Density(dialog.density()), + ) / dialog.density(), ) } } @@ -270,7 +272,7 @@ private fun JPopupImpl( val rectValue = popupRectangle LaunchedEffect(rectValue) { - val rectangle = rectValue?.withDensity(popupDensity.density) ?: return@LaunchedEffect + val rectangle = rectValue?.withDensity(dialog.density()) ?: return@LaunchedEffect dialog.size = rectangle.size dialog.location = rectangle.location.fromCurrentScreenToGlobal(window) } @@ -419,7 +421,7 @@ private fun Rectangle.withDensity(density: Float): Rectangle = @Composable private fun ProvideValuesFromOtherContext(context: CompositionLocalContext, content: @Composable () -> Unit) { val existingContext = currentCompositionLocalContext - CompositionLocalProvider(context) { CompositionLocalProvider(existingContext, content) } + CompositionLocalProvider(existingContext) { CompositionLocalProvider(context, content) } } /** Returns the screen density of the component's current monitor. */