cui/source/dialogs/SpellDialog.cxx | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-)
New commits: commit 03b462fb609c57cb098069f19b7076c57710906e Author: Caolán McNamara <caol...@redhat.com> AuthorDate: Wed Jul 29 11:09:46 2020 +0100 Commit: Caolán McNamara <caol...@redhat.com> CommitDate: Wed Jul 29 14:53:38 2020 +0200 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/+/99607 Reviewed-by: Michael Stahl <michael.st...@cib.de> Tested-by: Jenkins diff --git a/cui/source/dialogs/SpellDialog.cxx b/cui/source/dialogs/SpellDialog.cxx index 26c3b3bc4098..204a0b308a2e 100644 --- a/cui/source/dialogs/SpellDialog.cxx +++ b/cui/source/dialogs/SpellDialog.cxx @@ -1671,8 +1671,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; _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits