starmath/source/document.cxx | 29 +++++++++++------------------ 1 file changed, 11 insertions(+), 18 deletions(-)
New commits: commit 17ff0d2b866f0e501057695d1485bf7d8d882f2a Author: Thomas Arnhold <tho...@arnhold.org> Date: Wed Sep 4 22:24:21 2013 +0200 String to OUString for SmDocShell::ReplaceBadChars And simplify a little bit. Change-Id: I3b3cf2ea29f59f173e74b59a8e999f19f86e9a0a Reviewed-on: https://gerrit.libreoffice.org/5818 Tested-by: Andrzej J.R. Hunt <andr...@ahunt.org> Reviewed-by: Andrzej J.R. Hunt <andr...@ahunt.org> diff --git a/starmath/source/document.cxx b/starmath/source/document.cxx index 5d1fde8..5923fe4 100644 --- a/starmath/source/document.cxx +++ b/starmath/source/document.cxx @@ -873,31 +873,24 @@ sal_Bool SmDocShell::Save() sal_Bool SmDocShell::ReplaceBadChars() { sal_Bool bReplace = sal_False; + if (pEditEngine) { - String aEngTxt( pEditEngine->GetText( LINEEND_LF ) ); - const sal_Unicode *pEngTxt = aEngTxt.GetBuffer(); - xub_StrLen nLen = aEngTxt.Len(); - for (xub_StrLen i = 0; i < nLen && !bReplace; ++i) - { - const sal_Unicode c = *pEngTxt++; - if (c < ' ' && c != '\r' && c != '\n' && c != '\t') - bReplace = sal_True; - } - if (bReplace) + OUStringBuffer aBuf( pEditEngine->GetText( LINEEND_LF ) ); + + for (sal_Int32 i = 0; i < aBuf.getLength(); ++i) { - sal_Unicode *pChgTxt = aEngTxt.GetBufferAccess(); - for (xub_StrLen i = 0; i < nLen; ++i) + if (aBuf[i] < ' ' && aBuf[i] != '\r' && aBuf[i] != '\n' && aBuf[i] != '\t') { - sal_Unicode &rc = *pChgTxt++; - if (rc < ' ' && rc != '\r' && rc != '\n' && rc != '\t') - rc = ' '; + aBuf[i] = ' '; + bReplace = sal_True; } - aEngTxt.ReleaseBufferAccess( nLen ); - - aText = aEngTxt; } + + if (bReplace) + aText = aBuf.makeStringAndClear(); } + return bReplace; } _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits