[Libreoffice-commits] core.git: sw/source

Noel Grandin (via logerrit) logerrit at kemper.freedesktop.org
Fri Jul 31 18:59:01 UTC 2020


 sw/source/core/objectpositioning/anchoredobjectposition.cxx |   86 +++----
 sw/source/core/ole/ndole.cxx                                |  144 ++++++------
 sw/source/core/swg/SwXMLTextBlocks1.cxx                     |   62 ++---
 sw/source/core/swg/swblocks.cxx                             |   64 ++---
 sw/source/core/table/swnewtable.cxx                         |  142 +++++------
 sw/source/core/table/swtable.cxx                            |  100 ++++----
 6 files changed, 300 insertions(+), 298 deletions(-)

New commits:
commit c9edb99bdc74715e7d952b2b95a4d75a73300207
Author:     Noel Grandin <noel.grandin at collabora.co.uk>
AuthorDate: Thu Jul 30 10:35:44 2020 +0200
Commit:     Noel Grandin <noel.grandin at collabora.co.uk>
CommitDate: Fri Jul 31 20:58:23 2020 +0200

    loplugin:flatten in sw/core/ole..sw/core/table
    
    Change-Id: If74f1cfca114d52566164656c34a0764cfbaad43
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/99886
    Tested-by: Jenkins
    Reviewed-by: Noel Grandin <noel.grandin at collabora.co.uk>

diff --git a/sw/source/core/objectpositioning/anchoredobjectposition.cxx b/sw/source/core/objectpositioning/anchoredobjectposition.cxx
index 09b616edb507..99bbd7f49d5d 100644
--- a/sw/source/core/objectpositioning/anchoredobjectposition.cxx
+++ b/sw/source/core/objectpositioning/anchoredobjectposition.cxx
@@ -750,51 +750,51 @@ void SwAnchoredObjectPosition::ToggleHoriOrientAndAlign(
                                         sal_Int16& _iopeRelOrient
                                       )
 {
-    if( _bToggleLeftRight )
+    if( !_bToggleLeftRight )
+        return;
+
+    // toggle orientation
+    switch ( _ioeHoriOrient )
     {
-        // toggle orientation
-        switch ( _ioeHoriOrient )
-        {
-            case text::HoriOrientation::RIGHT :
-                {
-                    _ioeHoriOrient = text::HoriOrientation::LEFT;
-                }
-                break;
-            case text::HoriOrientation::LEFT :
-                {
-                    _ioeHoriOrient = text::HoriOrientation::RIGHT;
-                }
-                break;
-            default:
-                break;
-        }
+        case text::HoriOrientation::RIGHT :
+            {
+                _ioeHoriOrient = text::HoriOrientation::LEFT;
+            }
+            break;
+        case text::HoriOrientation::LEFT :
+            {
+                _ioeHoriOrient = text::HoriOrientation::RIGHT;
+            }
+            break;
+        default:
+            break;
+    }
 
-        // toggle relative alignment
-        switch ( _iopeRelOrient )
-        {
-            case text::RelOrientation::PAGE_RIGHT :
-                {
-                    _iopeRelOrient = text::RelOrientation::PAGE_LEFT;
-                }
-                break;
-            case text::RelOrientation::PAGE_LEFT :
-                {
-                    _iopeRelOrient = text::RelOrientation::PAGE_RIGHT;
-                }
-                break;
-            case text::RelOrientation::FRAME_RIGHT :
-                {
-                    _iopeRelOrient = text::RelOrientation::FRAME_LEFT;
-                }
-                break;
-            case text::RelOrientation::FRAME_LEFT :
-                {
-                    _iopeRelOrient = text::RelOrientation::FRAME_RIGHT;
-                }
-                break;
-            default:
-                break;
-        }
+    // toggle relative alignment
+    switch ( _iopeRelOrient )
+    {
+        case text::RelOrientation::PAGE_RIGHT :
+            {
+                _iopeRelOrient = text::RelOrientation::PAGE_LEFT;
+            }
+            break;
+        case text::RelOrientation::PAGE_LEFT :
+            {
+                _iopeRelOrient = text::RelOrientation::PAGE_RIGHT;
+            }
+            break;
+        case text::RelOrientation::FRAME_RIGHT :
+            {
+                _iopeRelOrient = text::RelOrientation::FRAME_LEFT;
+            }
+            break;
+        case text::RelOrientation::FRAME_LEFT :
+            {
+                _iopeRelOrient = text::RelOrientation::FRAME_RIGHT;
+            }
+            break;
+        default:
+            break;
     }
 }
 
diff --git a/sw/source/core/ole/ndole.cxx b/sw/source/core/ole/ndole.cxx
index a480f0a9bae5..50bbe3ebf883 100644
--- a/sw/source/core/ole/ndole.cxx
+++ b/sw/source/core/ole/ndole.cxx
@@ -572,22 +572,22 @@ void SwOLENode::BreakFileLink_Impl()
 {
     SfxObjectShell* pPers = GetDoc()->GetPersist();
 
-    if ( pPers )
+    if ( !pPers )
+        return;
+
+    uno::Reference< embed::XStorage > xStorage = pPers->GetStorage();
+    if ( !xStorage.is() )
+        return;
+
+    try
+    {
+        uno::Reference< embed::XLinkageSupport > xLinkSupport( maOLEObj.GetOleRef(), uno::UNO_QUERY_THROW );
+        xLinkSupport->breakLink( xStorage, maOLEObj.GetCurrentPersistName() );
+        DisconnectFileLink_Impl();
+        maLinkURL.clear();
+    }
+    catch( uno::Exception& )
     {
-        uno::Reference< embed::XStorage > xStorage = pPers->GetStorage();
-        if ( xStorage.is() )
-        {
-            try
-            {
-                uno::Reference< embed::XLinkageSupport > xLinkSupport( maOLEObj.GetOleRef(), uno::UNO_QUERY_THROW );
-                xLinkSupport->breakLink( xStorage, maOLEObj.GetCurrentPersistName() );
-                DisconnectFileLink_Impl();
-                maLinkURL.clear();
-            }
-            catch( uno::Exception& )
-            {
-            }
-        }
     }
 }
 
@@ -602,27 +602,27 @@ void SwOLENode::DisconnectFileLink_Impl()
 
 void SwOLENode::CheckFileLink_Impl()
 {
-    if ( maOLEObj.m_xOLERef.GetObject().is() && !mpObjectLink )
+    if ( !(maOLEObj.m_xOLERef.GetObject().is() && !mpObjectLink) )
+        return;
+
+    try
     {
-        try
+        uno::Reference< embed::XLinkageSupport > xLinkSupport( maOLEObj.m_xOLERef.GetObject(), uno::UNO_QUERY_THROW );
+        if ( xLinkSupport->isLink() )
         {
-            uno::Reference< embed::XLinkageSupport > xLinkSupport( maOLEObj.m_xOLERef.GetObject(), uno::UNO_QUERY_THROW );
-            if ( xLinkSupport->isLink() )
+            const OUString aLinkURL = xLinkSupport->getLinkURL();
+            if ( !aLinkURL.isEmpty() )
             {
-                const OUString aLinkURL = xLinkSupport->getLinkURL();
-                if ( !aLinkURL.isEmpty() )
-                {
-                    // this is a file link so the model link manager should handle it
-                    mpObjectLink = new SwEmbedObjectLink( this );
-                    maLinkURL = aLinkURL;
-                    GetDoc()->getIDocumentLinksAdministration().GetLinkManager().InsertFileLink( *mpObjectLink, sfx2::SvBaseLinkObjectType::ClientOle, aLinkURL );
-                    mpObjectLink->Connect();
-                }
+                // this is a file link so the model link manager should handle it
+                mpObjectLink = new SwEmbedObjectLink( this );
+                maLinkURL = aLinkURL;
+                GetDoc()->getIDocumentLinksAdministration().GetLinkManager().InsertFileLink( *mpObjectLink, sfx2::SvBaseLinkObjectType::ClientOle, aLinkURL );
+                mpObjectLink->Connect();
             }
         }
-        catch( uno::Exception& )
-        {
-        }
+    }
+    catch( uno::Exception& )
+    {
     }
 }
 
@@ -862,39 +862,39 @@ SwOLEObj::~SwOLEObj() COVERITY_NOEXCEPT_FALSE
 void SwOLEObj::SetNode( SwOLENode* pNode )
 {
     m_pOLENode = pNode;
-    if ( m_aName.isEmpty() )
-    {
-        SwDoc* pDoc = pNode->GetDoc();
-
-        // If there's already a SvPersist instance, we use it
-        SfxObjectShell* p = pDoc->GetPersist();
-        if( !p )
-        {
-            // TODO/LATER: Isn't an EmbeddedObjectContainer sufficient here?
-            // What happens to the document?
-            OSL_ENSURE( false, "Why are we creating a DocShell here??" );
-            p = new SwDocShell( pDoc, SfxObjectCreateMode::INTERNAL );
-            p->DoInitNew();
-        }
+    if ( !m_aName.isEmpty() )
+        return;
 
-        OUString aObjName;
-        uno::Reference < container::XChild > xChild( m_xOLERef.GetObject(), uno::UNO_QUERY );
-        if ( xChild.is() && xChild->getParent() != p->GetModel() )
-            // it is possible that the parent was set already
-            xChild->setParent( p->GetModel() );
-        if (!p->GetEmbeddedObjectContainer().InsertEmbeddedObject( m_xOLERef.GetObject(), aObjName ) )
-        {
-            OSL_FAIL( "InsertObject failed" );
-            if ( xChild.is() )
-                xChild->setParent( nullptr );
-        }
-        else
-            m_xOLERef.AssignToContainer( &p->GetEmbeddedObjectContainer(), aObjName );
+    SwDoc* pDoc = pNode->GetDoc();
 
-        const_cast<SwOLENode*>(m_pOLENode)->CheckFileLink_Impl(); // for this notification nonconst access is required
+    // If there's already a SvPersist instance, we use it
+    SfxObjectShell* p = pDoc->GetPersist();
+    if( !p )
+    {
+        // TODO/LATER: Isn't an EmbeddedObjectContainer sufficient here?
+        // What happens to the document?
+        OSL_ENSURE( false, "Why are we creating a DocShell here??" );
+        p = new SwDocShell( pDoc, SfxObjectCreateMode::INTERNAL );
+        p->DoInitNew();
+    }
 
-        m_aName = aObjName;
+    OUString aObjName;
+    uno::Reference < container::XChild > xChild( m_xOLERef.GetObject(), uno::UNO_QUERY );
+    if ( xChild.is() && xChild->getParent() != p->GetModel() )
+        // it is possible that the parent was set already
+        xChild->setParent( p->GetModel() );
+    if (!p->GetEmbeddedObjectContainer().InsertEmbeddedObject( m_xOLERef.GetObject(), aObjName ) )
+    {
+        OSL_FAIL( "InsertObject failed" );
+        if ( xChild.is() )
+            xChild->setParent( nullptr );
     }
+    else
+        m_xOLERef.AssignToContainer( &p->GetEmbeddedObjectContainer(), aObjName );
+
+    const_cast<SwOLENode*>(m_pOLENode)->CheckFileLink_Impl(); // for this notification nonconst access is required
+
+    m_aName = aObjName;
 }
 
 OUString SwOLEObj::GetStyleString()
@@ -1219,20 +1219,20 @@ void SwOLELRUCache::InsertObj( SwOLEObj& rObj )
         m_OleObjects.erase(it);
         it = m_OleObjects.end();
     }
-    if (it == m_OleObjects.end())
+    if (it != m_OleObjects.end())
+        return;
+
+    std::shared_ptr<SwOLELRUCache> xKeepAlive(g_pOLELRU_Cache); // prevent delete this
+    // try to remove objects if necessary
+    sal_Int32 nCount = m_OleObjects.size();
+    sal_Int32 nPos = nCount-1;
+    while (nPos >= 0 && nCount >= m_nLRU_InitSize)
     {
-        std::shared_ptr<SwOLELRUCache> xKeepAlive(g_pOLELRU_Cache); // prevent delete this
-        // try to remove objects if necessary
-        sal_Int32 nCount = m_OleObjects.size();
-        sal_Int32 nPos = nCount-1;
-        while (nPos >= 0 && nCount >= m_nLRU_InitSize)
-        {
-            pObj = m_OleObjects[ nPos-- ];
-            if ( pObj->UnloadObject() )
-                nCount--;
-        }
-        m_OleObjects.push_front(&rObj);
+        pObj = m_OleObjects[ nPos-- ];
+        if ( pObj->UnloadObject() )
+            nCount--;
     }
+    m_OleObjects.push_front(&rObj);
 }
 
 void SwOLELRUCache::RemoveObj( SwOLEObj& rObj )
diff --git a/sw/source/core/swg/SwXMLTextBlocks1.cxx b/sw/source/core/swg/SwXMLTextBlocks1.cxx
index 1b286f57afef..30c6a9ce1b83 100644
--- a/sw/source/core/swg/SwXMLTextBlocks1.cxx
+++ b/sw/source/core/swg/SwXMLTextBlocks1.cxx
@@ -416,46 +416,46 @@ void SwXMLTextBlocks::ReadInfo()
 }
 void SwXMLTextBlocks::WriteInfo()
 {
-    if ( xBlkRoot.is() || ERRCODE_NONE == OpenFile ( false ) )
-    {
-        uno::Reference< uno::XComponentContext > xContext =
-            comphelper::getProcessComponentContext();
+    if ( !(xBlkRoot.is() || ERRCODE_NONE == OpenFile ( false )) )
+        return;
 
-        uno::Reference < xml::sax::XWriter > xWriter = xml::sax::Writer::create(xContext);
+    uno::Reference< uno::XComponentContext > xContext =
+        comphelper::getProcessComponentContext();
 
-        /*
-        if ( xBlkRoot->IsContained( sDocName) )
-        {
-            xBlkRoot->Remove ( sDocName );
-            xBlkRoot->Commit();
-        }
-        */
+    uno::Reference < xml::sax::XWriter > xWriter = xml::sax::Writer::create(xContext);
 
-        try
-        {
-        uno::Reference < io::XStream > xDocStream = xBlkRoot->openStreamElement( XMLN_BLOCKLIST,
-                    embed::ElementModes::WRITE | embed::ElementModes::TRUNCATE );
+    /*
+    if ( xBlkRoot->IsContained( sDocName) )
+    {
+        xBlkRoot->Remove ( sDocName );
+        xBlkRoot->Commit();
+    }
+    */
 
-        uno::Reference < beans::XPropertySet > xSet( xDocStream, uno::UNO_QUERY );
-        xSet->setPropertyValue("MediaType", Any(OUString( "text/xml" )) );
-        uno::Reference < io::XOutputStream > xOut = xDocStream->getOutputStream();
-        xWriter->setOutputStream(xOut);
+    try
+    {
+    uno::Reference < io::XStream > xDocStream = xBlkRoot->openStreamElement( XMLN_BLOCKLIST,
+                embed::ElementModes::WRITE | embed::ElementModes::TRUNCATE );
 
-        rtl::Reference<SwXMLBlockListExport> xExp(new SwXMLBlockListExport( xContext, *this, XMLN_BLOCKLIST, xWriter) );
+    uno::Reference < beans::XPropertySet > xSet( xDocStream, uno::UNO_QUERY );
+    xSet->setPropertyValue("MediaType", Any(OUString( "text/xml" )) );
+    uno::Reference < io::XOutputStream > xOut = xDocStream->getOutputStream();
+    xWriter->setOutputStream(xOut);
 
-        xExp->exportDoc( XML_BLOCK_LIST );
+    rtl::Reference<SwXMLBlockListExport> xExp(new SwXMLBlockListExport( xContext, *this, XMLN_BLOCKLIST, xWriter) );
 
-        uno::Reference < embed::XTransactedObject > xTrans( xBlkRoot, uno::UNO_QUERY );
-        if ( xTrans.is() )
-            xTrans->commit();
-        }
-        catch ( uno::Exception& )
-        {
-        }
+    xExp->exportDoc( XML_BLOCK_LIST );
 
-        m_bInfoChanged = false;
-        return;
+    uno::Reference < embed::XTransactedObject > xTrans( xBlkRoot, uno::UNO_QUERY );
+    if ( xTrans.is() )
+        xTrans->commit();
     }
+    catch ( uno::Exception& )
+    {
+    }
+
+    m_bInfoChanged = false;
+    return;
 }
 
 ErrCode SwXMLTextBlocks::SetMacroTable(
diff --git a/sw/source/core/swg/swblocks.cxx b/sw/source/core/swg/swblocks.cxx
index 803c1bb0b48b..474e9fb4ee5d 100644
--- a/sw/source/core/swg/swblocks.cxx
+++ b/sw/source/core/swg/swblocks.cxx
@@ -231,8 +231,10 @@ SwTextBlocks::SwTextBlocks( const OUString& rFile )
     case SwImpBlocks::FileType::NoFile: m_pImp.reset( new SwXMLTextBlocks( sFileName ) ); break;
     default: break;
     }
-    if( !m_pImp )
-        m_nErr = ERR_SWG_FILE_FORMAT_ERROR;
+    if( m_pImp )
+        return;
+
+    m_nErr = ERR_SWG_FILE_FORMAT_ERROR;
 }
 
 SwTextBlocks::~SwTextBlocks()
@@ -307,40 +309,40 @@ bool SwTextBlocks::Delete( sal_uInt16 n )
 
 void SwTextBlocks::Rename( sal_uInt16 n, const OUString* s, const OUString* l )
 {
-    if( m_pImp && !m_pImp->m_bInPutMuchBlocks )
+    if( !(m_pImp && !m_pImp->m_bInPutMuchBlocks) )
+        return;
+
+    m_pImp->m_nCurrentIndex = USHRT_MAX;
+    OUString aNew;
+    OUString aLong;
+    if( s )
+        aNew = aLong = *s;
+    if( l )
+        aLong = *l;
+    if( aNew.isEmpty() )
     {
-        m_pImp->m_nCurrentIndex = USHRT_MAX;
-        OUString aNew;
-        OUString aLong;
-        if( s )
-            aNew = aLong = *s;
-        if( l )
-            aLong = *l;
-        if( aNew.isEmpty() )
-        {
-            OSL_ENSURE( false, "No short name provided in the rename" );
-            m_nErr = ERR_SWG_INTERNAL_ERROR;
-            return;
-        }
+        OSL_ENSURE( false, "No short name provided in the rename" );
+        m_nErr = ERR_SWG_INTERNAL_ERROR;
+        return;
+    }
 
-        if( m_pImp->IsFileChanged() )
-            m_nErr = ERR_TXTBLOCK_NEWFILE_ERROR;
-        else if( ERRCODE_NONE == ( m_nErr = m_pImp->OpenFile( false )))
+    if( m_pImp->IsFileChanged() )
+        m_nErr = ERR_TXTBLOCK_NEWFILE_ERROR;
+    else if( ERRCODE_NONE == ( m_nErr = m_pImp->OpenFile( false )))
+    {
+        // Set the new entry in the list before we do that!
+        aNew = GetAppCharClass().uppercase( aNew );
+        m_nErr = m_pImp->Rename( n, aNew );
+        if( !m_nErr )
         {
-            // Set the new entry in the list before we do that!
-            aNew = GetAppCharClass().uppercase( aNew );
-            m_nErr = m_pImp->Rename( n, aNew );
-            if( !m_nErr )
-            {
-                bool bOnlyText = m_pImp->m_aNames[ n ]->bIsOnlyText;
-                m_pImp->m_aNames.erase( m_pImp->m_aNames.begin() + n );
-                m_pImp->AddName( aNew, aLong, bOnlyText );
-                m_nErr = m_pImp->MakeBlockList();
-            }
+            bool bOnlyText = m_pImp->m_aNames[ n ]->bIsOnlyText;
+            m_pImp->m_aNames.erase( m_pImp->m_aNames.begin() + n );
+            m_pImp->AddName( aNew, aLong, bOnlyText );
+            m_nErr = m_pImp->MakeBlockList();
         }
-        m_pImp->CloseFile();
-        m_pImp->Touch();
     }
+    m_pImp->CloseFile();
+    m_pImp->Touch();
 }
 
 bool SwTextBlocks::BeginGetDoc( sal_uInt16 n )
diff --git a/sw/source/core/table/swnewtable.cxx b/sw/source/core/table/swnewtable.cxx
index d1e724936d11..73fd1d8acedc 100644
--- a/sw/source/core/table/swnewtable.cxx
+++ b/sw/source/core/table/swnewtable.cxx
@@ -1564,53 +1564,53 @@ bool SwTable::InsertRow( SwDoc* pDoc, const SwSelBoxes& rBoxes,
 
 void SwTable::PrepareDelBoxes( const SwSelBoxes& rBoxes )
 {
-    if( IsNewModel() )
+    if( !IsNewModel() )
+        return;
+
+    for (size_t i = 0; i < rBoxes.size(); ++i)
     {
-        for (size_t i = 0; i < rBoxes.size(); ++i)
+        SwTableBox* pBox = rBoxes[i];
+        long nRowSpan = pBox->getRowSpan();
+        if( nRowSpan != 1 && pBox->GetFrameFormat()->GetFrameSize().GetWidth() )
         {
-            SwTableBox* pBox = rBoxes[i];
-            long nRowSpan = pBox->getRowSpan();
-            if( nRowSpan != 1 && pBox->GetFrameFormat()->GetFrameSize().GetWidth() )
+            long nLeft = lcl_Box2LeftBorder( *pBox );
+            SwTableLine *pLine = pBox->GetUpper();
+            sal_uInt16 nLinePos = GetTabLines().GetPos( pLine);
+            OSL_ENSURE( nLinePos < USHRT_MAX, "Box/table mismatch" );
+            if( nRowSpan > 1 )
             {
-                long nLeft = lcl_Box2LeftBorder( *pBox );
-                SwTableLine *pLine = pBox->GetUpper();
-                sal_uInt16 nLinePos = GetTabLines().GetPos( pLine);
-                OSL_ENSURE( nLinePos < USHRT_MAX, "Box/table mismatch" );
-                if( nRowSpan > 1 )
+                if( ++nLinePos < GetTabLines().size() )
                 {
-                    if( ++nLinePos < GetTabLines().size() )
-                    {
-                        pLine = GetTabLines()[ nLinePos ];
-                        pBox = lcl_LeftBorder2Box( nLeft, pLine );
-                        OSL_ENSURE( pBox, "RowSpan irritation I" );
-                        if( pBox )
-                            pBox->setRowSpan( --nRowSpan );
-                    }
+                    pLine = GetTabLines()[ nLinePos ];
+                    pBox = lcl_LeftBorder2Box( nLeft, pLine );
+                    OSL_ENSURE( pBox, "RowSpan irritation I" );
+                    if( pBox )
+                        pBox->setRowSpan( --nRowSpan );
                 }
-                else if( nLinePos > 0 )
+            }
+            else if( nLinePos > 0 )
+            {
+                do
                 {
-                    do
+                    pLine = GetTabLines()[ --nLinePos ];
+                    pBox = lcl_LeftBorder2Box( nLeft, pLine );
+                    OSL_ENSURE( pBox, "RowSpan irritation II" );
+                    if( pBox )
                     {
-                        pLine = GetTabLines()[ --nLinePos ];
-                        pBox = lcl_LeftBorder2Box( nLeft, pLine );
-                        OSL_ENSURE( pBox, "RowSpan irritation II" );
-                        if( pBox )
+                        nRowSpan = pBox->getRowSpan();
+                        if( nRowSpan > 1 )
                         {
-                            nRowSpan = pBox->getRowSpan();
-                            if( nRowSpan > 1 )
-                            {
-                                lcl_InvalidateCellFrame( *pBox );
-                                --nRowSpan;
-                            }
-                            else
-                                ++nRowSpan;
-                            pBox->setRowSpan( nRowSpan );
+                            lcl_InvalidateCellFrame( *pBox );
+                            --nRowSpan;
                         }
                         else
-                            nRowSpan = 1;
+                            ++nRowSpan;
+                        pBox->setRowSpan( nRowSpan );
                     }
-                    while( nRowSpan < 0 && nLinePos > 0 );
+                    else
+                        nRowSpan = 1;
                 }
+                while( nRowSpan < 0 && nLinePos > 0 );
             }
         }
     }
@@ -2022,49 +2022,49 @@ void SwTable::RestoreRowSpan( const SwSaveRowSpan& rSave )
         return;
     sal_uInt16 nLineCount = GetTabLines().size();
     OSL_ENSURE( rSave.mnSplitLine < nLineCount, "Restore behind last line?" );
-    if( rSave.mnSplitLine < nLineCount )
+    if( rSave.mnSplitLine >= nLineCount )
+        return;
+
+    SwTableLine* pLine = GetTabLines()[rSave.mnSplitLine];
+    const size_t nColCount = pLine->GetTabBoxes().size();
+    OSL_ENSURE( nColCount, "Empty Table Line" );
+    OSL_ENSURE( nColCount == rSave.mnRowSpans.size(), "Wrong row span store" );
+    if( nColCount != rSave.mnRowSpans.size() )
+        return;
+
+    for( size_t nCurrCol = 0; nCurrCol < nColCount; ++nCurrCol )
     {
-        SwTableLine* pLine = GetTabLines()[rSave.mnSplitLine];
-        const size_t nColCount = pLine->GetTabBoxes().size();
-        OSL_ENSURE( nColCount, "Empty Table Line" );
-        OSL_ENSURE( nColCount == rSave.mnRowSpans.size(), "Wrong row span store" );
-        if( nColCount == rSave.mnRowSpans.size() )
+        SwTableBox* pBox = pLine->GetTabBoxes()[nCurrCol];
+        OSL_ENSURE( pBox, "Missing Table Box" );
+        long nRowSp = pBox->getRowSpan();
+        if( nRowSp != rSave.mnRowSpans[ nCurrCol ] )
         {
-            for( size_t nCurrCol = 0; nCurrCol < nColCount; ++nCurrCol )
+            OSL_ENSURE( -nRowSp == rSave.mnRowSpans[ nCurrCol ], "Pardon me?!" );
+            OSL_ENSURE( rSave.mnRowSpans[ nCurrCol ] < 0, "Pardon me?!" );
+            pBox->setRowSpan( -nRowSp );
+
+            sal_uInt16 nLine = rSave.mnSplitLine;
+            if( nLine )
             {
-                SwTableBox* pBox = pLine->GetTabBoxes()[nCurrCol];
-                OSL_ENSURE( pBox, "Missing Table Box" );
-                long nRowSp = pBox->getRowSpan();
-                if( nRowSp != rSave.mnRowSpans[ nCurrCol ] )
+                long nLeftBorder = lcl_Box2LeftBorder( *pBox );
+                SwTableBox* pNext;
+                do
                 {
-                    OSL_ENSURE( -nRowSp == rSave.mnRowSpans[ nCurrCol ], "Pardon me?!" );
-                    OSL_ENSURE( rSave.mnRowSpans[ nCurrCol ] < 0, "Pardon me?!" );
-                    pBox->setRowSpan( -nRowSp );
-
-                    sal_uInt16 nLine = rSave.mnSplitLine;
-                    if( nLine )
+                    pNext = lcl_LeftBorder2Box( nLeftBorder, GetTabLines()[--nLine] );
+                    if( pNext )
                     {
-                        long nLeftBorder = lcl_Box2LeftBorder( *pBox );
-                        SwTableBox* pNext;
-                        do
+                        pBox = pNext;
+                        long nNewSpan = pBox->getRowSpan();
+                        if( pBox->getRowSpan() < 1 )
+                            nNewSpan -= nRowSp;
+                        else
                         {
-                            pNext = lcl_LeftBorder2Box( nLeftBorder, GetTabLines()[--nLine] );
-                            if( pNext )
-                            {
-                                pBox = pNext;
-                                long nNewSpan = pBox->getRowSpan();
-                                if( pBox->getRowSpan() < 1 )
-                                    nNewSpan -= nRowSp;
-                                else
-                                {
-                                    nNewSpan += nRowSp;
-                                    pNext = nullptr;
-                                }
-                                pBox->setRowSpan( nNewSpan );
-                            }
-                        } while( nLine && pNext );
+                            nNewSpan += nRowSp;
+                            pNext = nullptr;
+                        }
+                        pBox->setRowSpan( nNewSpan );
                     }
-                }
+                } while( nLine && pNext );
             }
         }
     }
diff --git a/sw/source/core/table/swtable.cxx b/sw/source/core/table/swtable.cxx
index 69dbe1f9bfe1..b36b62a05a41 100644
--- a/sw/source/core/table/swtable.cxx
+++ b/sw/source/core/table/swtable.cxx
@@ -451,44 +451,44 @@ static void lcl_SortedTabColInsert( SwTabCols &rToFill, const SwTableBox *pBox,
     else if ( bRefreshHidden )
         ::lcl_RefreshHidden( rToFill, nPos );
 
-    if ( bHidden && !bRefreshHidden )
+    if ( !(bHidden && !bRefreshHidden) )
+        return;
+
+    // calculate minimum/maximum values for the existing entries:
+    nLeftMin = nPos - nLeftMin;
+    nRightMax = nPos + nRightMax;
+
+    // check if nPos is entry:
+    bool bFoundPos = false;
+    bool bFoundMax = false;
+    for ( size_t j = 0; !(bFoundPos && bFoundMax ) && j < rToFill.Count(); ++j )
     {
-        // calculate minimum/maximum values for the existing entries:
-        nLeftMin = nPos - nLeftMin;
-        nRightMax = nPos + nRightMax;
+        SwTabColsEntry& rEntry = rToFill.GetEntry( j );
+        long nCmp = rToFill[j];
 
-        // check if nPos is entry:
-        bool bFoundPos = false;
-        bool bFoundMax = false;
-        for ( size_t j = 0; !(bFoundPos && bFoundMax ) && j < rToFill.Count(); ++j )
+        if ( (nPos >= ((nCmp >= COLFUZZY) ? nCmp - COLFUZZY : nCmp)) &&
+             (nPos <= (nCmp + COLFUZZY)) )
         {
-            SwTabColsEntry& rEntry = rToFill.GetEntry( j );
-            long nCmp = rToFill[j];
+            // check if nLeftMin is > old minimum for entry nPos:
+            const long nOldMin = rEntry.nMin;
+            if ( nLeftMin > nOldMin )
+                rEntry.nMin = nLeftMin;
+            // check if nRightMin is < old maximum for entry nPos:
+            const long nOldMax = rEntry.nMax;
+            if ( nRightMax < nOldMax )
+                rEntry.nMax = nRightMax;
 
-            if ( (nPos >= ((nCmp >= COLFUZZY) ? nCmp - COLFUZZY : nCmp)) &&
-                 (nPos <= (nCmp + COLFUZZY)) )
-            {
-                // check if nLeftMin is > old minimum for entry nPos:
-                const long nOldMin = rEntry.nMin;
-                if ( nLeftMin > nOldMin )
-                    rEntry.nMin = nLeftMin;
-                // check if nRightMin is < old maximum for entry nPos:
-                const long nOldMax = rEntry.nMax;
-                if ( nRightMax < nOldMax )
-                    rEntry.nMax = nRightMax;
-
-                bFoundPos = true;
-            }
-            else if ( (nRightMax >= ((nCmp >= COLFUZZY) ? nCmp - COLFUZZY : nCmp)) &&
-                      (nRightMax <= (nCmp + COLFUZZY)) )
-            {
-                // check if nPos is > old minimum for entry nRightMax:
-                const long nOldMin = rEntry.nMin;
-                if ( nPos > nOldMin )
-                    rEntry.nMin = nPos;
+            bFoundPos = true;
+        }
+        else if ( (nRightMax >= ((nCmp >= COLFUZZY) ? nCmp - COLFUZZY : nCmp)) &&
+                  (nRightMax <= (nCmp + COLFUZZY)) )
+        {
+            // check if nPos is > old minimum for entry nRightMax:
+            const long nOldMin = rEntry.nMin;
+            if ( nPos > nOldMin )
+                rEntry.nMin = nPos;
 
-                bFoundMax = true;
-            }
+            bFoundMax = true;
         }
     }
 }
@@ -2571,25 +2571,25 @@ void SwTableBox::ActualiseValueBox()
 {
     const SfxPoolItem *pFormatItem, *pValItem;
     SwFrameFormat* pFormat = GetFrameFormat();
-    if( SfxItemState::SET == pFormat->GetItemState( RES_BOXATR_FORMAT, true, &pFormatItem )
-        && SfxItemState::SET == pFormat->GetItemState( RES_BOXATR_VALUE, true, &pValItem ))
-    {
-        const sal_uLong nFormatId = static_cast<const SwTableBoxNumFormat*>(pFormatItem)->GetValue();
-        sal_uLong nNdPos = ULONG_MAX;
-        SvNumberFormatter* pNumFormatr = pFormat->GetDoc()->GetNumberFormatter();
+    if( SfxItemState::SET != pFormat->GetItemState( RES_BOXATR_FORMAT, true, &pFormatItem )
+        || SfxItemState::SET != pFormat->GetItemState( RES_BOXATR_VALUE, true, &pValItem ))
+        return;
 
-        if( !pNumFormatr->IsTextFormat( nFormatId ) &&
-            ULONG_MAX != (nNdPos = IsValidNumTextNd()) )
-        {
-            double fVal = static_cast<const SwTableBoxValue*>(pValItem)->GetValue();
-            Color* pCol = nullptr;
-            OUString sNewText;
-            pNumFormatr->GetOutputString( fVal, nFormatId, sNewText, &pCol );
+    const sal_uLong nFormatId = static_cast<const SwTableBoxNumFormat*>(pFormatItem)->GetValue();
+    sal_uLong nNdPos = ULONG_MAX;
+    SvNumberFormatter* pNumFormatr = pFormat->GetDoc()->GetNumberFormatter();
 
-            const OUString& rText = m_pStartNode->GetNodes()[ nNdPos ]->GetTextNode()->GetText();
-            if( rText != sNewText )
-                ChgTextToNum( *this, sNewText, pCol, false ,nNdPos);
-        }
+    if( !pNumFormatr->IsTextFormat( nFormatId ) &&
+        ULONG_MAX != (nNdPos = IsValidNumTextNd()) )
+    {
+        double fVal = static_cast<const SwTableBoxValue*>(pValItem)->GetValue();
+        Color* pCol = nullptr;
+        OUString sNewText;
+        pNumFormatr->GetOutputString( fVal, nFormatId, sNewText, &pCol );
+
+        const OUString& rText = m_pStartNode->GetNodes()[ nNdPos ]->GetTextNode()->GetText();
+        if( rText != sNewText )
+            ChgTextToNum( *this, sNewText, pCol, false ,nNdPos);
     }
 }
 


More information about the Libreoffice-commits mailing list