[Libreoffice-commits] core.git: Branch 'libreoffice-4-1' - sw/source

Caolán McNamara caolanm at redhat.com
Wed Jun 19 08:36:03 PDT 2013


 sw/source/core/txtnode/txtedt.cxx |   13 +++++++++++++
 1 file changed, 13 insertions(+)

New commits:
commit d1252e284460998d36409d4462e953cc0e813809
Author: Caolán McNamara <caolanm at redhat.com>
Date:   Wed Jun 19 12:14:52 2013 +0100

    bounds can be -1 for not-found
    
    Change-Id: I941ef1dae00167460f2f0de39e472ed047539f27
    (cherry picked from commit 18eba6a69f49c9e8e2902f84e96cb6906ee337f1)
    Reviewed-on: https://gerrit.libreoffice.org/4359
    Reviewed-by: Noel Power <noel.power at suse.com>
    Tested-by: Noel Power <noel.power at suse.com>

diff --git a/sw/source/core/txtnode/txtedt.cxx b/sw/source/core/txtnode/txtedt.cxx
index e1c2824..d498eb7 100644
--- a/sw/source/core/txtnode/txtedt.cxx
+++ b/sw/source/core/txtnode/txtedt.cxx
@@ -593,6 +593,15 @@ void SwTxtNode::RstAttr(const SwIndex &rIdx, xub_StrLen nLen, sal_uInt16 nWhich,
     }
 }
 
+sal_Int32 clipIndexBounds(const OUString &rStr, sal_Int32 nPos)
+{
+    if (nPos < 0)
+        return 0;
+    if (nPos > rStr.getLength())
+        return rStr.getLength();
+    return nPos;
+}
+
 /*************************************************************************
  *                SwTxtNode::GetCurWord()
  *
@@ -638,6 +647,10 @@ XubString SwTxtNode::GetCurWord( xub_StrLen nPos ) const
     if (aBndry.endPos != aBndry.startPos && IsSymbol( (xub_StrLen)aBndry.startPos ))
         aBndry.endPos = aBndry.startPos;
 
+    // can have -1 as start/end of bounds not found
+    aBndry.startPos = clipIndexBounds(m_Text, aBndry.startPos);
+    aBndry.endPos = clipIndexBounds(m_Text, aBndry.endPos);
+
     return m_Text.copy(aBndry.startPos,
                        aBndry.endPos - aBndry.startPos);
 }


More information about the Libreoffice-commits mailing list