[Libreoffice-commits] core.git: slideshow/source

Noel Grandin noel.grandin at collabora.co.uk
Fri Mar 23 09:46:30 UTC 2018


 slideshow/source/engine/transitions/slidetransitionfactory.cxx |   17 +---------
 1 file changed, 3 insertions(+), 14 deletions(-)

New commits:
commit 0bbfb4733289782e042a76e3c87c8df6c1819c05
Author: Noel Grandin <noel.grandin at collabora.co.uk>
Date:   Thu Mar 22 14:03:33 2018 +0200

    loplugin:useuniqueptr in PluginSlideChange
    
    Change-Id: I60474c40012c2afa2573bc5ba5013e46551d1309
    Reviewed-on: https://gerrit.libreoffice.org/51760
    Tested-by: Jenkins <ci at libreoffice.org>
    Reviewed-by: Noel Grandin <noel.grandin at collabora.co.uk>

diff --git a/slideshow/source/engine/transitions/slidetransitionfactory.cxx b/slideshow/source/engine/transitions/slidetransitionfactory.cxx
index 8b675e975d13..5ed99a951026 100644
--- a/slideshow/source/engine/transitions/slidetransitionfactory.cxx
+++ b/slideshow/source/engine/transitions/slidetransitionfactory.cxx
@@ -154,13 +154,6 @@ public:
     virtual ~PluginSlideChange() override
     {
         mxFactory.clear();
-
-        for( const auto& pCurrView : maTransitions )
-        {
-            delete pCurrView;
-        }
-
-        maTransitions.clear();
     }
 
     bool addTransition( const UnoViewSharedPtr& rView )
@@ -173,7 +166,7 @@ public:
             getEnteringBitmap(ViewEntry(rView))->getXBitmap() );
 
         if( rTransition.is() )
-            maTransitions.push_back( new TransitionViewPair( rTransition, rView ) );
+            maTransitions.emplace_back( new TransitionViewPair( rTransition, rView ) );
         else
             return false;
 
@@ -213,15 +206,11 @@ public:
         SAL_INFO("slideshow", "PluginSlideChange viewRemoved");
         SlideChangeBase::viewRemoved( rView );
 
-        ::std::vector< TransitionViewPair* >::const_iterator aEnd(maTransitions.end());
-        for( ::std::vector< TransitionViewPair* >::iterator aIter =maTransitions.begin();
-             aIter != aEnd;
-             ++aIter )
+        for( auto aIter = maTransitions.begin(); aIter != maTransitions.end(); ++aIter )
         {
             if( ( *aIter )->mpView == rView )
             {
                 SAL_INFO("slideshow", "view removed" );
-                delete *aIter;
                 maTransitions.erase( aIter );
                 break;
             }
@@ -264,7 +253,7 @@ public:
 
 private:
     // One transition object per view
-    std::vector< TransitionViewPair* > maTransitions;
+    std::vector< std::unique_ptr<TransitionViewPair> > maTransitions;
 
     // bool
     bool mbSuccess;


More information about the Libreoffice-commits mailing list