sw: these SwRedlineItr members index into the SwRedlineTable, not the node
Change-Id: Idb04fcb46a72d63d4f35b61eb0333ebd6abaaf0c Reviewed-on: https://gerrit.libreoffice.org/54309 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Michael Stahl <Michael.Stahl@cib.de>
This commit is contained in:
@@ -160,7 +160,7 @@ void SwAttrIter::CtorInitAttrIter( SwTextNode& rTextNode, SwScriptInfo& rScrInf,
|
|||||||
//
|
//
|
||||||
// If m_bOn is set, the font has been manipulated according to it.
|
// If m_bOn is set, the font has been manipulated according to it.
|
||||||
//
|
//
|
||||||
// If m_nAct is set to COMPLETE_STRING (via Reset()), then currently no
|
// If m_nAct is set to SwRedlineTable::npos (via Reset()), then currently no
|
||||||
// Redline is active, m_nStart and m_nEnd are invalid.
|
// Redline is active, m_nStart and m_nEnd are invalid.
|
||||||
SwRedlineItr::SwRedlineItr( const SwTextNode& rTextNd, SwFont& rFnt,
|
SwRedlineItr::SwRedlineItr( const SwTextNode& rTextNd, SwFont& rFnt,
|
||||||
SwAttrHandler& rAH, sal_Int32 nRed, bool bShow,
|
SwAttrHandler& rAH, sal_Int32 nRed, bool bShow,
|
||||||
@@ -170,7 +170,7 @@ SwRedlineItr::SwRedlineItr( const SwTextNode& rTextNd, SwFont& rFnt,
|
|||||||
, m_rAttrHandler( rAH )
|
, m_rAttrHandler( rAH )
|
||||||
, m_nNdIdx( rTextNd.GetIndex() )
|
, m_nNdIdx( rTextNd.GetIndex() )
|
||||||
, m_nFirst( nRed )
|
, m_nFirst( nRed )
|
||||||
, m_nAct( COMPLETE_STRING )
|
, m_nAct( SwRedlineTable::npos )
|
||||||
, m_bOn( false )
|
, m_bOn( false )
|
||||||
, m_bShow( bShow )
|
, m_bShow( bShow )
|
||||||
{
|
{
|
||||||
@@ -217,13 +217,13 @@ short SwRedlineItr::Seek_(SwFont& rFnt, sal_Int32 nNew, sal_Int32 nOld)
|
|||||||
else
|
else
|
||||||
return nRet + EnterExtend( rFnt, nNew ); // We stayed in the same section
|
return nRet + EnterExtend( rFnt, nNew ); // We stayed in the same section
|
||||||
}
|
}
|
||||||
if (COMPLETE_STRING == m_nAct || nOld > nNew)
|
if (SwRedlineTable::npos == m_nAct || nOld > nNew)
|
||||||
m_nAct = m_nFirst;
|
m_nAct = m_nFirst;
|
||||||
|
|
||||||
m_nStart = COMPLETE_STRING;
|
m_nStart = COMPLETE_STRING;
|
||||||
m_nEnd = COMPLETE_STRING;
|
m_nEnd = COMPLETE_STRING;
|
||||||
|
|
||||||
for ( ; m_nAct < static_cast<sal_Int32>(m_rDoc.getIDocumentRedlineAccess().GetRedlineTable().size()) ; ++m_nAct)
|
for ( ; m_nAct < m_rDoc.getIDocumentRedlineAccess().GetRedlineTable().size() ; ++m_nAct)
|
||||||
{
|
{
|
||||||
m_rDoc.getIDocumentRedlineAccess().GetRedlineTable()[ m_nAct ]->CalcStartEnd(m_nNdIdx, m_nStart, m_nEnd);
|
m_rDoc.getIDocumentRedlineAccess().GetRedlineTable()[ m_nAct ]->CalcStartEnd(m_nNdIdx, m_nStart, m_nEnd);
|
||||||
|
|
||||||
@@ -334,9 +334,9 @@ void SwRedlineItr::Clear_( SwFont* pFnt )
|
|||||||
sal_Int32 SwRedlineItr::GetNextRedln_( sal_Int32 nNext )
|
sal_Int32 SwRedlineItr::GetNextRedln_( sal_Int32 nNext )
|
||||||
{
|
{
|
||||||
nNext = NextExtend( nNext );
|
nNext = NextExtend( nNext );
|
||||||
if (!m_bShow || COMPLETE_STRING == m_nFirst)
|
if (!m_bShow || SwRedlineTable::npos == m_nFirst)
|
||||||
return nNext;
|
return nNext;
|
||||||
if (COMPLETE_STRING == m_nAct)
|
if (SwRedlineTable::npos == m_nAct)
|
||||||
{
|
{
|
||||||
m_nAct = m_nFirst;
|
m_nAct = m_nFirst;
|
||||||
m_rDoc.getIDocumentRedlineAccess().GetRedlineTable()[ m_nAct ]->CalcStartEnd(m_nNdIdx, m_nStart, m_nEnd);
|
m_rDoc.getIDocumentRedlineAccess().GetRedlineTable()[ m_nAct ]->CalcStartEnd(m_nNdIdx, m_nStart, m_nEnd);
|
||||||
@@ -368,16 +368,16 @@ bool SwRedlineItr::ChkSpecialUnderline_() const
|
|||||||
|
|
||||||
bool SwRedlineItr::CheckLine( sal_Int32 nChkStart, sal_Int32 nChkEnd )
|
bool SwRedlineItr::CheckLine( sal_Int32 nChkStart, sal_Int32 nChkEnd )
|
||||||
{
|
{
|
||||||
if (m_nFirst == COMPLETE_STRING)
|
if (m_nFirst == SwRedlineTable::npos)
|
||||||
return false;
|
return false;
|
||||||
if( nChkEnd == nChkStart ) // empty lines look one char further
|
if( nChkEnd == nChkStart ) // empty lines look one char further
|
||||||
++nChkEnd;
|
++nChkEnd;
|
||||||
sal_Int32 nOldStart = m_nStart;
|
sal_Int32 nOldStart = m_nStart;
|
||||||
sal_Int32 nOldEnd = m_nEnd;
|
sal_Int32 nOldEnd = m_nEnd;
|
||||||
sal_Int32 nOldAct = m_nAct;
|
SwRedlineTable::size_type const nOldAct = m_nAct;
|
||||||
bool bRet = false;
|
bool bRet = false;
|
||||||
|
|
||||||
for (m_nAct = m_nFirst; m_nAct < static_cast<sal_Int32>(m_rDoc.getIDocumentRedlineAccess().GetRedlineTable().size()) ; ++m_nAct)
|
for (m_nAct = m_nFirst; m_nAct < m_rDoc.getIDocumentRedlineAccess().GetRedlineTable().size(); ++m_nAct)
|
||||||
{
|
{
|
||||||
m_rDoc.getIDocumentRedlineAccess().GetRedlineTable()[ m_nAct ]->CalcStartEnd( m_nNdIdx, m_nStart, m_nEnd );
|
m_rDoc.getIDocumentRedlineAccess().GetRedlineTable()[ m_nAct ]->CalcStartEnd( m_nNdIdx, m_nStart, m_nEnd );
|
||||||
if (nChkEnd < m_nStart)
|
if (nChkEnd < m_nStart)
|
||||||
|
@@ -69,8 +69,8 @@ class SwRedlineItr
|
|||||||
std::unique_ptr<SfxItemSet> m_pSet;
|
std::unique_ptr<SfxItemSet> m_pSet;
|
||||||
SwExtend *m_pExt;
|
SwExtend *m_pExt;
|
||||||
sal_uLong m_nNdIdx;
|
sal_uLong m_nNdIdx;
|
||||||
sal_Int32 m_nFirst;
|
SwRedlineTable::size_type const m_nFirst;
|
||||||
sal_Int32 m_nAct;
|
SwRedlineTable::size_type m_nAct;
|
||||||
sal_Int32 m_nStart;
|
sal_Int32 m_nStart;
|
||||||
sal_Int32 m_nEnd;
|
sal_Int32 m_nEnd;
|
||||||
bool m_bOn;
|
bool m_bOn;
|
||||||
@@ -102,7 +102,7 @@ public:
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
void Reset() {
|
void Reset() {
|
||||||
if (m_nAct != m_nFirst) m_nAct = COMPLETE_STRING;
|
if (m_nAct != m_nFirst) m_nAct = SwRedlineTable::npos;
|
||||||
if (m_pExt) m_pExt->Reset();
|
if (m_pExt) m_pExt->Reset();
|
||||||
}
|
}
|
||||||
sal_Int32 GetNextRedln( sal_Int32 nNext ) {
|
sal_Int32 GetNextRedln( sal_Int32 nNext ) {
|
||||||
|
Reference in New Issue
Block a user