diff options
author | Muhammad Haggag <mhaggag@gmail.com> | 2012-06-13 16:45:06 +0200 |
---|---|---|
committer | Caolán McNamara <caolanm@redhat.com> | 2012-06-15 16:36:48 +0100 |
commit | 6c14d15dbbdc8920e1695b5fdc32b6519508815d (patch) | |
tree | 2b7ff3dcc2d32c242f1472e15e7a4112bd2a9a63 /sw | |
parent | 43103840303f9e18ff013ac6cbb5cfa4eb9cdf9a (diff) |
fdo#46757 Word/character count incorrect with record changes enabled
We were ignoring redlined (deleted) text when counting characters, but not when counting
words or characters without spaces. We now mask all redlined/hidden content from the
expanded node text before operating on it.
Change-Id: If882a6dde883a2ba0ca99909ca7ac2b9abd4a1fb
Diffstat (limited to 'sw')
-rw-r--r-- | sw/source/core/txtnode/txtedt.cxx | 13 |
1 files changed, 6 insertions, 7 deletions
diff --git a/sw/source/core/txtnode/txtedt.cxx b/sw/source/core/txtnode/txtedt.cxx index 3fbef67eba57..7f350c6f68d7 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,12 @@ void SwTxtNode::CountWords( SwDocStat& rStat, return; } + // make a copy of the expanded text for masking redlined/hidden text with ' ' + String textCopy = aExpandText; + 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!) |