From c2ae0d9937785083eda671c47ed9a1f03d77ba86 Mon Sep 17 00:00:00 2001 From: "Evgeny @ SimpleX Chat" <259188159+evgeny-simplex@users.noreply.github.com> Date: Wed, 1 Apr 2026 22:52:57 +0000 Subject: [PATCH] fix ranges --- .../chat/simplex/common/views/chat/TextSelection.kt | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/views/chat/TextSelection.kt b/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/views/chat/TextSelection.kt index 738a107652..824c4f4166 100644 --- a/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/views/chat/TextSelection.kt +++ b/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/views/chat/TextSelection.kt @@ -145,15 +145,15 @@ fun selectedRange(range: SelectionRange?, index: Int): IntRange? { if (index < lo || index > hi) return null return when { index == r.startIndex && index == r.endIndex -> - if (r.startOffset < 0 || r.endOffset < 0) null - else minOf(r.startOffset, r.endOffset) .. maxOf(r.startOffset, r.endOffset) + if (r.startOffset < 0 || r.endOffset < 0 || r.startOffset == r.endOffset) null + else minOf(r.startOffset, r.endOffset) .. (maxOf(r.startOffset, r.endOffset) - 1) index == r.startIndex -> if (r.startOffset < 0) null else if (r.startIndex > r.endIndex) r.startOffset until Int.MAX_VALUE - else 0 .. r.startOffset + else 0 until r.startOffset index == r.endIndex -> if (r.endOffset < 0) null - else if (r.endIndex < r.startIndex) 0 .. r.endOffset + else if (r.endIndex < r.startIndex) 0 until r.endOffset else r.endOffset until Int.MAX_VALUE else -> 0 until Int.MAX_VALUE }