summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorXisco Fauli <anistenis@gmail.com>2016-05-22 17:29:23 +0200
committerNoel Grandin <noelgrandin@gmail.com>2016-05-23 06:24:38 +0000
commitdba7aaff1ac2e175f8a79caef7573d9120cf7c5c (patch)
tree85da2b7595b5e1728cc33f83fd0470d4f12d0e78
parenta1cfd9ff7dc0371720c4e2670e318a8282bd9735 (diff)
tdf#89329: use unique_ptr for pImpl in printer
Change-Id: I8adbac922b7a44ae99325a489f87762dd86397de Reviewed-on: https://gerrit.libreoffice.org/25316 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noelgrandin@gmail.com>
-rw-r--r--include/sfx2/printer.hxx2
-rw-r--r--sfx2/source/view/printer.cxx33
2 files changed, 14 insertions, 21 deletions
diff --git a/include/sfx2/printer.hxx b/include/sfx2/printer.hxx
index 1e9c05bb03a0..2e5d5b43c823 100644
--- a/include/sfx2/printer.hxx
+++ b/include/sfx2/printer.hxx
@@ -35,7 +35,7 @@ class SFX2_DLLPUBLIC SfxPrinter : public Printer
{
private:
SfxItemSet* pOptions;
- SfxPrinter_Impl* pImpl;
+ std::unique_ptr< SfxPrinter_Impl > pImpl;
bool bKnown;
SAL_DLLPRIVATE void operator =(SfxPrinter &) = delete;
diff --git a/sfx2/source/view/printer.cxx b/sfx2/source/view/printer.cxx
index 566351dce72e..7f95cf8c2992 100644
--- a/sfx2/source/view/printer.cxx
+++ b/sfx2/source/view/printer.cxx
@@ -102,25 +102,21 @@ SfxPrinter::SfxPrinter( SfxItemSet* pTheOptions ) :
This constructor creates a default printer.
*/
-
pOptions( pTheOptions ),
- bKnown(true)
-
+ pImpl( new SfxPrinter_Impl ),
+ bKnown( true )
{
assert(pOptions);
- pImpl = new SfxPrinter_Impl;
}
SfxPrinter::SfxPrinter( SfxItemSet* pTheOptions,
const JobSetup& rTheOrigJobSetup ) :
-
- Printer ( rTheOrigJobSetup.GetPrinterName() ),
- pOptions ( pTheOptions )
-
+ Printer( rTheOrigJobSetup.GetPrinterName() ),
+ pOptions( pTheOptions ),
+ pImpl( new SfxPrinter_Impl )
{
assert(pOptions);
- pImpl = new SfxPrinter_Impl;
bKnown = GetName() == rTheOrigJobSetup.GetPrinterName();
if ( bKnown )
@@ -130,29 +126,26 @@ SfxPrinter::SfxPrinter( SfxItemSet* pTheOptions,
SfxPrinter::SfxPrinter( SfxItemSet* pTheOptions,
const OUString& rPrinterName ) :
-
- Printer ( rPrinterName ),
- pOptions ( pTheOptions ),
- bKnown ( GetName() == rPrinterName )
-
+ Printer( rPrinterName ),
+ pOptions( pTheOptions ),
+ pImpl( new SfxPrinter_Impl ),
+ bKnown( GetName() == rPrinterName )
{
assert(pOptions);
- pImpl = new SfxPrinter_Impl;
}
SfxPrinter::SfxPrinter( const SfxPrinter& rPrinter ) :
-
- Printer ( rPrinter.GetName() ),
+ Printer( rPrinter.GetName() ),
pOptions( rPrinter.GetOptions().Clone() ),
- bKnown ( rPrinter.IsKnown() )
+ pImpl( new SfxPrinter_Impl ),
+ bKnown( rPrinter.IsKnown() )
{
assert(pOptions);
SetJobSetup( rPrinter.GetJobSetup() );
SetPrinterProps( &rPrinter );
SetMapMode( rPrinter.GetMapMode() );
- pImpl = new SfxPrinter_Impl;
pImpl->mbAll = rPrinter.pImpl->mbAll;
pImpl->mbSelection = rPrinter.pImpl->mbSelection;
pImpl->mbFromTo = rPrinter.pImpl->mbFromTo;
@@ -187,7 +180,7 @@ SfxPrinter::~SfxPrinter()
void SfxPrinter::dispose()
{
delete pOptions;
- delete pImpl;
+ pImpl.reset();
Printer::dispose();
}