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; }