diff --git a/sw/source/core/txtnode/txtedt.cxx b/sw/source/core/txtnode/txtedt.cxx index 3fbef67..e70e6d9 100644 --- a/sw/source/core/txtnode/txtedt.cxx +++ b/sw/source/core/txtnode/txtedt.cxx @@ -1856,13 +1856,6 @@ void SwTxtNode::CountWords( SwDocStat& rStat, return; } - // make a copy of the text - String rTextCopy = m_Text.Copy( ); - - // mask out the redlined and hidden text with ' ' - const xub_Unicode cChar(' '); - const sal_uInt16 nNumOfMaskedChars = lcl_MaskRedlinesAndHiddenText( *this, rTextCopy, nStt, nEnd, cChar, false ); - // expand text into pConversionMap for scanner rtl::OUString aExpandText; const ModelToViewHelper::ConversionMap* pConversionMap = BuildConversionMap( aExpandText ); @@ -1877,6 +1870,15 @@ void SwTxtNode::CountWords( SwDocStat& rStat, return; } + // make a copy of the expanded text + String textCopy = aExpandText; + + // mask out the redlined and hidden text with ' ' + const xub_Unicode cChar(' '); + const sal_uInt16 nNumOfMaskedChars = lcl_MaskRedlinesAndHiddenText( *this, textCopy, nExpandBegin, nExpandEnd, cChar, false ); + + aExpandText = textCopy; + //do the count // all counts exclude hidden paras and hidden+redlined within para // definition of space/white chars in SwScanner (and BreakIter!)