diff options
author | Caolán McNamara <caolanm@redhat.com> | 2020-07-29 11:09:46 +0100 |
---|---|---|
committer | Caolán McNamara <caolanm@redhat.com> | 2020-07-29 16:15:21 +0200 |
commit | b18a2228add4ba94415628f85c8ccc9f331e4916 (patch) | |
tree | 52af2e53efb3d36bda9bb6f7f5d0f06a5c21ce98 /cui | |
parent | ea98db1dfcb27fbcff00de87e952f8f6a49ef9af (diff) |
tdf#133958 only move the selection to the error if its not already there
Change-Id: I3046c842cc6c8bcc867c79989a8978d382b08269
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/99678
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
Diffstat (limited to 'cui')
-rw-r--r-- | cui/source/dialogs/SpellDialog.cxx | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/cui/source/dialogs/SpellDialog.cxx b/cui/source/dialogs/SpellDialog.cxx index 449e18056788..1a0a08624761 100644 --- a/cui/source/dialogs/SpellDialog.cxx +++ b/cui/source/dialogs/SpellDialog.cxx @@ -1669,8 +1669,17 @@ void SentenceEditWindow_Impl::MoveErrorMarkTo(sal_Int32 nStart, sal_Int32 nEnd, aSet.Put(SvxWeightItem(WEIGHT_BOLD, EE_CHAR_WEIGHT_CTL)); m_xEditEngine->QuickSetAttribs(aSet, ESelection(0, nStart, 0, nEnd)); - // so the editview will autoscroll to make this visible - m_xEditView->SetSelection(ESelection(0, nStart)); + + // Set the selection so the editview will autoscroll to make this visible + // unless (tdf#133958) the selection already overlaps this range + ESelection aCurrentSelection = m_xEditView->GetSelection(); + aCurrentSelection.Adjust(); + bool bCurrentSelectionInRange = nStart <= aCurrentSelection.nEndPos && aCurrentSelection.nStartPos <= nEnd; + if (!bCurrentSelectionInRange) + { + m_xEditView->SetSelection(ESelection(0, nStart)); + } + Invalidate(); m_nErrorStart = nStart; |