svx/source/fmcomp/gridctrl.cxx | 15 ++++++--------- sw/source/filter/ww8/ww8par.cxx | 18 +++++++++--------- sw/source/filter/ww8/ww8par.hxx | 2 +- sw/source/filter/ww8/ww8scan.cxx | 2 +- sw/source/filter/ww8/ww8scan.hxx | 2 +- sw/source/filter/xml/xmltbli.cxx | 20 ++++++++++---------- sw/source/filter/xml/xmltbli.hxx | 2 +- 7 files changed, 29 insertions(+), 32 deletions(-)
New commits: commit 4e9e9b796bf597a7ceedb608e3fbb0c1480b0633 Author: Noel Grandin <noel.gran...@collabora.co.uk> AuthorDate: Sat May 29 13:47:17 2021 +0200 Commit: Noel Grandin <noel.gran...@collabora.co.uk> CommitDate: Sun May 30 09:09:12 2021 +0200 don't check isDisposed inside dispose() my fault, from a recent commit. besides defeating the dispose(), it should also be checked from the call sites. Change-Id: Ia09580d4224bcf78e5684015c747105fa6606878 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/116383 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.gran...@collabora.co.uk> diff --git a/svx/source/fmcomp/gridctrl.cxx b/svx/source/fmcomp/gridctrl.cxx index d631d87eef58..ab8f128a7b29 100644 --- a/svx/source/fmcomp/gridctrl.cxx +++ b/svx/source/fmcomp/gridctrl.cxx @@ -751,16 +751,13 @@ DbGridControl::~DbGridControl() void DbGridControl::dispose() { - if (!isDisposed()) - { - RemoveColumns(); + RemoveColumns(); - m_bWantDestruction = true; - osl::MutexGuard aGuard(m_aDestructionSafety); - if (m_pFieldListeners) - DisconnectFromFields(); - m_pCursorDisposeListener.reset(); - } + m_bWantDestruction = true; + osl::MutexGuard aGuard(m_aDestructionSafety); + if (m_pFieldListeners) + DisconnectFromFields(); + m_pCursorDisposeListener.reset(); if (m_nDeleteEvent) Application::RemoveUserEvent(m_nDeleteEvent); commit 1d641424d2591c3e221d0bd6a203f46e5c4352fe Author: Noel Grandin <noel.gran...@collabora.co.uk> AuthorDate: Fri May 28 15:19:37 2021 +0200 Commit: Noel Grandin <noel.gran...@collabora.co.uk> CommitDate: Sun May 30 09:08:57 2021 +0200 std::unique_ptr->std::optional Change-Id: I674ef2bccaa56d1435b821e3e161f7c47340202f Reviewed-on: https://gerrit.libreoffice.org/c/core/+/116380 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.gran...@collabora.co.uk> diff --git a/sw/source/filter/ww8/ww8par.cxx b/sw/source/filter/ww8/ww8par.cxx index a86e6f5b2687..9f8b38e6dd46 100644 --- a/sw/source/filter/ww8/ww8par.cxx +++ b/sw/source/filter/ww8/ww8par.cxx @@ -5366,7 +5366,7 @@ ErrCode SwWW8ImplReader::CoreLoad(WW8Glossary const *pGloss) m_xSBase.reset(); m_xWDop.reset(); m_xFonts.reset(); - m_pAtnNames.reset(); + m_xAtnNames.reset(); m_xSprmParser.reset(); m_xProgress.reset(); @@ -6090,10 +6090,10 @@ void SwWW8ImplReader::SetOutlineStyles() const OUString* SwWW8ImplReader::GetAnnotationAuthor(sal_uInt16 nIdx) { - if (!m_pAtnNames && m_xWwFib->m_lcbGrpStAtnOwners) + if (!m_xAtnNames && m_xWwFib->m_lcbGrpStAtnOwners) { // Determine authors: can be found in the TableStream - m_pAtnNames.reset(new std::vector<OUString>); + m_xAtnNames.emplace(); SvStream& rStrm = *m_pTableStream; tools::Long nOldPos = rStrm.Tell(); @@ -6104,23 +6104,23 @@ const OUString* SwWW8ImplReader::GetAnnotationAuthor(sal_uInt16 nIdx) { if( m_bVer67 ) { - m_pAtnNames->push_back(read_uInt8_PascalString(rStrm, + m_xAtnNames->push_back(read_uInt8_PascalString(rStrm, RTL_TEXTENCODING_MS_1252)); - nRead += m_pAtnNames->rbegin()->getLength() + 1; // Length + sal_uInt8 count + nRead += m_xAtnNames->rbegin()->getLength() + 1; // Length + sal_uInt8 count } else { - m_pAtnNames->push_back(read_uInt16_PascalString(rStrm)); + m_xAtnNames->push_back(read_uInt16_PascalString(rStrm)); // Unicode: double the length + sal_uInt16 count - nRead += (m_pAtnNames->rbegin()->getLength() + 1)*2; + nRead += (m_xAtnNames->rbegin()->getLength() + 1)*2; } } rStrm.Seek( nOldPos ); } const OUString *pRet = nullptr; - if (m_pAtnNames && nIdx < m_pAtnNames->size()) - pRet = &((*m_pAtnNames)[nIdx]); + if (m_xAtnNames && nIdx < m_xAtnNames->size()) + pRet = &((*m_xAtnNames)[nIdx]); return pRet; } diff --git a/sw/source/filter/ww8/ww8par.hxx b/sw/source/filter/ww8/ww8par.hxx index 575841ffbeee..d2ad5f67b6c7 100644 --- a/sw/source/filter/ww8/ww8par.hxx +++ b/sw/source/filter/ww8/ww8par.hxx @@ -1263,7 +1263,7 @@ private: std::unique_ptr<SwMSDffManager> m_xMSDffManager; - std::unique_ptr<std::vector<OUString>> m_pAtnNames; + std::optional<std::vector<OUString>> m_xAtnNames; std::unique_ptr<WW8SmartTagData> m_pSmartTagData; diff --git a/sw/source/filter/ww8/ww8scan.cxx b/sw/source/filter/ww8/ww8scan.cxx index 8f24ccac97c8..ae7309c4ca23 100644 --- a/sw/source/filter/ww8/ww8scan.cxx +++ b/sw/source/filter/ww8/ww8scan.cxx @@ -5074,7 +5074,7 @@ WW8PLCFMan::WW8PLCFMan(const WW8ScannerBase* pBase, ManTypes nType, tools::Long if( p->pPLCFx->IsSprm() ) { // Careful: nEndPos must be - p->xIdStack.reset(new std::stack<sal_uInt16>); + p->xIdStack.emplace(); if ((p == m_pChp) || (p == m_pPap)) { WW8_CP nTemp = p->nEndPos+p->nCpOfs; diff --git a/sw/source/filter/ww8/ww8scan.hxx b/sw/source/filter/ww8/ww8scan.hxx index 81221db9eb82..66d3a651ff78 100644 --- a/sw/source/filter/ww8/ww8scan.hxx +++ b/sw/source/filter/ww8/ww8scan.hxx @@ -878,7 +878,7 @@ enum ManTypes // enums for PLCFMan-ctor struct WW8PLCFxDesc { WW8PLCFx* pPLCFx; - std::unique_ptr<std::stack<sal_uInt16>> xIdStack; // memory for Attr-Id for Attr-end(s) + std::optional<std::stack<sal_uInt16>> xIdStack; // memory for Attr-Id for Attr-end(s) const sal_uInt8* pMemPos;// where are the Sprm(s) tools::Long nOrigSprmsLen; diff --git a/sw/source/filter/xml/xmltbli.cxx b/sw/source/filter/xml/xmltbli.cxx index db83fcda984c..8e72c781ab22 100644 --- a/sw/source/filter/xml/xmltbli.cxx +++ b/sw/source/filter/xml/xmltbli.cxx @@ -1286,7 +1286,7 @@ SwXMLTableContext::~SwXMLTableContext() { if (m_bOwnsBox1) delete m_pBox1; - m_pColumnDefaultCellStyleNames.reset(); + m_xColumnDefaultCellStyleNames.reset(); m_pSharedBoxFormats.reset(); m_pRows.reset(); @@ -1354,21 +1354,21 @@ void SwXMLTableContext::InsertColumn( sal_Int32 nWidth2, bool bRelWidth2, nWidth2 = MAX_WIDTH; m_aColumnWidths.emplace_back(nWidth2, bRelWidth2 ); if( !((pDfltCellStyleName && !pDfltCellStyleName->isEmpty()) || - m_pColumnDefaultCellStyleNames) ) + m_xColumnDefaultCellStyleNames) ) return; - if( !m_pColumnDefaultCellStyleNames ) + if( !m_xColumnDefaultCellStyleNames ) { - m_pColumnDefaultCellStyleNames.reset(new std::vector<OUString>); + m_xColumnDefaultCellStyleNames.emplace(); sal_uLong nCount = m_aColumnWidths.size() - 1; while( nCount-- ) - m_pColumnDefaultCellStyleNames->push_back(OUString()); + m_xColumnDefaultCellStyleNames->push_back(OUString()); } if(pDfltCellStyleName) - m_pColumnDefaultCellStyleNames->push_back(*pDfltCellStyleName); + m_xColumnDefaultCellStyleNames->push_back(*pDfltCellStyleName); else - m_pColumnDefaultCellStyleNames->push_back(OUString()); + m_xColumnDefaultCellStyleNames->push_back(OUString()); } sal_Int32 SwXMLTableContext::GetColumnWidth( sal_uInt32 nCol, @@ -1387,8 +1387,8 @@ sal_Int32 SwXMLTableContext::GetColumnWidth( sal_uInt32 nCol, OUString SwXMLTableContext::GetColumnDefaultCellStyleName( sal_uInt32 nCol ) const { - if( m_pColumnDefaultCellStyleNames && nCol < m_pColumnDefaultCellStyleNames->size()) - return (*m_pColumnDefaultCellStyleNames)[static_cast<size_t>(nCol)]; + if( m_xColumnDefaultCellStyleNames && nCol < m_xColumnDefaultCellStyleNames->size()) + return (*m_xColumnDefaultCellStyleNames)[static_cast<size_t>(nCol)]; return OUString(); } @@ -1476,7 +1476,7 @@ void SwXMLTableContext::InsertCell( const OUString& rStyleName, if( sStyleName.isEmpty() ) { sStyleName = (*m_pRows)[m_nCurRow]->GetDefaultCellStyleName(); - if( sStyleName.isEmpty() && m_pColumnDefaultCellStyleNames ) + if( sStyleName.isEmpty() && m_xColumnDefaultCellStyleNames ) { sStyleName = GetColumnDefaultCellStyleName( m_nCurCol ); if( sStyleName.isEmpty() ) diff --git a/sw/source/filter/xml/xmltbli.hxx b/sw/source/filter/xml/xmltbli.hxx index d29dc4b989f7..4a397b73c39e 100644 --- a/sw/source/filter/xml/xmltbli.hxx +++ b/sw/source/filter/xml/xmltbli.hxx @@ -60,7 +60,7 @@ class SwXMLTableContext : public XMLTextTableContext ColumnWidthInfo(sal_uInt16 wdth, bool isRel) : width(wdth), isRelative(isRel) {}; }; std::vector<ColumnWidthInfo> m_aColumnWidths; - std::unique_ptr<std::vector<OUString>> m_pColumnDefaultCellStyleNames; + std::optional<std::vector<OUString>> m_xColumnDefaultCellStyleNames; css::uno::Reference< css::text::XTextCursor > m_xOldCursor; css::uno::Reference< css::text::XTextContent > m_xTextContent; _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits