From 2147889a2e6acbcf233692d17a0b638a0e8eaec7 Mon Sep 17 00:00:00 2001
From: seth_productengine <none@none>
Date: Wed, 20 Apr 2011 01:17:41 +0300
Subject: [PATCH] STORM-320 FIXED navigation with arrow keys through the text
 with enabled word-wrapping.

---
 indra/llui/lltextbase.cpp | 5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)

diff --git a/indra/llui/lltextbase.cpp b/indra/llui/lltextbase.cpp
index 82269282efc..fd7bb699f85 100644
--- a/indra/llui/lltextbase.cpp
+++ b/indra/llui/lltextbase.cpp
@@ -2022,11 +2022,10 @@ S32 LLTextBase::getDocIndexFromLocalCoord( S32 local_x, S32 local_y, BOOL round,
 			pos = segment_line_start + offset;
 			break;
 		}
-		else if (hit_past_end_of_line && segmentp->getEnd() > line_iter->mDocIndexEnd - 1)	
+		else if (hit_past_end_of_line && segmentp->getEnd() >= line_iter->mDocIndexEnd)
 		{
 			// segment wraps to next line, so just set doc pos to the end of the line
-			// segment wraps to next line, so just set doc pos to start of next line (represented by mDocIndexEnd)
-			pos = llmin(getLength(), line_iter->mDocIndexEnd);
+			pos = llclamp(line_iter->mDocIndexEnd - 1, 0, getLength());
 			break;
 		}
 		start_x += text_width;
-- 
GitLab