From 1638f0f08bcc9c506d83e8a96d775d8e46663267 Mon Sep 17 00:00:00 2001 From: Oleksandr Karpovich Date: Thu, 21 Oct 2021 19:02:01 +0200 Subject: [PATCH] web: fix mouse event for safari mobile (#1288) Co-authored-by: Oleksandr Karpovich --- .../jetbrains/compose/web/events/SyntheticMouseEvent.kt | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/web/core/src/jsMain/kotlin/org/jetbrains/compose/web/events/SyntheticMouseEvent.kt b/web/core/src/jsMain/kotlin/org/jetbrains/compose/web/events/SyntheticMouseEvent.kt index 37f3ae9da7..872921283e 100644 --- a/web/core/src/jsMain/kotlin/org/jetbrains/compose/web/events/SyntheticMouseEvent.kt +++ b/web/core/src/jsMain/kotlin/org/jetbrains/compose/web/events/SyntheticMouseEvent.kt @@ -23,8 +23,12 @@ open class SyntheticMouseEvent internal constructor( val clientY: Int = nativeEvent.clientY val ctrlKey: Boolean = nativeEvent.ctrlKey val metaKey: Boolean = nativeEvent.metaKey - val movementX: Int = nativeEvent.asDynamic().movementX as Int - val movementY: Int = nativeEvent.asDynamic().movementY as Int + + // https://github.com/JetBrains/compose-jb/issues/1053 + // movementX and movementY are undefined in SafariMobile MouseEvent + val movementX: Int = (nativeEvent.asDynamic().movementX as? Int) ?: 0 + val movementY: Int = (nativeEvent.asDynamic().movementY as? Int) ?: 0 + val offsetX: Double = nativeEvent.offsetX val offsetY: Double = nativeEvent.offsetY val pageX: Double = nativeEvent.pageX