From 6032800235d94fd92976fe7d7838bca9eaad33c6 Mon Sep 17 00:00:00 2001 From: sdercolin Date: Tue, 30 Jan 2024 14:12:42 +0900 Subject: [PATCH] Fix screen range for very short entries --- .../vlabeler/ui/editor/labeler/ScreenRangeHelper.kt | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/jvmMain/kotlin/com/sdercolin/vlabeler/ui/editor/labeler/ScreenRangeHelper.kt b/src/jvmMain/kotlin/com/sdercolin/vlabeler/ui/editor/labeler/ScreenRangeHelper.kt index 34995717..de22af1b 100644 --- a/src/jvmMain/kotlin/com/sdercolin/vlabeler/ui/editor/labeler/ScreenRangeHelper.kt +++ b/src/jvmMain/kotlin/com/sdercolin/vlabeler/ui/editor/labeler/ScreenRangeHelper.kt @@ -22,8 +22,10 @@ class ScreenRangeHelper { fun get(canvasLength: Float, scrollState: ScrollState): FloatRange? { if (canvasLength != this.canvasLength) { - if (scrollState.value to scrollState.maxValue == valuePair) { - // scroll state is not up-to-date, return previous value + if (scrollState.value to scrollState.maxValue == valuePair && valuePair != 0 to 0) { + // if valuePair is 0 to 0, it means the data is too short to enable scrolling, + // so it never changes. + // in other cases, when it's not changing, it means scrollState has not been updated. return getRange(this.canvasLength, scrollState.value, scrollState.maxValue) } this.canvasLength = canvasLength