diff options
Diffstat (limited to 'framework/source/uiconfiguration/moduleuicfgsupplier.cxx')
-rw-r--r-- | framework/source/uiconfiguration/moduleuicfgsupplier.cxx | 27 |
1 files changed, 10 insertions, 17 deletions
diff --git a/framework/source/uiconfiguration/moduleuicfgsupplier.cxx b/framework/source/uiconfiguration/moduleuicfgsupplier.cxx index f28c2afedddf..ef48cd4c17b8 100644 --- a/framework/source/uiconfiguration/moduleuicfgsupplier.cxx +++ b/framework/source/uiconfiguration/moduleuicfgsupplier.cxx @@ -31,31 +31,26 @@ #include <com/sun/star/ui/XModuleUIConfigurationManager2.hpp> #include <com/sun/star/frame/XModuleManager2.hpp> -#include <cppuhelper/basemutex.hxx> -#include <cppuhelper/compbase.hxx> +#include <comphelper/compbase.hxx> #include <cppuhelper/supportsservice.hxx> #include <unordered_map> using namespace com::sun::star::uno; -using namespace com::sun::star::io; using namespace com::sun::star::lang; using namespace com::sun::star::container; using namespace com::sun::star::beans; -using namespace com::sun::star::embed; using namespace ::com::sun::star::ui; using namespace ::com::sun::star::frame; -using namespace framework; namespace { -typedef cppu::WeakComponentImplHelper< +typedef comphelper::WeakComponentImplHelper< css::lang::XServiceInfo, css::ui::XModuleUIConfigurationManagerSupplier > ModuleUIConfigurationManagerSupplier_BASE; -class ModuleUIConfigurationManagerSupplier : private cppu::BaseMutex, - public ModuleUIConfigurationManagerSupplier_BASE +class ModuleUIConfigurationManagerSupplier : public ModuleUIConfigurationManagerSupplier_BASE { public: explicit ModuleUIConfigurationManagerSupplier( const css::uno::Reference< css::uno::XComponentContext >& rxContext ); @@ -80,7 +75,7 @@ public: virtual css::uno::Reference< css::ui::XUIConfigurationManager > SAL_CALL getUIConfigurationManager( const OUString& ModuleIdentifier ) override; private: - virtual void SAL_CALL disposing() final override; + virtual void disposing(std::unique_lock<std::mutex>&) final override; typedef std::unordered_map< OUString, css::uno::Reference< css::ui::XModuleUIConfigurationManager2 > > ModuleToModuleCfgMgr; @@ -92,8 +87,7 @@ private: }; ModuleUIConfigurationManagerSupplier::ModuleUIConfigurationManagerSupplier( const Reference< XComponentContext >& xContext ) : - ModuleUIConfigurationManagerSupplier_BASE(m_aMutex) - , m_xModuleMgr( ModuleManager::create( xContext ) ) + m_xModuleMgr( ModuleManager::create( xContext ) ) , m_xContext( xContext ) { try @@ -111,13 +105,12 @@ ModuleUIConfigurationManagerSupplier::ModuleUIConfigurationManagerSupplier( cons ModuleUIConfigurationManagerSupplier::~ModuleUIConfigurationManagerSupplier() { - disposing(); + std::unique_lock g(m_aMutex); + disposing(g); } -void SAL_CALL ModuleUIConfigurationManagerSupplier::disposing() +void ModuleUIConfigurationManagerSupplier::disposing(std::unique_lock<std::mutex>&) { - osl::MutexGuard g(rBHelper.rMutex); - // dispose all our module user interface configuration managers for (auto const& elem : m_aModuleToModuleUICfgMgrMap) { @@ -132,7 +125,7 @@ void SAL_CALL ModuleUIConfigurationManagerSupplier::disposing() // XModuleUIConfigurationManagerSupplier Reference< XUIConfigurationManager > SAL_CALL ModuleUIConfigurationManagerSupplier::getUIConfigurationManager( const OUString& sModuleIdentifier ) { - osl::MutexGuard g(rBHelper.rMutex); + std::unique_lock g(m_aMutex); /* SAFE AREA ----------------------------------------------------------------------------------------------- */ ModuleToModuleCfgMgr::iterator pIter = m_aModuleToModuleUICfgMgrMap.find( sModuleIdentifier ); @@ -148,7 +141,7 @@ Reference< XUIConfigurationManager > SAL_CALL ModuleUIConfigurationManagerSuppli { Sequence< PropertyValue > lProps; m_xModuleMgr->getByName(sModuleIdentifier) >>= lProps; - for (PropertyValue const & rProp : std::as_const(lProps)) + for (PropertyValue const& rProp : lProps) { if ( rProp.Name == "ooSetupFactoryShortName" ) { |