summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Stahl <mstahl@redhat.com>2016-09-01 23:06:00 +0200
committerMiklos Vajna <vmiklos@collabora.co.uk>2016-09-08 15:09:31 +0000
commit0c0c421f1936417d72d6268aaeee86d119ae8841 (patch)
tree83e73eb5c9a3df933a02fe106b0f84b4370f4d1a
parent0ac170beb986997d57fd14c7dcdfff8f46820699 (diff)
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@numbertext.org> Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Michael Stahl <mstahl@redhat.com> (cherry picked from commit 9670f0d17ffed1ff07cb1deddcabc26c756e4bc1) Reviewed-on: https://gerrit.libreoffice.org/28634 Reviewed-by: Miklos Vajna <vmiklos@collabora.co.uk>
-rw-r--r--editeng/source/misc/svxacorr.cxx5
1 files changed, 5 insertions, 0 deletions
diff --git a/editeng/source/misc/svxacorr.cxx b/editeng/source/misc/svxacorr.cxx
index 7c459f46b818..51bb16c3c768 100644
--- a/editeng/source/misc/svxacorr.cxx
+++ b/editeng/source/misc/svxacorr.cxx
@@ -2833,6 +2833,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();
}