From be4e037b0944fdaec20b6afb05f668b93c1a4a8f Mon Sep 17 00:00:00 2001 From: Noel Grandin Date: Mon, 5 Feb 2018 16:36:04 +0200 Subject: loplugin:useuniqueptr in DbGridRow Change-Id: Ia3d7e2821213fb6e6ab5e13f707b5e07b26127a8 Reviewed-on: https://gerrit.libreoffice.org/49871 Tested-by: Jenkins Reviewed-by: Noel Grandin --- include/svx/gridctrl.hxx | 5 +++-- svx/source/fmcomp/fmgridcl.cxx | 1 + svx/source/fmcomp/gridctrl.cxx | 9 ++++----- 3 files changed, 8 insertions(+), 7 deletions(-) diff --git a/include/svx/gridctrl.hxx b/include/svx/gridctrl.hxx index d3d3c778b5bc..80c2b6aad5ff 100644 --- a/include/svx/gridctrl.hxx +++ b/include/svx/gridctrl.hxx @@ -37,6 +37,7 @@ #include #include #include +#include #include class DbGridControl; @@ -64,14 +65,14 @@ enum class GridRowStatus class DbGridRow : public SvRefBase { css::uno::Any m_aBookmark; // Bookmark of the row, can be set - ::std::vector< ::svxform::DataColumn* > + ::std::vector< std::unique_ptr<::svxform::DataColumn> > m_aVariants; GridRowStatus m_eStatus; bool m_bIsNew; // row is no longer valid // is removed on the next positioning public: - DbGridRow():m_eStatus(GridRowStatus::Clean), m_bIsNew(true) { } + DbGridRow(); DbGridRow(CursorWrapper* pCur, bool bPaintCursor); void SetState(CursorWrapper* pCur, bool bPaintCursor); diff --git a/svx/source/fmcomp/fmgridcl.cxx b/svx/source/fmcomp/fmgridcl.cxx index ba9bef83935d..3ee95dad4b0d 100644 --- a/svx/source/fmcomp/fmgridcl.cxx +++ b/svx/source/fmcomp/fmgridcl.cxx @@ -33,6 +33,7 @@ #include #include #include +#include #include #include diff --git a/svx/source/fmcomp/gridctrl.cxx b/svx/source/fmcomp/gridctrl.cxx index 7d75fa5a1a0d..07d08e0249a2 100644 --- a/svx/source/fmcomp/gridctrl.cxx +++ b/svx/source/fmcomp/gridctrl.cxx @@ -835,6 +835,9 @@ void DbGridControl::NavigationBar::StateChanged(StateChangedType nType) } } +DbGridRow::DbGridRow():m_eStatus(GridRowStatus::Clean), m_bIsNew(true) +{} + DbGridRow::DbGridRow(CursorWrapper* pCur, bool bPaintCursor) :m_bIsNew(false) { @@ -846,8 +849,7 @@ DbGridRow::DbGridRow(CursorWrapper* pCur, bool bPaintCursor) { Reference< XPropertySet > xColSet( xColumns->getByIndex(i), css::uno::UNO_QUERY); - DataColumn* pColumn = new DataColumn(xColSet); - m_aVariants.push_back( pColumn ); + m_aVariants.emplace_back( new DataColumn(xColSet) ); } if (pCur->rowDeleted()) @@ -884,9 +886,6 @@ DbGridRow::DbGridRow(CursorWrapper* pCur, bool bPaintCursor) DbGridRow::~DbGridRow() { - for (DataColumn* p : m_aVariants) - delete p; - m_aVariants.clear(); } void DbGridRow::SetState(CursorWrapper* pCur, bool bPaintCursor) -- cgit