ucb/source/ucp/hierarchy/hierarchyprovider.cxx | 78 ++++++++++++------------- 1 file changed, 38 insertions(+), 40 deletions(-)
New commits: commit 5e752b318e4235d84f8da78bc52689aeb76d033c Author: Caolán McNamara <[email protected]> AuthorDate: Mon Jul 22 08:35:18 2019 +0100 Commit: Caolán McNamara <[email protected]> CommitDate: Mon Jul 22 14:23:26 2019 +0200 cid#705118 Using invalid iterator Change-Id: If90375ee49e71357482f86e31185c95774aef17c Reviewed-on: https://gerrit.libreoffice.org/76092 Tested-by: Jenkins Reviewed-by: Caolán McNamara <[email protected]> Tested-by: Caolán McNamara <[email protected]> diff --git a/ucb/source/ucp/hierarchy/hierarchyprovider.cxx b/ucb/source/ucp/hierarchy/hierarchyprovider.cxx index 022f6ec7beb5..be2ae768a041 100644 --- a/ucb/source/ucp/hierarchy/hierarchyprovider.cxx +++ b/ucb/source/ucp/hierarchy/hierarchyprovider.cxx @@ -208,7 +208,6 @@ HierarchyContentProvider::getConfigProvider( return (*it).second.xConfigProvider; } - uno::Reference< container::XHierarchicalNameAccess > HierarchyContentProvider::getRootConfigReadNameAccess( const OUString & rServiceSpecifier ) @@ -216,57 +215,56 @@ HierarchyContentProvider::getRootConfigReadNameAccess( osl::MutexGuard aGuard( m_aMutex ); ConfigProviderMap::iterator it = m_aConfigProviderMap.find( rServiceSpecifier ); - if ( it != m_aConfigProviderMap.end() ) + if (it == m_aConfigProviderMap.end()) + return uno::Reference< container::XHierarchicalNameAccess >(); + + if ( !( (*it).second.xRootReadAccess.is() ) ) { - if ( !( (*it).second.xRootReadAccess.is() ) ) + if ( (*it).second.bTriedToGetRootReadAccess ) { - if ( (*it).second.bTriedToGetRootReadAccess ) - { - OSL_FAIL( "HierarchyContentProvider::getRootConfigReadNameAccess - " - "Unable to read any config data! -> #82494#" ); - return uno::Reference< container::XHierarchicalNameAccess >(); - } + OSL_FAIL( "HierarchyContentProvider::getRootConfigReadNameAccess - " + "Unable to read any config data! -> #82494#" ); + return uno::Reference< container::XHierarchicalNameAccess >(); + } - try - { - uno::Reference< lang::XMultiServiceFactory > xConfigProv - = getConfigProvider( rServiceSpecifier ); - - if ( xConfigProv.is() ) - { - uno::Sequence< uno::Any > aArguments( 1 ); - beans::PropertyValue aProperty; - aProperty.Name = "nodepath" ; - aProperty.Value <<= OUString(); // root path - aArguments[ 0 ] <<= aProperty; - - (*it).second.bTriedToGetRootReadAccess = true; - - (*it).second.xRootReadAccess.set( - xConfigProv->createInstanceWithArguments( - "com.sun.star.ucb.HierarchyDataReadAccess", - aArguments ), - uno::UNO_QUERY ); - } - } - catch ( uno::RuntimeException const & ) + try + { + uno::Reference< lang::XMultiServiceFactory > xConfigProv + = getConfigProvider( rServiceSpecifier ); + + if ( xConfigProv.is() ) { - throw; + uno::Sequence< uno::Any > aArguments( 1 ); + beans::PropertyValue aProperty; + aProperty.Name = "nodepath" ; + aProperty.Value <<= OUString(); // root path + aArguments[ 0 ] <<= aProperty; + + (*it).second.bTriedToGetRootReadAccess = true; + + (*it).second.xRootReadAccess.set( + xConfigProv->createInstanceWithArguments( + "com.sun.star.ucb.HierarchyDataReadAccess", + aArguments ), + uno::UNO_QUERY ); } - catch ( uno::Exception const & ) - { - // createInstance, createInstanceWithArguments + } + catch ( uno::RuntimeException const & ) + { + throw; + } + catch ( uno::Exception const & ) + { + // createInstance, createInstanceWithArguments - OSL_FAIL( "HierarchyContentProvider::getRootConfigReadNameAccess - " - "caught Exception!" ); - } + OSL_FAIL( "HierarchyContentProvider::getRootConfigReadNameAccess - " + "caught Exception!" ); } } return (*it).second.xRootReadAccess; } - uno::Reference< util::XOfficeInstallationDirectories > HierarchyContentProvider::getOfficeInstallationDirectories() { _______________________________________________ Libreoffice-commits mailing list [email protected] https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
