[Libreoffice-commits] core.git: vcl/inc vcl/source

Mark Page aptitude at btconnect.com
Fri Jul 1 13:05:50 UTC 2016


 vcl/inc/impgraph.hxx        |    2 +-
 vcl/source/gdi/impgraph.cxx |   21 ++++++---------------
 2 files changed, 7 insertions(+), 16 deletions(-)

New commits:
commit 663b7aec30703c8479c9dec2f8955bdc28bdca5e
Author: Mark Page <aptitude at btconnect.com>
Date:   Wed Jun 29 07:28:22 2016 +0100

    Modify the ImpGraphic class, mpAnimation to use a unique pointer
    
    Change-Id: Icb2be06cf5476d4d04752ab2270fe1c58453fe8f
    Reviewed-on: https://gerrit.libreoffice.org/26791
    Tested-by: Jenkins <ci at libreoffice.org>
    Reviewed-by: Noel Grandin <noelgrandin at gmail.com>

diff --git a/vcl/inc/impgraph.hxx b/vcl/inc/impgraph.hxx
index 884b6a6..e5ba1e9 100644
--- a/vcl/inc/impgraph.hxx
+++ b/vcl/inc/impgraph.hxx
@@ -40,7 +40,7 @@ private:
     GDIMetaFile         maMetaFile;
     BitmapEx            maEx;
     ImpSwapInfo         maSwapInfo;
-    Animation*          mpAnimation;
+    std::unique_ptr<Animation> mpAnimation;
     GraphicReader*      mpContext;
     std::shared_ptr<ImpSwapFile> mpSwapFile;
     GfxLink*            mpGfxLink;
diff --git a/vcl/source/gdi/impgraph.cxx b/vcl/source/gdi/impgraph.cxx
index ba92a25..0f7eb21 100644
--- a/vcl/source/gdi/impgraph.cxx
+++ b/vcl/source/gdi/impgraph.cxx
@@ -95,7 +95,6 @@ Size GraphicReader::GetPreviewSize() const
 }
 
 ImpGraphic::ImpGraphic() :
-        mpAnimation     ( nullptr ),
         mpContext       ( nullptr ),
         mpGfxLink       ( nullptr ),
         meType          ( GraphicType::NONE ),
@@ -126,11 +125,9 @@ ImpGraphic::ImpGraphic( const ImpGraphic& rImpGraphic ) :
 
     if( rImpGraphic.mpAnimation )
     {
-        mpAnimation = new Animation( *rImpGraphic.mpAnimation );
+        mpAnimation = o3tl::make_unique<Animation>( *rImpGraphic.mpAnimation );
         maEx = mpAnimation->GetBitmapEx();
     }
-    else
-        mpAnimation = nullptr;
 
     maSvgData = rImpGraphic.maSvgData;
     maPdfData = rImpGraphic.maPdfData;
@@ -138,7 +135,6 @@ ImpGraphic::ImpGraphic( const ImpGraphic& rImpGraphic ) :
 
 ImpGraphic::ImpGraphic( const Bitmap& rBitmap ) :
         maEx            ( rBitmap ),
-        mpAnimation     ( nullptr ),
         mpContext       ( nullptr ),
         mpGfxLink       ( nullptr ),
         meType          ( !rBitmap.IsEmpty() ? GraphicType::Bitmap : GraphicType::NONE ),
@@ -152,7 +148,6 @@ ImpGraphic::ImpGraphic( const Bitmap& rBitmap ) :
 
 ImpGraphic::ImpGraphic( const BitmapEx& rBitmapEx ) :
         maEx            ( rBitmapEx ),
-        mpAnimation     ( nullptr ),
         mpContext       ( nullptr ),
         mpGfxLink       ( nullptr ),
         meType          ( !rBitmapEx.IsEmpty() ? GraphicType::Bitmap : GraphicType::NONE ),
@@ -180,7 +175,7 @@ ImpGraphic::ImpGraphic(const SvgDataPtr& rSvgDataPtr)
 
 ImpGraphic::ImpGraphic( const Animation& rAnimation ) :
         maEx            ( rAnimation.GetBitmapEx() ),
-        mpAnimation     ( new Animation( rAnimation ) ),
+        mpAnimation     ( o3tl::make_unique<Animation>( rAnimation ) ),
         mpContext       ( nullptr ),
         mpGfxLink       ( nullptr ),
         meType          ( GraphicType::Bitmap ),
@@ -194,7 +189,6 @@ ImpGraphic::ImpGraphic( const Animation& rAnimation ) :
 
 ImpGraphic::ImpGraphic( const GDIMetaFile& rMtf ) :
         maMetaFile      ( rMtf ),
-        mpAnimation     ( nullptr ),
         mpContext       ( nullptr ),
         mpGfxLink       ( nullptr ),
         meType          ( GraphicType::GdiMetafile ),
@@ -223,16 +217,15 @@ ImpGraphic& ImpGraphic::operator=( const ImpGraphic& rImpGraphic )
         meType = rImpGraphic.meType;
         mnSizeBytes = rImpGraphic.mnSizeBytes;
 
-        delete mpAnimation;
+        mpAnimation.reset();
 
         if ( rImpGraphic.mpAnimation )
         {
-            mpAnimation = new Animation( *rImpGraphic.mpAnimation );
+            mpAnimation = o3tl::make_unique<Animation>( *rImpGraphic.mpAnimation );
             maEx = mpAnimation->GetBitmapEx();
         }
         else
         {
-            mpAnimation = nullptr;
             maEx = rImpGraphic.maEx;
         }
 
@@ -337,8 +330,7 @@ void ImpGraphic::ImplClearGraphics( bool bCreateSwapInfo )
     if( mpAnimation )
     {
         mpAnimation->Clear();
-        delete mpAnimation;
-        mpAnimation = nullptr;
+        mpAnimation.reset();
     }
 
     if( mpGfxLink )
@@ -1469,8 +1461,7 @@ SvStream& ReadImpGraphic( SvStream& rIStm, ImpGraphic& rImpGraphic )
 
                     if( !rIStm.GetError() && ( 0x5344414e == nMagic1 ) && ( 0x494d4931 == nMagic2 ) )
                     {
-                        delete rImpGraphic.mpAnimation;
-                        rImpGraphic.mpAnimation = new Animation;
+                        rImpGraphic.mpAnimation = o3tl::make_unique<Animation>();
                         ReadAnimation( rIStm, *rImpGraphic.mpAnimation );
 
                         // #108077# manually set loaded BmpEx to Animation


More information about the Libreoffice-commits mailing list