[Libreoffice-commits] core.git: editeng/source
Michael Stahl
mstahl at redhat.com
Fri Sep 2 21:00:35 UTC 2016
editeng/source/misc/svxacorr.cxx | 5 +++++
1 file changed, 5 insertions(+)
New commits:
commit 9670f0d17ffed1ff07cb1deddcabc26c756e4bc1
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>
diff --git a/editeng/source/misc/svxacorr.cxx b/editeng/source/misc/svxacorr.cxx
index b726fe1..5195342 100644
--- a/editeng/source/misc/svxacorr.cxx
+++ b/editeng/source/misc/svxacorr.cxx
@@ -2830,6 +2830,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