summaryrefslogtreecommitdiff
path: root/vcl
diff options
context:
space:
mode:
authorNoel Grandin <noel.grandin@collabora.co.uk>2018-06-08 13:32:57 +0200
committerNoel Grandin <noel.grandin@collabora.co.uk>2018-06-09 13:11:47 +0200
commit6d008c9e1dbe4240a10c8789860dc30b0cb0b2d5 (patch)
tree25330d9240ea3ef0687809ab8286c1e2c4b1c75f /vcl
parent84efebb5304b2ebbc03e7743b131ce4d5ad10c03 (diff)
hold and return SalPrinter with std::unique_ptr
and remove DestroyPrinter, doesn't not anything beyond delete'ing the object Change-Id: I25e14b962e65a0e131fae3ff5771c82920a4e375 Reviewed-on: https://gerrit.libreoffice.org/55498 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
Diffstat (limited to 'vcl')
-rw-r--r--vcl/headless/svpprn.cxx9
-rw-r--r--vcl/inc/headless/svpinst.hxx3
-rw-r--r--vcl/inc/osx/salinst.h3
-rw-r--r--vcl/inc/qt5/Qt5Instance.hxx3
-rw-r--r--vcl/inc/salinst.hxx3
-rw-r--r--vcl/inc/unx/geninst.h3
-rw-r--r--vcl/inc/unx/gtk/gtkinst.hxx2
-rw-r--r--vcl/inc/win/salinst.h3
-rw-r--r--vcl/ios/dummies.cxx18
-rw-r--r--vcl/osx/salinst.cxx9
-rw-r--r--vcl/qt5/Qt5Instance_Print.cxx6
-rw-r--r--vcl/source/gdi/print.cxx3
-rw-r--r--vcl/source/gdi/print3.cxx11
-rw-r--r--vcl/unx/generic/print/genprnpsp.cxx9
-rw-r--r--vcl/unx/gtk/gtkinst.cxx4
-rw-r--r--vcl/win/gdi/salprn.cxx9
16 files changed, 28 insertions, 70 deletions
diff --git a/vcl/headless/svpprn.cxx b/vcl/headless/svpprn.cxx
index e54c01a4c437..7b661c1d58e0 100644
--- a/vcl/headless/svpprn.cxx
+++ b/vcl/headless/svpprn.cxx
@@ -188,18 +188,13 @@ void SvpSalInstance::DestroyInfoPrinter( SalInfoPrinter* pPrinter )
delete pPrinter;
}
-SalPrinter* SvpSalInstance::CreatePrinter( SalInfoPrinter* pInfoPrinter )
+std::unique_ptr<SalPrinter> SvpSalInstance::CreatePrinter( SalInfoPrinter* pInfoPrinter )
{
// create and initialize SalPrinter
SvpSalPrinter* pPrinter = new SvpSalPrinter( pInfoPrinter );
pPrinter->m_aJobData = static_cast<SvpSalInfoPrinter*>(pInfoPrinter)->m_aJobData;
- return pPrinter;
-}
-
-void SvpSalInstance::DestroyPrinter( SalPrinter* pPrinter )
-{
- delete pPrinter;
+ return std::unique_ptr<SalPrinter>(pPrinter);
}
void SvpSalInstance::GetPrinterQueueInfo( ImplPrnQueueList* pList )
diff --git a/vcl/inc/headless/svpinst.hxx b/vcl/inc/headless/svpinst.hxx
index cf9ced053c8a..a56aa408f601 100644
--- a/vcl/inc/headless/svpinst.hxx
+++ b/vcl/inc/headless/svpinst.hxx
@@ -151,8 +151,7 @@ public:
virtual SalInfoPrinter* CreateInfoPrinter( SalPrinterQueueInfo* pQueueInfo,
ImplJobSetup* pSetupData ) override;
virtual void DestroyInfoPrinter( SalInfoPrinter* pPrinter ) override;
- virtual SalPrinter* CreatePrinter( SalInfoPrinter* pInfoPrinter ) override;
- virtual void DestroyPrinter( SalPrinter* pPrinter ) override;
+ virtual std::unique_ptr<SalPrinter> CreatePrinter( SalInfoPrinter* pInfoPrinter ) override;
virtual void GetPrinterQueueInfo( ImplPrnQueueList* pList ) override;
virtual void GetPrinterQueueState( SalPrinterQueueInfo* pInfo ) override;
diff --git a/vcl/inc/osx/salinst.h b/vcl/inc/osx/salinst.h
index 27d6266501f7..18f8630b0f27 100644
--- a/vcl/inc/osx/salinst.h
+++ b/vcl/inc/osx/salinst.h
@@ -105,8 +105,7 @@ public:
virtual SalInfoPrinter* CreateInfoPrinter( SalPrinterQueueInfo* pQueueInfo,
ImplJobSetup* pSetupData ) override;
virtual void DestroyInfoPrinter( SalInfoPrinter* pPrinter ) override;
- virtual SalPrinter* CreatePrinter( SalInfoPrinter* pInfoPrinter ) override;
- virtual void DestroyPrinter( SalPrinter* pPrinter ) override;
+ virtual std::unique_ptr<SalPrinter> CreatePrinter( SalInfoPrinter* pInfoPrinter ) override;
virtual void GetPrinterQueueInfo( ImplPrnQueueList* pList ) override;
virtual void GetPrinterQueueState( SalPrinterQueueInfo* pInfo ) override;
virtual void DeletePrinterQueueInfo( SalPrinterQueueInfo* pInfo ) override;
diff --git a/vcl/inc/qt5/Qt5Instance.hxx b/vcl/inc/qt5/Qt5Instance.hxx
index 84eff744d32b..aea3e792bfa0 100644
--- a/vcl/inc/qt5/Qt5Instance.hxx
+++ b/vcl/inc/qt5/Qt5Instance.hxx
@@ -73,8 +73,7 @@ public:
virtual SalInfoPrinter* CreateInfoPrinter(SalPrinterQueueInfo* pQueueInfo,
ImplJobSetup* pSetupData) override;
virtual void DestroyInfoPrinter(SalInfoPrinter* pPrinter) override;
- virtual SalPrinter* CreatePrinter(SalInfoPrinter* pInfoPrinter) override;
- virtual void DestroyPrinter(SalPrinter* pPrinter) override;
+ virtual std::unique_ptr<SalPrinter> CreatePrinter(SalInfoPrinter* pInfoPrinter) override;
virtual void GetPrinterQueueInfo(ImplPrnQueueList* pList) override;
virtual void GetPrinterQueueState(SalPrinterQueueInfo* pInfo) override;
virtual void DeletePrinterQueueInfo(SalPrinterQueueInfo* pInfo) override;
diff --git a/vcl/inc/salinst.hxx b/vcl/inc/salinst.hxx
index e04d849e4169..c8f330350ad4 100644
--- a/vcl/inc/salinst.hxx
+++ b/vcl/inc/salinst.hxx
@@ -117,8 +117,7 @@ public:
virtual SalInfoPrinter* CreateInfoPrinter( SalPrinterQueueInfo* pQueueInfo,
ImplJobSetup* pSetupData ) = 0;
virtual void DestroyInfoPrinter( SalInfoPrinter* pPrinter ) = 0;
- virtual SalPrinter* CreatePrinter( SalInfoPrinter* pInfoPrinter ) = 0;
- virtual void DestroyPrinter( SalPrinter* pPrinter ) = 0;
+ virtual std::unique_ptr<SalPrinter> CreatePrinter( SalInfoPrinter* pInfoPrinter ) = 0;
virtual void GetPrinterQueueInfo( ImplPrnQueueList* pList ) = 0;
virtual void GetPrinterQueueState( SalPrinterQueueInfo* pInfo ) = 0;
diff --git a/vcl/inc/unx/geninst.h b/vcl/inc/unx/geninst.h
index af97a2d9ba83..3b9b7b79ca82 100644
--- a/vcl/inc/unx/geninst.h
+++ b/vcl/inc/unx/geninst.h
@@ -60,8 +60,7 @@ public:
virtual SalInfoPrinter* CreateInfoPrinter ( SalPrinterQueueInfo* pQueueInfo,
ImplJobSetup* pSetupData ) override;
virtual void DestroyInfoPrinter ( SalInfoPrinter* pPrinter ) override;
- virtual SalPrinter* CreatePrinter ( SalInfoPrinter* pInfoPrinter ) override;
- virtual void DestroyPrinter ( SalPrinter* pPrinter ) override;
+ virtual std::unique_ptr<SalPrinter> CreatePrinter ( SalInfoPrinter* pInfoPrinter ) override;
virtual void GetPrinterQueueInfo ( ImplPrnQueueList* pList ) override;
virtual void GetPrinterQueueState ( SalPrinterQueueInfo* pInfo ) override;
virtual void DeletePrinterQueueInfo ( SalPrinterQueueInfo* pInfo ) override;
diff --git a/vcl/inc/unx/gtk/gtkinst.hxx b/vcl/inc/unx/gtk/gtkinst.hxx
index aea9e0223fe6..25d3ff020886 100644
--- a/vcl/inc/unx/gtk/gtkinst.hxx
+++ b/vcl/inc/unx/gtk/gtkinst.hxx
@@ -197,7 +197,7 @@ public:
#endif
virtual SalSystem* CreateSalSystem() override;
virtual SalInfoPrinter* CreateInfoPrinter(SalPrinterQueueInfo* pPrinterQueueInfo, ImplJobSetup* pJobSetup) override;
- virtual SalPrinter* CreatePrinter( SalInfoPrinter* pInfoPrinter ) override;
+ virtual std::unique_ptr<SalPrinter> CreatePrinter( SalInfoPrinter* pInfoPrinter ) override;
virtual SalMenu* CreateMenu( bool, Menu* ) override;
virtual void DestroyMenu( SalMenu* pMenu ) override;
virtual SalMenuItem* CreateMenuItem( const SalItemParams* ) override;
diff --git a/vcl/inc/win/salinst.h b/vcl/inc/win/salinst.h
index 77e14012b220..4274f731ee2b 100644
--- a/vcl/inc/win/salinst.h
+++ b/vcl/inc/win/salinst.h
@@ -57,8 +57,7 @@ public:
virtual SalInfoPrinter* CreateInfoPrinter( SalPrinterQueueInfo* pQueueInfo,
ImplJobSetup* pSetupData ) override;
virtual void DestroyInfoPrinter( SalInfoPrinter* pPrinter ) override;
- virtual SalPrinter* CreatePrinter( SalInfoPrinter* pInfoPrinter ) override;
- virtual void DestroyPrinter( SalPrinter* pPrinter ) override;
+ virtual std::unique_ptr<SalPrinter> CreatePrinter( SalInfoPrinter* pInfoPrinter ) override;
virtual void GetPrinterQueueInfo( ImplPrnQueueList* pList ) override;
virtual void GetPrinterQueueState( SalPrinterQueueInfo* pInfo ) override;
virtual void DeletePrinterQueueInfo( SalPrinterQueueInfo* pInfo ) override;
diff --git a/vcl/ios/dummies.cxx b/vcl/ios/dummies.cxx
index ff8991dfacfa..641b0db2d6bf 100644
--- a/vcl/ios/dummies.cxx
+++ b/vcl/ios/dummies.cxx
@@ -24,9 +24,9 @@
#include "unx/gendata.hxx"
-SalPrinter* SvpSalInstance::CreatePrinter( SalInfoPrinter* /* pInfoPrinter */ )
+std::unique_ptr<SalPrinter> SvpSalInstance::CreatePrinter( SalInfoPrinter* /* pInfoPrinter */ )
{
- return NULL;
+ return nullptr;
}
OUString SvpSalInstance::GetDefaultPrinter()
@@ -39,11 +39,6 @@ GenPspGraphics *SvpSalInstance::CreatePrintGraphics()
return NULL;
}
-void SvpSalInstance::DestroyPrinter( SalPrinter* pPrinter )
-{
- delete pPrinter;
-}
-
void SvpSalInstance::PostPrintersChanged()
{
}
@@ -72,9 +67,9 @@ void SvpSalInstance::DeletePrinterQueueInfo( SalPrinterQueueInfo* pInfo )
delete pInfo;
}
-SalPrinter* SalGenericInstance::CreatePrinter( SalInfoPrinter* /* pInfoPrinter */ )
+std::unique_ptr<SalPrinter> SalGenericInstance::CreatePrinter( SalInfoPrinter* /* pInfoPrinter */ )
{
- return NULL;
+ return nullptr;
}
OUString SalGenericInstance::GetDefaultPrinter()
@@ -82,11 +77,6 @@ OUString SalGenericInstance::GetDefaultPrinter()
return OUString();
}
-void SalGenericInstance::DestroyPrinter( SalPrinter* pPrinter )
-{
- delete pPrinter;
-}
-
void SalGenericInstance::PostPrintersChanged()
{
}
diff --git a/vcl/osx/salinst.cxx b/vcl/osx/salinst.cxx
index 43a288ebd2ed..08302f8150ed 100644
--- a/vcl/osx/salinst.cxx
+++ b/vcl/osx/salinst.cxx
@@ -795,14 +795,9 @@ void AquaSalInstance::DestroyObject( SalObject* pObject )
delete pObject;
}
-SalPrinter* AquaSalInstance::CreatePrinter( SalInfoPrinter* pInfoPrinter )
+std::unique_ptr<SalPrinter> AquaSalInstance::CreatePrinter( SalInfoPrinter* pInfoPrinter )
{
- return new AquaSalPrinter( dynamic_cast<AquaSalInfoPrinter*>(pInfoPrinter) );
-}
-
-void AquaSalInstance::DestroyPrinter( SalPrinter* pPrinter )
-{
- delete pPrinter;
+ return std::unique_ptr<SalPrinter>(new AquaSalPrinter( dynamic_cast<AquaSalInfoPrinter*>(pInfoPrinter) ));
}
void AquaSalInstance::GetPrinterQueueInfo( ImplPrnQueueList* pList )
diff --git a/vcl/qt5/Qt5Instance_Print.cxx b/vcl/qt5/Qt5Instance_Print.cxx
index a0bfed1d2f9f..e1b6bdc158c3 100644
--- a/vcl/qt5/Qt5Instance_Print.cxx
+++ b/vcl/qt5/Qt5Instance_Print.cxx
@@ -186,17 +186,15 @@ SalInfoPrinter* Qt5Instance::CreateInfoPrinter(SalPrinterQueueInfo* pQueueInfo,
void Qt5Instance::DestroyInfoPrinter(SalInfoPrinter* pPrinter) { delete pPrinter; }
-SalPrinter* Qt5Instance::CreatePrinter(SalInfoPrinter* pInfoPrinter)
+std::unique_ptr<SalPrinter> Qt5Instance::CreatePrinter(SalInfoPrinter* pInfoPrinter)
{
// create and initialize SalPrinter
Qt5Printer* pPrinter = new Qt5Printer(pInfoPrinter);
pPrinter->m_aJobData = static_cast<Qt5InfoPrinter*>(pInfoPrinter)->m_aJobData;
- return pPrinter;
+ return std::unique_ptr<SalPrinter>(pPrinter);
}
-void Qt5Instance::DestroyPrinter(SalPrinter* pPrinter) { delete pPrinter; }
-
void Qt5Instance::GetPrinterQueueInfo(ImplPrnQueueList* pList)
{
PrinterInfoManager& rManager(PrinterInfoManager::get());
diff --git a/vcl/source/gdi/print.cxx b/vcl/source/gdi/print.cxx
index ac44dcbbaf18..aeed0625d7fa 100644
--- a/vcl/source/gdi/print.cxx
+++ b/vcl/source/gdi/print.cxx
@@ -1593,8 +1593,7 @@ void Printer::EndJob()
// FIXME: Do not destroy the printer asynchronously as Win95
// can't handle destroying a printer object and printing
// at the same time
- ImplGetSVData()->mpDefInst->DestroyPrinter( mpPrinter );
- mpPrinter = nullptr;
+ mpPrinter.reset();
}
}
diff --git a/vcl/source/gdi/print3.cxx b/vcl/source/gdi/print3.cxx
index 544e07ce02d4..64d316bdd4aa 100644
--- a/vcl/source/gdi/print3.cxx
+++ b/vcl/source/gdi/print3.cxx
@@ -616,9 +616,8 @@ bool Printer::StartJob( const OUString& i_rJobName, std::shared_ptr<vcl::Printer
mnError = ImplSalPrinterErrorCodeToVCL(mpPrinter->GetErrorCode());
if ( !mnError )
mnError = PRINTER_GENERALERROR;
- pSVData->mpDefInst->DestroyPrinter( mpPrinter );
- mbPrinting = false;
- mpPrinter = nullptr;
+ mbPrinting = false;
+ mpPrinter.reset();
mbJobActive = false;
GDIMetaFile aDummyFile;
@@ -726,10 +725,8 @@ bool Printer::StartJob( const OUString& i_rJobName, std::shared_ptr<vcl::Printer
i_xController->setJobState( mnError == PRINTER_ABORT
? css::view::PrintableState_JOB_ABORTED
: css::view::PrintableState_JOB_FAILED );
- if( mpPrinter )
- pSVData->mpDefInst->DestroyPrinter( mpPrinter );
- mbPrinting = false;
- mpPrinter = nullptr;
+ mbPrinting = false;
+ mpPrinter.reset();
return false;
}
diff --git a/vcl/unx/generic/print/genprnpsp.cxx b/vcl/unx/generic/print/genprnpsp.cxx
index dc1d4ebf54cd..7a36e3196b9a 100644
--- a/vcl/unx/generic/print/genprnpsp.cxx
+++ b/vcl/unx/generic/print/genprnpsp.cxx
@@ -392,19 +392,14 @@ void SalGenericInstance::DestroyInfoPrinter( SalInfoPrinter* pPrinter )
delete pPrinter;
}
-SalPrinter* SalGenericInstance::CreatePrinter( SalInfoPrinter* pInfoPrinter )
+std::unique_ptr<SalPrinter> SalGenericInstance::CreatePrinter( SalInfoPrinter* pInfoPrinter )
{
mbPrinterInit = true;
// create and initialize SalPrinter
PspSalPrinter* pPrinter = new PspSalPrinter( pInfoPrinter );
pPrinter->m_aJobData = static_cast<PspSalInfoPrinter*>(pInfoPrinter)->m_aJobData;
- return pPrinter;
-}
-
-void SalGenericInstance::DestroyPrinter( SalPrinter* pPrinter )
-{
- delete pPrinter;
+ return std::unique_ptr<SalPrinter>(pPrinter);
}
void SalGenericInstance::GetPrinterQueueInfo( ImplPrnQueueList* pList )
diff --git a/vcl/unx/gtk/gtkinst.cxx b/vcl/unx/gtk/gtkinst.cxx
index 4e168ca6dcf2..926ef9b3f9d0 100644
--- a/vcl/unx/gtk/gtkinst.cxx
+++ b/vcl/unx/gtk/gtkinst.cxx
@@ -280,12 +280,12 @@ SalInfoPrinter* GtkInstance::CreateInfoPrinter( SalPrinterQueueInfo* pQueueInfo,
#endif
}
-SalPrinter* GtkInstance::CreatePrinter( SalInfoPrinter* pInfoPrinter )
+std::unique_ptr<SalPrinter> GtkInstance::CreatePrinter( SalInfoPrinter* pInfoPrinter )
{
EnsureInit();
#if defined ENABLE_GTK_PRINT || GTK_CHECK_VERSION(3,0,0)
mbPrinterInit = true;
- return new GtkSalPrinter( pInfoPrinter );
+ return std::unique_ptr<SalPrinter>(new GtkSalPrinter( pInfoPrinter ));
#else
return Superclass_t::CreatePrinter( pInfoPrinter );
#endif
diff --git a/vcl/win/gdi/salprn.cxx b/vcl/win/gdi/salprn.cxx
index a682f9d33f0a..0027263b5af9 100644
--- a/vcl/win/gdi/salprn.cxx
+++ b/vcl/win/gdi/salprn.cxx
@@ -1279,16 +1279,11 @@ void WinSalInfoPrinter::GetPageInfo( const ImplJobSetup*,
}
-SalPrinter* WinSalInstance::CreatePrinter( SalInfoPrinter* pInfoPrinter )
+std::unique_ptr<SalPrinter> WinSalInstance::CreatePrinter( SalInfoPrinter* pInfoPrinter )
{
WinSalPrinter* pPrinter = new WinSalPrinter;
pPrinter->mpInfoPrinter = static_cast<WinSalInfoPrinter*>(pInfoPrinter);
- return pPrinter;
-}
-
-void WinSalInstance::DestroyPrinter( SalPrinter* pPrinter )
-{
- delete pPrinter;
+ return std::unique_ptr<SalPrinter>(pPrinter);
}
BOOL CALLBACK SalPrintAbortProc( HDC hPrnDC, int /* nError */ )