[Libreoffice-commits] core.git: Branch 'libreoffice-5-2' - editeng/source

Michael Stahl mstahl at redhat.com
Tue Sep 6 07:30:42 UTC 2016


 editeng/source/misc/svxacorr.cxx |    5 +++++
 1 file changed, 5 insertions(+)

New commits:
commit d1de6e3d560407051faddb0497f36f644becd527
Author: Michael Stahl <mstahl at redhat.com>
Date:   Thu Sep 1 23:06:00 2016 +0200

    editeng: don't let wild-card auto-correct leave current word
    
    If a paragraph has e.g. multiple -> in it then auto-correct of the first
    one will create via the .*->.* rule a new auto-correct entry that has as
    long-word the word that contains the first -> until the last -> and
    everything in between.  This will be somewhat irritating when it is
    eventually applied.  Avoid it by limiting the wild-card loop to the
    current word, which is apparently the intent anyway.
    
    (regression from a07425892205ff8951027ea20459b97370d01de6)
    
    Change-Id: I294bae863c44eb460627b61b4383133131fe4b3a
    Reviewed-on: https://gerrit.libreoffice.org/28608
    Reviewed-by: László Németh <nemeth at numbertext.org>
    Tested-by: Jenkins <ci at libreoffice.org>
    Reviewed-by: Michael Stahl <mstahl at redhat.com>
    (cherry picked from commit 9670f0d17ffed1ff07cb1deddcabc26c756e4bc1)
    Reviewed-on: https://gerrit.libreoffice.org/28633
    Reviewed-by: Caolán McNamara <caolanm at redhat.com>
    Tested-by: Caolán McNamara <caolanm at redhat.com>

diff --git a/editeng/source/misc/svxacorr.cxx b/editeng/source/misc/svxacorr.cxx
index 0bfd925..1fe52ca 100644
--- a/editeng/source/misc/svxacorr.cxx
+++ b/editeng/source/misc/svxacorr.cxx
@@ -2823,6 +2823,11 @@ const SvxAutocorrWord* SvxAutocorrWordList::WordMatches(const SvxAutocorrWord *p
                         nSttWdPos = rTxt.indexOf( sTmp, nFndPos);
                         if (nSttWdPos != -1)
                         {
+                            sal_Int32 nTmp(nFndPos);
+                            while (nTmp < nSttWdPos && !IsWordDelim(rTxt[nTmp]))
+                                nTmp++;
+                            if (nTmp < nSttWdPos)
+                                break; // word delimiter found
                             buf.append(rTxt.copy(nFndPos, nSttWdPos - nFndPos)).append(pFnd->GetLong());
                             nFndPos = nSttWdPos + sTmp.getLength();
                         }


More information about the Libreoffice-commits mailing list