[Libreoffice-commits] core.git: include/sfx2 sfx2/source

Xisco Fauli anistenis at gmail.com
Mon May 23 13:11:51 UTC 2016


 include/sfx2/frmdescr.hxx    |    2 +-
 sfx2/source/doc/frmdescr.cxx |   34 ++++++++++++++++------------------
 2 files changed, 17 insertions(+), 19 deletions(-)

New commits:
commit fb5b0f59b9c923f235eb40b5cef69f8e9a1d9eeb
Author: Xisco Fauli <anistenis at gmail.com>
Date:   Sun May 22 15:37:58 2016 +0200

    tdf#89329: use unique_ptr for pImpl in frmdescr
    
    Change-Id: I337e1ee34fe1571ca75c8ff8762b5d43fecc2cb4
    Reviewed-on: https://gerrit.libreoffice.org/25310
    Tested-by: Jenkins <ci at libreoffice.org>
    Reviewed-by: Noel Grandin <noelgrandin at gmail.com>

diff --git a/include/sfx2/frmdescr.hxx b/include/sfx2/frmdescr.hxx
index ae28c0e..dfec93d 100644
--- a/include/sfx2/frmdescr.hxx
+++ b/include/sfx2/frmdescr.hxx
@@ -79,7 +79,7 @@ class SFX2_DLLPUBLIC SfxFrameDescriptor
     bool                    bResizeVertical;
     bool                    bHasUI;
     bool                    bReadOnly;
-    SfxFrameDescriptor_Impl* pImp;
+    std::unique_ptr< SfxFrameDescriptor_Impl > pImpl;
 
 public:
                             SfxFrameDescriptor();
diff --git a/sfx2/source/doc/frmdescr.cxx b/sfx2/source/doc/frmdescr.cxx
index 8b67a02..86c654a 100644
--- a/sfx2/source/doc/frmdescr.cxx
+++ b/sfx2/source/doc/frmdescr.cxx
@@ -49,22 +49,20 @@ SfxFrameDescriptor::SfxFrameDescriptor() :
     bResizeHorizontal( true ),
     bResizeVertical( true ),
     bHasUI( true ),
-    bReadOnly( false )
+    bReadOnly( false ),
+    pImpl( new SfxFrameDescriptor_Impl )
 {
-
-    pImp = new SfxFrameDescriptor_Impl;
 }
 
 SfxFrameDescriptor::~SfxFrameDescriptor()
 {
-    delete pImp;
 }
 
 SfxItemSet* SfxFrameDescriptor::GetArgs()
 {
-    if( !pImp->pArgs )
-        pImp->pArgs = new SfxAllItemSet( SfxGetpApp()->GetPool() );
-    return pImp->pArgs;
+    if( !pImpl->pArgs )
+        pImpl->pArgs = new SfxAllItemSet( SfxGetpApp()->GetPool() );
+    return pImpl->pArgs;
 }
 
 void SfxFrameDescriptor::SetURL( const OUString& rURL )
@@ -76,8 +74,8 @@ void SfxFrameDescriptor::SetURL( const OUString& rURL )
 void SfxFrameDescriptor::SetActualURL( const OUString& rURL )
 {
     aActualURL = INetURLObject(rURL);
-    if ( pImp->pArgs )
-        pImp->pArgs->ClearItem();
+    if ( pImpl->pArgs )
+        pImpl->pArgs->ClearItem();
 }
 
 void SfxFrameDescriptor::SetActualURL( const INetURLObject& rURL )
@@ -87,12 +85,12 @@ void SfxFrameDescriptor::SetActualURL( const INetURLObject& rURL )
 
 void SfxFrameDescriptor::SetEditable( bool bSet )
 {
-    pImp->bEditable = bSet;
+    pImpl->bEditable = bSet;
 }
 
 bool SfxFrameDescriptor::IsEditable() const
 {
-    return pImp->bEditable;
+    return pImpl->bEditable;
 }
 
 SfxFrameDescriptor* SfxFrameDescriptor::Clone() const
@@ -113,13 +111,13 @@ SfxFrameDescriptor* SfxFrameDescriptor::Clone() const
     pFrame->bHasUI = bHasUI;
     pFrame->SetReadOnly( IsReadOnly() );
     pFrame->SetEditable( IsEditable() );
-    if ( pImp->pWallpaper )
-        pFrame->pImp->pWallpaper = new Wallpaper( *pImp->pWallpaper );
-    if( pImp->pArgs )
+    if ( pImpl->pWallpaper )
+        pFrame->pImpl->pWallpaper = new Wallpaper( *pImpl->pWallpaper );
+    if( pImpl->pArgs )
     {
         // Currently in the clone of SfxAllItemSets there is still a bug ...
-        pFrame->pImp->pArgs = new SfxAllItemSet( SfxGetpApp()->GetPool() );
-        pFrame->pImp->pArgs->Put(*pImp->pArgs);
+        pFrame->pImpl->pArgs = new SfxAllItemSet( SfxGetpApp()->GetPool() );
+        pFrame->pImpl->pArgs->Put(*pImpl->pArgs);
     }
 
     pFrame->nItemId = nItemId;
@@ -129,10 +127,10 @@ SfxFrameDescriptor* SfxFrameDescriptor::Clone() const
 
 void SfxFrameDescriptor::SetWallpaper( const Wallpaper& rWallpaper )
 {
-    DELETEZ( pImp->pWallpaper );
+    DELETEZ( pImpl->pWallpaper );
 
     if ( rWallpaper.GetStyle() != WallpaperStyle::NONE )
-        pImp->pWallpaper = new Wallpaper( rWallpaper );
+        pImpl->pWallpaper = new Wallpaper( rWallpaper );
 }
 
 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */


More information about the Libreoffice-commits mailing list