filter/source/xsltdialog/typedetectionimport.cxx | 19 ++++++++----------- filter/source/xsltdialog/typedetectionimport.hxx | 7 +++---- filter/source/xsltdialog/xmlfiltertabdialog.cxx | 11 +++++------ filter/source/xsltdialog/xmlfiltertabdialog.hxx | 4 ++-- 4 files changed, 18 insertions(+), 23 deletions(-)
New commits: commit f2f9d431589d7a5d7636fee2a021bfed497cb861 Author: Noel Grandin <noel.gran...@collabora.co.uk> Date: Mon Jun 4 15:06:17 2018 +0200 loplugin:useuniqueptr in XMLFilterTabDialog Change-Id: Ic4bc1441802df3b62c1e8da69379f2677f243508 Reviewed-on: https://gerrit.libreoffice.org/55521 Tested-by: Jenkins <c...@libreoffice.org> Reviewed-by: Noel Grandin <noel.gran...@collabora.co.uk> diff --git a/filter/source/xsltdialog/xmlfiltertabdialog.cxx b/filter/source/xsltdialog/xmlfiltertabdialog.cxx index 2f8f5e306506..3d05f25f15e3 100644 --- a/filter/source/xsltdialog/xmlfiltertabdialog.cxx +++ b/filter/source/xsltdialog/xmlfiltertabdialog.cxx @@ -46,7 +46,7 @@ XMLFilterTabDialog::XMLFilterTabDialog(weld::Window *pParent, , mpXSLTPage(new XMLFilterTabPageXSLT(m_xTabCtrl->get_page("transformation"), m_xDialog.get())) { mpOldInfo = pInfo; - mpNewInfo = new filter_info_impl( *mpOldInfo ); + mpNewInfo.reset( new filter_info_impl( *mpOldInfo ) ); OUString aTitle(m_xDialog->get_title()); aTitle = aTitle.replaceAll("%s", mpNewInfo->maFilterName); @@ -54,19 +54,18 @@ XMLFilterTabDialog::XMLFilterTabDialog(weld::Window *pParent, m_xOKBtn->connect_clicked( LINK( this, XMLFilterTabDialog, OkHdl ) ); - mpBasicPage->SetInfo( mpNewInfo ); - mpXSLTPage->SetInfo( mpNewInfo ); + mpBasicPage->SetInfo( mpNewInfo.get() ); + mpXSLTPage->SetInfo( mpNewInfo.get() ); } XMLFilterTabDialog::~XMLFilterTabDialog() { - delete mpNewInfo; } bool XMLFilterTabDialog::onOk() { - mpXSLTPage->FillInfo( mpNewInfo ); - mpBasicPage->FillInfo( mpNewInfo ); + mpXSLTPage->FillInfo( mpNewInfo.get() ); + mpBasicPage->FillInfo( mpNewInfo.get() ); OString sErrorPage; const char* pErrorId = nullptr; diff --git a/filter/source/xsltdialog/xmlfiltertabdialog.hxx b/filter/source/xsltdialog/xmlfiltertabdialog.hxx index 475a8c34225a..f6b6784eea8d 100644 --- a/filter/source/xsltdialog/xmlfiltertabdialog.hxx +++ b/filter/source/xsltdialog/xmlfiltertabdialog.hxx @@ -34,7 +34,7 @@ public: bool onOk(); - filter_info_impl* getNewFilterInfo() const { return mpNewInfo;} + filter_info_impl* getNewFilterInfo() const { return mpNewInfo.get(); } private: css::uno::Reference< css::uno::XComponentContext > mxContext; @@ -42,7 +42,7 @@ private: DECL_LINK(OkHdl, weld::Button&, void); const filter_info_impl* mpOldInfo; - filter_info_impl* mpNewInfo; + std::unique_ptr<filter_info_impl> mpNewInfo; std::unique_ptr<weld::Notebook> m_xTabCtrl; std::unique_ptr<weld::Button> m_xOKBtn; commit 8a6722f6453900424b21809bafb649a0592e7626 Author: Noel Grandin <noel.gran...@collabora.co.uk> Date: Mon Jun 4 15:04:57 2018 +0200 loplugin:useuniqueptr in TypeDetectionImporter Change-Id: I0bb696ccf8555fe597aaff1cb6ab74bf16d81731 Reviewed-on: https://gerrit.libreoffice.org/55520 Tested-by: Jenkins <c...@libreoffice.org> Reviewed-by: Noel Grandin <noel.gran...@collabora.co.uk> diff --git a/filter/source/xsltdialog/typedetectionimport.cxx b/filter/source/xsltdialog/typedetectionimport.cxx index 2fa37c8c40eb..fd9960e36726 100644 --- a/filter/source/xsltdialog/typedetectionimport.cxx +++ b/filter/source/xsltdialog/typedetectionimport.cxx @@ -70,16 +70,14 @@ void TypeDetectionImporter::fillFilterVector( XMLFilterVector& rFilters ) // create filter infos from imported filter nodes for (auto const& filterNode : maFilterNodes) { - filter_info_impl* pFilter = createFilterForNode(filterNode); + filter_info_impl* pFilter = createFilterForNode(filterNode.get()); if( pFilter ) rFilters.push_back( pFilter ); - - delete filterNode; } + maFilterNodes.clear(); // now delete type nodes - for (auto const& typeNode : maTypeNodes) - delete typeNode; + maTypeNodes.clear(); } static OUString getSubdata( int index, sal_Unicode delimiter, const OUString& rData ) @@ -115,11 +113,10 @@ static OUString getSubdata( int index, sal_Unicode delimiter, const OUString& rD Node* TypeDetectionImporter::findTypeNode( const OUString& rType ) { - // now delete type nodes - for (NodeVector::const_iterator aIter(maTypeNodes.begin()), aEnd(maTypeNodes.end()); aIter != aEnd; ++aIter) + for (auto aIter(maTypeNodes.begin()), aEnd(maTypeNodes.end()); aIter != aEnd; ++aIter) { if( (*aIter)->maName == rType ) - return (*aIter); + return aIter->get(); } return nullptr; @@ -277,18 +274,18 @@ void SAL_CALL TypeDetectionImporter::endElement( const OUString& /* aName */ ) case e_Filter: case e_Type: { - Node* pNode = new Node; + std::unique_ptr<Node> pNode(new Node); pNode->maName = maNodeName; pNode->maPropertyMap = maPropertyMap; maPropertyMap.clear(); if( eCurrentState == e_Filter ) { - maFilterNodes.push_back( pNode ); + maFilterNodes.push_back( std::move(pNode) ); } else { - maTypeNodes.push_back( pNode ); + maTypeNodes.push_back( std::move(pNode) ); } } break; diff --git a/filter/source/xsltdialog/typedetectionimport.hxx b/filter/source/xsltdialog/typedetectionimport.hxx index 1af2b442c824..440e650db9ae 100644 --- a/filter/source/xsltdialog/typedetectionimport.hxx +++ b/filter/source/xsltdialog/typedetectionimport.hxx @@ -28,6 +28,7 @@ #include "xmlfilterjar.hxx" #include <map> +#include <memory> #include <vector> #include <stack> @@ -56,8 +57,6 @@ struct Node PropertyMap maPropertyMap; }; -typedef std::vector< Node* > NodeVector; - class TypeDetectionImporter : public cppu::WeakImplHelper < css::xml::sax::XDocumentHandler > { public: @@ -83,8 +82,8 @@ private: std::stack< ImportState > maStack; PropertyMap maPropertyMap; - NodeVector maFilterNodes; - NodeVector maTypeNodes; + std::vector< std::unique_ptr<Node> > maFilterNodes; + std::vector< std::unique_ptr<Node> > maTypeNodes; OUString maValue; OUString maNodeName; _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits