vcl/inc/salinst.hxx | 2 +- vcl/inc/unx/geninst.h | 1 - vcl/inc/win/salinst.h | 1 - vcl/ios/dummies.cxx | 5 ----- vcl/osx/salinst.cxx | 2 +- vcl/source/app/salvtables.cxx | 2 ++ vcl/unx/generic/print/genprnpsp.cxx | 5 ----- vcl/win/gdi/salprn.cxx | 6 ------ 8 files changed, 4 insertions(+), 20 deletions(-)
New commits: commit da263655e8f10b1a33416daaaed82ac5fb1877b2 Author: Michael Weghorn <[email protected]> AuthorDate: Mon Mar 2 02:49:56 2026 +0100 Commit: Michael Weghorn <[email protected]> CommitDate: Mon Mar 2 17:13:52 2026 +0100 vcl: Deduplicate SalInstance::DestroyInfoPrinter implementations So far, SalInstance::DestroyInfoPrinter was purely virtual, and most implementations were doing the same: Calling `delete` on the passed arg. Deduplicate that, by implementating that logic right in the SalInstance base class instead and dropping overrides doing the same. Change-Id: Ib139b53fba3eeaf70d29bc67d8a06e9656fd2b69 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/200745 Tested-by: Jenkins Reviewed-by: Michael Weghorn <[email protected]> diff --git a/vcl/inc/salinst.hxx b/vcl/inc/salinst.hxx index 01fe719f77dd..e91e48ea8da2 100644 --- a/vcl/inc/salinst.hxx +++ b/vcl/inc/salinst.hxx @@ -143,7 +143,7 @@ public: // JobSetup virtual SalInfoPrinter* CreateInfoPrinter( SalPrinterQueueInfo* pQueueInfo, ImplJobSetup* pSetupData ) = 0; - virtual void DestroyInfoPrinter( SalInfoPrinter* pPrinter ) = 0; + virtual void DestroyInfoPrinter(SalInfoPrinter* pPrinter); virtual std::unique_ptr<SalPrinter> CreatePrinter( SalInfoPrinter* pInfoPrinter ) = 0; virtual void GetPrinterQueueInfo( ImplPrnQueueList* pList ) = 0; diff --git a/vcl/inc/unx/geninst.h b/vcl/inc/unx/geninst.h index 1c19fa1ab6c7..7e9c5388ce87 100644 --- a/vcl/inc/unx/geninst.h +++ b/vcl/inc/unx/geninst.h @@ -59,7 +59,6 @@ public: // Printing virtual SalInfoPrinter* CreateInfoPrinter ( SalPrinterQueueInfo* pQueueInfo, ImplJobSetup* pSetupData ) override; - virtual void DestroyInfoPrinter ( SalInfoPrinter* 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/win/salinst.h b/vcl/inc/win/salinst.h index 731bf1fb49d0..0342b951e204 100644 --- a/vcl/inc/win/salinst.h +++ b/vcl/inc/win/salinst.h @@ -61,7 +61,6 @@ public: DeviceFormat eFormat, const SystemGraphicsData& rData ) override; virtual SalInfoPrinter* CreateInfoPrinter( SalPrinterQueueInfo* pQueueInfo, ImplJobSetup* pSetupData ) override; - virtual void DestroyInfoPrinter( SalInfoPrinter* 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/ios/dummies.cxx b/vcl/ios/dummies.cxx index fbd8d049be0d..eb58769ed38e 100644 --- a/vcl/ios/dummies.cxx +++ b/vcl/ios/dummies.cxx @@ -77,11 +77,6 @@ SalInfoPrinter* SalGenericInstance::CreateInfoPrinter( SalPrinterQueueInfo* /* p return NULL; } -void SalGenericInstance::DestroyInfoPrinter( SalInfoPrinter* pPrinter ) -{ - delete pPrinter; -} - void SalGenericInstance::GetPrinterQueueInfo( ImplPrnQueueList* /* pList */ ) { } diff --git a/vcl/osx/salinst.cxx b/vcl/osx/salinst.cxx index 96a7778fc27d..53ef9f4a2f12 100644 --- a/vcl/osx/salinst.cxx +++ b/vcl/osx/salinst.cxx @@ -923,7 +923,7 @@ void AquaSalInstance::DestroyInfoPrinter( SalInfoPrinter* pPrinter ) // #i113170# may not be the main thread if called from UNO API SalData::ensureThreadAutoreleasePool(); - delete pPrinter; + SalInstance::DestroyInfoPrinter(pPrinter); } // We need to re-encode file urls because osl_getFileURLFromSystemPath converts diff --git a/vcl/source/app/salvtables.cxx b/vcl/source/app/salvtables.cxx index 40eef1de9aaf..1a59acc8be4f 100644 --- a/vcl/source/app/salvtables.cxx +++ b/vcl/source/app/salvtables.cxx @@ -146,6 +146,8 @@ SalInstance::~SalInstance() {} comphelper::SolarMutex* SalInstance::GetYieldMutex() { return m_pYieldMutex.get(); } +void SalInstance::DestroyInfoPrinter(SalInfoPrinter* pPrinter) { delete pPrinter; } + sal_uInt32 SalInstance::ReleaseYieldMutex(bool all) { return m_pYieldMutex->release(all); } void SalInstance::AcquireYieldMutex(sal_uInt32 nCount) { m_pYieldMutex->acquire(nCount); } diff --git a/vcl/unx/generic/print/genprnpsp.cxx b/vcl/unx/generic/print/genprnpsp.cxx index 728600bee82c..79dbc9bab204 100644 --- a/vcl/unx/generic/print/genprnpsp.cxx +++ b/vcl/unx/generic/print/genprnpsp.cxx @@ -291,11 +291,6 @@ SalInfoPrinter* SalGenericInstance::CreateInfoPrinter( SalPrinterQueueInfo* p return pPrinter; } -void SalGenericInstance::DestroyInfoPrinter( SalInfoPrinter* pPrinter ) -{ - delete pPrinter; -} - std::unique_ptr<SalPrinter> SalGenericInstance::CreatePrinter( SalInfoPrinter* pInfoPrinter ) { mbPrinterInit = true; diff --git a/vcl/win/gdi/salprn.cxx b/vcl/win/gdi/salprn.cxx index 45cc7add34a7..80d54935a91c 100644 --- a/vcl/win/gdi/salprn.cxx +++ b/vcl/win/gdi/salprn.cxx @@ -1053,12 +1053,6 @@ SalInfoPrinter* WinSalInstance::CreateInfoPrinter( SalPrinterQueueInfo* pQueueIn return pPrinter; } -void WinSalInstance::DestroyInfoPrinter( SalInfoPrinter* pPrinter ) -{ - delete pPrinter; -} - - WinSalInfoPrinter::WinSalInfoPrinter() : m_hDC(nullptr), m_pGraphics(nullptr),
