diff options
-rw-r--r-- | include/sfx2/printer.hxx | 2 | ||||
-rw-r--r-- | sfx2/source/view/printer.cxx | 33 |
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(); } |