From 107ce0bba036f729959f41635aa2cb01401e5807 Mon Sep 17 00:00:00 2001 From: Stefano Ceccherini Date: Thu, 3 May 2007 15:15:23 +0000 Subject: [PATCH] Fixed a bug in selection via keyboard (the problem described in bug #716, comment #4) git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20997 a95241bf-73f2-0310-859d-f6bbb57e9c96 --- src/kits/interface/TextView.cpp | 20 ++++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) diff --git a/src/kits/interface/TextView.cpp b/src/kits/interface/TextView.cpp index 3e4eebbab7..e2e8bf7c5d 100644 --- a/src/kits/interface/TextView.cpp +++ b/src/kits/interface/TextView.cpp @@ -2861,10 +2861,12 @@ BTextView::HandleArrowKey(uint32 inArrowKey) point.y -= height; fClickOffset = OffsetAt(point); if (shiftDown) { - if (fClickOffset >= fSelStart) - selEnd = fClickOffset; - else - selStart = fClickOffset; + if (fClickOffset != currentOffset) { + if (fClickOffset >= fSelStart) + selEnd = fClickOffset; + else + selStart = fClickOffset; + } } break; } @@ -2876,10 +2878,12 @@ BTextView::HandleArrowKey(uint32 inArrowKey) point.y += height; fClickOffset = OffsetAt(point); if (shiftDown) { - if (fClickOffset <= fSelEnd) - selStart = fClickOffset; - else - selEnd = fClickOffset; + if (fClickOffset != currentOffset) { + if (fClickOffset <= fSelEnd) + selStart = fClickOffset; + else + selEnd = fClickOffset; + } } break; }