svtools/source/contnr/contentenumeration.cxx |    7 +----
 svtools/source/contnr/contentenumeration.hxx |    2 -
 svtools/source/contnr/fileview.cxx           |   35 ++++++++++-----------------
 svtools/source/contnr/foldertree.cxx         |    4 +--
 svtools/source/filter/exportdialog.cxx       |   10 +++----
 svtools/source/filter/exportdialog.hxx       |    4 +--
 6 files changed, 26 insertions(+), 36 deletions(-)

New commits:
commit e1c154eeabf37d603158ddc425d5afed125d3a15
Author: Noel Grandin <noel.gran...@collabora.co.uk>
Date:   Tue Apr 24 13:51:44 2018 +0200

    loplugin:useuniqueptr in SvtFileView_Impl
    
    Change-Id: I18f812354dcd6eed7e2fa6400401d40feea80d85
    Reviewed-on: https://gerrit.libreoffice.org/53597
    Tested-by: Jenkins <c...@libreoffice.org>
    Reviewed-by: Noel Grandin <noel.gran...@collabora.co.uk>

diff --git a/svtools/source/contnr/contentenumeration.cxx 
b/svtools/source/contnr/contentenumeration.cxx
index 10d8deb6e119..55415653b920 100644
--- a/svtools/source/contnr/contentenumeration.cxx
+++ b/svtools/source/contnr/contentenumeration.cxx
@@ -194,7 +194,6 @@ namespace svt
 
                 try
                 {
-                    SortingData_Impl* pData;
                     DateTime aDT;
 
                     bool bCancelled = false;
@@ -204,8 +203,6 @@ namespace svt
                         // don't show hidden files
                         if ( !bIsHidden || xRow->wasNull() )
                         {
-                            pData = nullptr;
-
                             aDT = xRow->getTimestamp( ROW_DATE_MOD );
                             bool bContainsDate = !xRow->wasNull();
                             if ( !bContainsDate )
@@ -227,7 +224,7 @@ namespace svt
                                     continue;
                             }
 
-                            pData = new SortingData_Impl;
+                            std::unique_ptr<SortingData_Impl> pData(new 
SortingData_Impl);
                             pData->maTargetURL = sRealURL;
 
                             pData->mbIsFolder = xRow->getBoolean( 
ROW_IS_FOLDER ) && !xRow->wasNull();
@@ -288,7 +285,7 @@ namespace svt
 
                             {
                                 ::osl::MutexGuard aGuard( m_rContentMutex );
-                                m_rContent.push_back( pData );
+                                m_rContent.push_back( std::move(pData) );
                             }
                         }
 
diff --git a/svtools/source/contnr/contentenumeration.hxx 
b/svtools/source/contnr/contentenumeration.hxx
index 74beb8bd06a9..e43e42de2e00 100644
--- a/svtools/source/contnr/contentenumeration.hxx
+++ b/svtools/source/contnr/contentenumeration.hxx
@@ -177,7 +177,7 @@ namespace svt
     class FileViewContentEnumerator: public salhelper::Thread
     {
     public:
-        typedef ::std::vector< SortingData_Impl* >  ContentData;
+        typedef ::std::vector< std::unique_ptr<SortingData_Impl> >  
ContentData;
 
     private:
         ContentData&                    m_rContent;
diff --git a/svtools/source/contnr/fileview.cxx 
b/svtools/source/contnr/fileview.cxx
index 74b3769279c7..764a389f3cc0 100644
--- a/svtools/source/contnr/fileview.cxx
+++ b/svtools/source/contnr/fileview.cxx
@@ -322,13 +322,13 @@ protected:
 
 public:
 
-    ::std::vector< SortingData_Impl* >  maContent;
+    ::std::vector< std::unique_ptr<SortingData_Impl> >  maContent;
     ::osl::Mutex                        maMutex;
 
     VclPtr<SvTreeListBox>               mpCurView;
     VclPtr<ViewTabListBox_Impl>         mpView;
     VclPtr<IconView>                    mpIconView;
-    NameTranslator_Impl*    mpNameTrans;
+    std::unique_ptr<NameTranslator_Impl> mpNameTrans;
     sal_uInt16              mnSortColumn;
     bool                    mbAscending     : 1;
     bool                    mbOnlyFolder    : 1;
@@ -1439,7 +1439,6 @@ SvtFileView_Impl::SvtFileView_Impl( SvtFileView* 
pAntiImpl, Reference < XCommand
     ,m_eAsyncActionResult       ( ::svt::EnumerationResult::ERROR )
     ,m_bRunningAsyncAction      ( false )
     ,m_bAsyncActionCancelled    ( false )
-    ,mpNameTrans                ( nullptr )
     ,mnSortColumn               ( COLUMN_TITLE )
     ,mbAscending                ( true )
     ,mbOnlyFolder               ( bOnlyFolder )
@@ -1474,13 +1473,8 @@ void SvtFileView_Impl::Clear()
 {
     ::osl::MutexGuard aGuard( maMutex );
 
-    for (auto const& elem : maContent)
-        delete elem;
-
     maContent.clear();
-
-    if( mpNameTrans )
-        DELETEZ( mpNameTrans );
+    mpNameTrans.reset();
 }
 
 
@@ -1513,7 +1507,7 @@ FileViewResult SvtFileView_Impl::GetFolderContent_Impl(
 
     OSL_ENSURE( !m_xContentEnumerator.is(), 
"SvtFileView_Impl::GetFolderContent_Impl: still running another enumeration!" );
     m_xContentEnumerator.set(new ::svt::FileViewContentEnumerator(
-        mpView->GetCommandEnvironment(), maContent, maMutex, mbReplaceNames ? 
mpNameTrans : nullptr));
+        mpView->GetCommandEnvironment(), maContent, maMutex, mbReplaceNames ? 
mpNameTrans.get() : nullptr));
         // TODO: should we cache and re-use this thread?
 
     if ( !pAsyncDescriptor )
@@ -1643,7 +1637,7 @@ void SvtFileView_Impl::FilterFolderContent_Impl( const 
OUString &rFilter )
 
 
     // do the filtering
-    ::std::vector< SortingData_Impl* >::iterator aContentLoop = 
maContent.begin();
+    auto aContentLoop = maContent.begin();
     OUString sCompareString;
     do
     {
@@ -1667,7 +1661,6 @@ void SvtFileView_Impl::FilterFolderContent_Impl( const 
OUString &rFilter )
             if( bDelete )
             {
                 // none of the filters did match
-                delete *aContentLoop;
                 aContentLoop = maContent.erase(aContentLoop);
             }
             else
@@ -1936,7 +1929,7 @@ static const CollatorWrapper*   pCollatorWrapper = 
nullptr;
 
 /* this function returns true, if aOne is less then aTwo
 */
-bool CompareSortingData_Impl( SortingData_Impl* const aOne, SortingData_Impl 
const * aTwo )
+bool CompareSortingData_Impl( std::unique_ptr<SortingData_Impl> const & aOne, 
std::unique_ptr<SortingData_Impl> const & aTwo )
 {
     DBG_ASSERT( pCollatorWrapper, "*CompareSortingData_Impl(): Can't work this 
way!" );
 
@@ -2032,7 +2025,7 @@ void SvtFileView_Impl::EntryRemoved( const OUString& rURL 
)
     ::osl::MutexGuard aGuard( maMutex );
 
     maContent.erase(std::find_if(maContent.begin(), maContent.end(),
-                     [&](const SortingData_Impl* data) { return 
data->maTargetURL == rURL; }));
+                     [&](const std::unique_ptr<SortingData_Impl> & data) { 
return data->maTargetURL == rURL; }));
 }
 
 
@@ -2042,7 +2035,7 @@ void SvtFileView_Impl::EntryRenamed( OUString& rURL,
     ::osl::MutexGuard aGuard( maMutex );
 
     auto aFoundElem = std::find_if(maContent.begin(), maContent.end(),
-                     [&](const SortingData_Impl* data) { return 
data->maTargetURL == rURL; });
+                     [&](const std::unique_ptr<SortingData_Impl> & data) { 
return data->maTargetURL == rURL; });
     if (aFoundElem != maContent.end())
     {
         (*aFoundElem)->SetNewTitle( rTitle );
@@ -2066,7 +2059,7 @@ OUString SvtFileView_Impl::FolderInserted( const 
OUString& rURL, const OUString&
 {
     ::osl::MutexGuard aGuard( maMutex );
 
-    SortingData_Impl* pData = new SortingData_Impl;
+    std::unique_ptr<SortingData_Impl> pData(new SortingData_Impl);
 
     pData->SetNewTitle( rTitle );
     pData->maSize        = 0;
@@ -2095,7 +2088,7 @@ OUString SvtFileView_Impl::FolderInserted( const 
OUString& rURL, const OUString&
             + rLocaleData.getTime( pData->maModDate );
 
     pData->maDisplayText = aValue;
-    maContent.push_back( pData );
+    maContent.push_back( std::move(pData) );
 
     return aValue;
 }
@@ -2106,7 +2099,7 @@ sal_uLong SvtFileView_Impl::GetEntryPos( const OUString& 
rURL )
     ::osl::MutexGuard aGuard( maMutex );
 
     auto aFoundElem = std::find_if(maContent.begin(), maContent.end(),
-          [&](const SortingData_Impl* data) { return data->maTargetURL == 
rURL; });
+          [&](const std::unique_ptr<SortingData_Impl> & data) { return 
data->maTargetURL == rURL; });
     return aFoundElem != maContent.end()?std::distance(maContent.begin(), 
aFoundElem):0;
 }
 
@@ -2146,7 +2139,7 @@ bool SvtFileView_Impl::SearchNextEntry( sal_uInt32& 
nIndex, const OUString& rTit
     sal_uInt32 nStart = nIndex;
     while ( nIndex < nEnd )
     {
-        SortingData_Impl* pData = maContent[ nIndex ];
+        SortingData_Impl* pData = maContent[ nIndex ].get();
         if ( pData->GetLowerTitle().startsWith( rTitle ) )
             return true;
         ++nIndex;
@@ -2157,7 +2150,7 @@ bool SvtFileView_Impl::SearchNextEntry( sal_uInt32& 
nIndex, const OUString& rTit
         nIndex = 0;
         while ( nIndex < nEnd && nIndex <= nStart )
         {
-            SortingData_Impl* pData = maContent[ nIndex ];
+            SortingData_Impl* pData = maContent[ nIndex ].get();
             if ( pData->GetLowerTitle().startsWith( rTitle ) )
                 return true;
             ++nIndex;
@@ -2175,7 +2168,7 @@ void SvtFileView_Impl::SetActualFolder( const 
INetURLObject& rActualFolder )
         if( mpNameTrans )
             mpNameTrans->SetActualFolder( rActualFolder );
         else
-            mpNameTrans = new NameTranslator_Impl( rActualFolder );
+            mpNameTrans.reset(new NameTranslator_Impl( rActualFolder ));
     }
 }
 
diff --git a/svtools/source/contnr/foldertree.cxx 
b/svtools/source/contnr/foldertree.cxx
index d14906a657a6..b3ee18a60710 100644
--- a/svtools/source/contnr/foldertree.cxx
+++ b/svtools/source/contnr/foldertree.cxx
@@ -53,7 +53,7 @@ void FolderTree::FillTreeEntry( SvTreeListEntry* pEntry )
             GetModel()->Remove(pChild);
         }
 
-        ::std::vector< SortingData_Impl* > aContent;
+        ::std::vector< std::unique_ptr<SortingData_Impl> > aContent;
 
         ::rtl::Reference< ::svt::FileViewContentEnumerator >
             xContentEnumerator(new FileViewContentEnumerator(
@@ -66,7 +66,7 @@ void FolderTree::FillTreeEntry( SvTreeListEntry* pEntry )
 
         if ( EnumerationResult::SUCCESS == eResult )
         {
-            for(SortingData_Impl* i : aContent)
+            for(auto & i : aContent)
             {
                 if( i->mbIsFolder )
                 {
commit 85409aa4dd71ed63e586819bb79134e82faa8f34
Author: Noel Grandin <noel.gran...@collabora.co.uk>
Date:   Tue Apr 24 13:43:23 2018 +0200

    loplugin:useuniqueptr in ExportDialog
    
    Change-Id: I84dd42783be04d7acb8c0d4a9afa920db0e22d8e
    Reviewed-on: https://gerrit.libreoffice.org/53596
    Tested-by: Jenkins <c...@libreoffice.org>
    Reviewed-by: Noel Grandin <noel.gran...@collabora.co.uk>

diff --git a/svtools/source/filter/exportdialog.cxx 
b/svtools/source/filter/exportdialog.cxx
index 71c753bd9e3d..8f2dc48e1803 100644
--- a/svtools/source/filter/exportdialog.cxx
+++ b/svtools/source/filter/exportdialog.cxx
@@ -182,7 +182,7 @@ uno::Sequence< beans::PropertyValue > 
ExportDialog::GetFilterData( bool bUpdateC
 
     FilterConfigItem* pFilterOptions;
     if ( bUpdateConfig )
-         pFilterOptions = mpFilterOptionsItem;
+         pFilterOptions = mpFilterOptionsItem.get();
     else
     {
         uno::Sequence< beans::PropertyValue > aFilterData( 
mpFilterOptionsItem->GetFilterData() );
@@ -647,9 +647,9 @@ ExportDialog::ExportDialog(FltCallDialogParameter& rPara,
     maExt = maExt.toAsciiUpperCase();
 
     OUString  aFilterConfigPath( "Office.Common/Filter/Graphic/Export/" );
-    mpOptionsItem = new FilterConfigItem( aFilterConfigPath, 
&rPara.aFilterData );
+    mpOptionsItem.reset(new FilterConfigItem( aFilterConfigPath, 
&rPara.aFilterData ));
     aFilterConfigPath += maExt;
-    mpFilterOptionsItem = new FilterConfigItem( aFilterConfigPath, 
&rPara.aFilterData );
+    mpFilterOptionsItem.reset(new FilterConfigItem( aFilterConfigPath, 
&rPara.aFilterData ));
 
     mnInitialResolutionUnit = mbIsPixelFormat
         ? mpOptionsItem->ReadInt32("PixelExportUnit", UNIT_DEFAULT)
@@ -1011,8 +1011,8 @@ ExportDialog::~ExportDialog()
 void ExportDialog::dispose()
 {
     mpTempStream.reset();
-    delete mpFilterOptionsItem;
-    delete mpOptionsItem;
+    mpFilterOptionsItem.reset();
+    mpOptionsItem.reset();
     mpMfSizeX.clear();
     mpLbSizeX.clear();
     mpMfSizeY.clear();
diff --git a/svtools/source/filter/exportdialog.hxx 
b/svtools/source/filter/exportdialog.hxx
index 59119350e7a3..d2aa54f1fb80 100644
--- a/svtools/source/filter/exportdialog.hxx
+++ b/svtools/source/filter/exportdialog.hxx
@@ -111,8 +111,8 @@ private:
     OUString            ms8BitColorPalette;
     OUString            ms24BitColor;
 
-    FilterConfigItem*   mpOptionsItem;
-    FilterConfigItem*   mpFilterOptionsItem;
+    std::unique_ptr<FilterConfigItem> mpOptionsItem;
+    std::unique_ptr<FilterConfigItem> mpFilterOptionsItem;
 
     OUString            maExt;
     sal_Int16           mnFormat;
_______________________________________________
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits

Reply via email to