diff --git a/src/kits/interface/TextView.cpp b/src/kits/interface/TextView.cpp index 708470f86c..4cd7e98e38 100644 --- a/src/kits/interface/TextView.cpp +++ b/src/kits/interface/TextView.cpp @@ -4564,6 +4564,12 @@ BTextView::_PerformMouseMoved(BPoint where, uint32 code) break; } + // position caret to follow the direction of the selection + if (fTrackingMouse->selEnd != fSelEnd) + fClickOffset = fTrackingMouse->selEnd; + else if (fTrackingMouse->selStart != fSelStart) + fClickOffset = fTrackingMouse->selStart; + Select(fTrackingMouse->selStart, fTrackingMouse->selEnd); _TrackMouse(where, NULL);