basic/source/basmgr/basicmanagerrepository.cxx | 19 +------------ bridges/source/cpp_uno/shared/cppinterfaceproxy.cxx | 22 --------------- extensions/source/propctrlr/modulepcr.cxx | 29 ++++++-------------- 3 files changed, 12 insertions(+), 58 deletions(-)
New commits: commit 10f4db67b6690cecfe449b4283b52f56400f07e2 Author: Noel Grandin <[email protected]> AuthorDate: Tue Dec 17 14:00:18 2019 +0200 Commit: Noel Grandin <[email protected]> CommitDate: Wed Dec 18 08:00:23 2019 +0100 Elide use of rtl_Instance (which is obsoleted by C++11 thread-safe statics) Change-Id: Ib0965f57cb929a220fc9df381abdca654985c9de Reviewed-on: https://gerrit.libreoffice.org/85330 Tested-by: Jenkins Reviewed-by: Noel Grandin <[email protected]> diff --git a/extensions/source/propctrlr/modulepcr.cxx b/extensions/source/propctrlr/modulepcr.cxx index a7da05f3e947..88b6d4d97152 100644 --- a/extensions/source/propctrlr/modulepcr.cxx +++ b/extensions/source/propctrlr/modulepcr.cxx @@ -19,38 +19,27 @@ #include "modulepcr.hxx" -#include <rtl/instance.hxx> -#include <osl/getglobalmutex.hxx> #include <unotools/resmgr.hxx> #include <vcl/settings.hxx> #include <vcl/svapp.hxx> namespace pcr { - struct CreateModuleClass - { - PcrModule* operator()() - { - static PcrModule* pModule = new PcrModule; - return pModule; - /* yes, in theory, this is a resource leak, since the PcrModule - will never be cleaned up. However, using a non-heap instance of PcrModule - would not work: It would be cleaned up when the module is unloaded. - This might happen (and is likely to happen) *after* the tools-library - has been unloaded. However, the module's dtor is where we would delete - our resource manager (in case not all our clients de-registered) - which - would call into the already-unloaded tools-library. */ - } - }; - PcrModule::PcrModule() { } PcrModule& PcrModule::getInstance() { - return *rtl_Instance< PcrModule, CreateModuleClass, ::osl::MutexGuard, ::osl::GetGlobalMutex >:: - create( CreateModuleClass(), ::osl::GetGlobalMutex() ); + static PcrModule* pModule = new PcrModule; + return *pModule; + /* yes, in theory, this is a resource leak, since the PcrModule + will never be cleaned up. However, using a non-heap instance of PcrModule + would not work: It would be cleaned up when the module is unloaded. + This might happen (and is likely to happen) *after* the tools-library + has been unloaded. However, the module's dtor is where we would delete + our resource manager (in case not all our clients de-registered) - which + would call into the already-unloaded tools-library. */ } OUString PcrRes(const char* pId) commit 51e7a590976f664deb0a386d23b66bee38ea5687 Author: Noel Grandin <[email protected]> AuthorDate: Tue Dec 17 13:58:20 2019 +0200 Commit: Noel Grandin <[email protected]> CommitDate: Wed Dec 18 07:59:59 2019 +0100 Elide use of rtl_Instance (which is obsoleted by C++11 thread-safe statics) Change-Id: Ie3e099a6561c22646f07dab418f1a2f8123f1449 Reviewed-on: https://gerrit.libreoffice.org/85329 Tested-by: Jenkins Reviewed-by: Noel Grandin <[email protected]> diff --git a/basic/source/basmgr/basicmanagerrepository.cxx b/basic/source/basmgr/basicmanagerrepository.cxx index c493da8bd29d..1e9378ff864b 100644 --- a/basic/source/basmgr/basicmanagerrepository.cxx +++ b/basic/source/basmgr/basicmanagerrepository.cxx @@ -38,8 +38,6 @@ #include <comphelper/documentinfo.hxx> #include <unotools/eventlisteneradapter.hxx> -#include <osl/getglobalmutex.hxx> -#include <rtl/instance.hxx> #include <sot/storage.hxx> #include <map> @@ -198,19 +196,6 @@ namespace basic StarBASIC* impl_getDefaultAppBasicLibrary(); }; - namespace { - - struct CreateImplRepository - { - ImplRepository* operator()() - { - static ImplRepository repository; - return &repository; - } - }; - - } - ImplRepository::ImplRepository() { } @@ -218,8 +203,8 @@ namespace basic ImplRepository& ImplRepository::Instance() { - return *rtl_Instance< ImplRepository, CreateImplRepository, ::osl::MutexGuard, ::osl::GetGlobalMutex >:: - create( CreateImplRepository(), ::osl::GetGlobalMutex() ); + static ImplRepository repository; + return repository; } BasicManager* ImplRepository::getDocumentBasicManager( const Reference< XModel >& _rxDocumentModel ) commit 8473ac2e27efff3ec902a358896a669ce05f047a Author: Noel Grandin <[email protected]> AuthorDate: Tue Dec 17 13:56:07 2019 +0200 Commit: Noel Grandin <[email protected]> CommitDate: Wed Dec 18 07:59:40 2019 +0100 Elide use of rtl_Instance (which is obsoleted by C++11 thread-safe statics) which does not seem to have been doing anything useful here anyway, not since commit 730399de90add4e35da9754a8f7525b443237026 Date: Wed Jul 18 11:16:06 2007 +0000 INTEGRATION: CWS unomacli64 (1.6.50); FILE MERGED 2007/06/20 10:29:46 kr 1.6.50.1: fixed: #i78284# Change-Id: I57345a08c333953a66b3a5f3be1fe9a2f1f092ef Reviewed-on: https://gerrit.libreoffice.org/85328 Tested-by: Jenkins Reviewed-by: Noel Grandin <[email protected]> diff --git a/bridges/source/cpp_uno/shared/cppinterfaceproxy.cxx b/bridges/source/cpp_uno/shared/cppinterfaceproxy.cxx index 422b6893b3a2..466d83ef46a4 100644 --- a/bridges/source/cpp_uno/shared/cppinterfaceproxy.cxx +++ b/bridges/source/cpp_uno/shared/cppinterfaceproxy.cxx @@ -23,9 +23,6 @@ #include <vtablefactory.hxx> #include <com/sun/star/uno/XInterface.hpp> -#include <osl/getglobalmutex.hxx> -#include <osl/mutex.hxx> -#include <rtl/instance.hxx> #include <typelib/typedescription.h> #include <cstddef> @@ -53,23 +50,6 @@ void dso_exit() { } } -namespace { - -struct InitVtableFactory { - bridges::cpp_uno::shared::VtableFactory * operator()() { - return pInstance; - } -}; - -bridges::cpp_uno::shared::VtableFactory * getVtableFactory() { - return rtl_Instance< - bridges::cpp_uno::shared::VtableFactory, InitVtableFactory, - osl::MutexGuard, osl::GetGlobalMutex >::create( - InitVtableFactory(), osl::GetGlobalMutex()); -} - -} - namespace bridges { namespace cpp_uno { namespace shared { void freeCppInterfaceProxy(uno_ExtEnvironment * pEnv, void * pInterface) @@ -101,7 +81,7 @@ com::sun::star::uno::XInterface * CppInterfaceProxy::create( typelib_typedescription_complete( reinterpret_cast< typelib_TypeDescription ** >(&pTypeDescr)); const bridges::cpp_uno::shared::VtableFactory::Vtables& rVtables( - getVtableFactory()->getVtables(pTypeDescr)); + pInstance->getVtables(pTypeDescr)); std::unique_ptr< char[] > pMemory( new char[ sizeof (CppInterfaceProxy) _______________________________________________ Libreoffice-commits mailing list [email protected] https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
