sw/inc/swtable.hxx                  |    2 +-
 sw/source/core/table/swnewtable.cxx |   12 ++++++------
 2 files changed, 7 insertions(+), 7 deletions(-)

New commits:
commit c4d43643ac53249df870141eb8b89ea0e774b9a5
Author:     Noel Grandin <noelgran...@gmail.com>
AuthorDate: Fri Aug 19 17:05:33 2022 +0200
Commit:     Noel Grandin <noel.gran...@collabora.co.uk>
CommitDate: Sat Aug 20 09:50:11 2022 +0200

    unique_ptr->optional in CollectBoxSelection
    
    Change-Id: Id9e32567805130985c96525d7de61ec6036ac9b0
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/138560
    Tested-by: Jenkins
    Reviewed-by: Noel Grandin <noel.gran...@collabora.co.uk>

diff --git a/sw/inc/swtable.hxx b/sw/inc/swtable.hxx
index 483753d56767..8099077b91f3 100644
--- a/sw/inc/swtable.hxx
+++ b/sw/inc/swtable.hxx
@@ -162,7 +162,7 @@ private:
     bool NewMerge( SwDoc*, const SwSelBoxes&, const SwSelBoxes& rMerged,
                    SwUndoTableMerge* );
     bool NewSplitRow( SwDoc&, const SwSelBoxes&, sal_uInt16, bool );
-    std::unique_ptr<SwBoxSelection> CollectBoxSelection( const SwPaM& rPam ) 
const;
+    std::optional<SwBoxSelection> CollectBoxSelection( const SwPaM& rPam ) 
const;
     void InsertSpannedRow( SwDoc& rDoc, sal_uInt16 nIdx, sal_uInt16 nCnt );
     bool InsertRow_( SwDoc*, const SwSelBoxes&, sal_uInt16 nCnt, bool bBehind 
);
     bool NewInsertCol( SwDoc&, const SwSelBoxes& rBoxes, sal_uInt16 nCnt, bool 
);
diff --git a/sw/source/core/table/swnewtable.cxx 
b/sw/source/core/table/swnewtable.cxx
index 1a9fe882b3a9..5e7111553559 100644
--- a/sw/source/core/table/swnewtable.cxx
+++ b/sw/source/core/table/swnewtable.cxx
@@ -326,15 +326,15 @@ static void lcl_ChangeRowSpan( const SwTable& rTable, 
const tools::Long nDiff,
     and prepares the selected cells for merging
 */
 
-std::unique_ptr<SwBoxSelection> SwTable::CollectBoxSelection( const SwPaM& 
rPam ) const
+std::optional<SwBoxSelection> SwTable::CollectBoxSelection( const SwPaM& rPam 
) const
 {
     OSL_ENSURE( m_bNewModel, "Don't call me for old tables" );
     if( m_aLines.empty() )
-        return nullptr;
+        return std::nullopt;
     const SwNode* pStartNd = rPam.Start()->GetNode().FindTableBoxStartNode();
     const SwNode* pEndNd = rPam.End()->GetNode().FindTableBoxStartNode();
     if( !pStartNd || !pEndNd || pStartNd == pEndNd )
-        return nullptr;
+        return std::nullopt;
 
     const size_t nLines = m_aLines.size();
     size_t nTop = 0;
@@ -369,12 +369,12 @@ std::unique_ptr<SwBoxSelection> 
SwTable::CollectBoxSelection( const SwPaM& rPam
         }
     }
     if( nFound < 2 )
-        return nullptr;
+        return std::nullopt;
 
     bool bOkay = true;
     tools::Long nMid = ( nMin + nMax ) / 2;
 
-    auto pRet(std::make_unique<SwBoxSelection>());
+    std::optional<SwBoxSelection> pRet(std::in_place);
     std::vector< std::pair< SwTableBox*, tools::Long > > aNewWidthVector;
     size_t nCheckBottom = nBottom;
     tools::Long nLeftSpan = 0;
@@ -816,7 +816,7 @@ bool SwTable::PrepareMerge( const SwPaM& rPam, SwSelBoxes& 
rBoxes,
     }
     CHECK_TABLE( *this )
     // We have to assert a "rectangular" box selection before we start to merge
-    std::unique_ptr< SwBoxSelection > pSel( CollectBoxSelection( rPam ) );
+    std::optional< SwBoxSelection > pSel( CollectBoxSelection( rPam ) );
     if (!pSel || pSel->isEmpty())
         return false;
     // Now we should have a rectangle of boxes,

Reply via email to