diff options
author | Joachim Lingner <jl@openoffice.org> | 2010-06-10 14:04:48 +0200 |
---|---|---|
committer | Joachim Lingner <jl@openoffice.org> | 2010-06-10 14:04:48 +0200 |
commit | 421512f0dc8985da05ff9654be8a3344aae0d513 (patch) | |
tree | af09caf334eb6459eb13fe18935ffa3654d13293 /desktop | |
parent | 856efc8e6b9879aa1f6d3437189ccb72ddc780cc (diff) |
jl152 #i77196# fixed failed start up for user without write access to share
Diffstat (limited to 'desktop')
3 files changed, 11 insertions, 6 deletions
diff --git a/desktop/source/deployment/manager/dp_extensionmanager.cxx b/desktop/source/deployment/manager/dp_extensionmanager.cxx index 24b5712ebd30..13c43e41decf 100644 --- a/desktop/source/deployment/manager/dp_extensionmanager.cxx +++ b/desktop/source/deployment/manager/dp_extensionmanager.cxx @@ -1174,7 +1174,7 @@ sal_Bool ExtensionManager::synchronize( } catch (...) { uno::Any exc = ::cppu::getCaughtException(); throw deploy::DeploymentException( - OUSTR("Extension Manager: exception during enableExtension"), + OUSTR("Extension Manager: exception in synchronize"), static_cast<OWeakObject*>(this), exc); } } diff --git a/desktop/source/deployment/manager/dp_manager.cxx b/desktop/source/deployment/manager/dp_manager.cxx index 409cf2674184..44bc4d469f2f 100644 --- a/desktop/source/deployment/manager/dp_manager.cxx +++ b/desktop/source/deployment/manager/dp_manager.cxx @@ -183,7 +183,8 @@ void PackageManagerImpl::initActivationLayer( OSL_ASSERT( m_activePackages.getLength() > 0 ); m_activePackages_expanded = expandUnoRcUrl( m_activePackages ); m_registrationData_expanded = expandUnoRcUrl(m_registrationData); - create_folder( 0, m_activePackages_expanded, xCmdEnv, true); + if (!m_readOnly) + create_folder( 0, m_activePackages_expanded, xCmdEnv, true); OUString dbName; if (m_context.equals(OUSTR("user"))) @@ -1341,9 +1342,14 @@ bool PackageManagerImpl::synchronizeAddedExtensions( { bool bModified = false; ActivePackages::Entries id2temp( m_activePackagesDB->getEntries() ); - + //check if the folder exist at all. The shared extension folder + //may not exist for a normal user. + if (!create_ucb_content( + NULL, m_activePackages_expanded, Reference<css::ucb::XCommandEnvironment>(), false)) + return bModified; ::ucbhelper::Content tempFolder( m_activePackages_expanded, xCmdEnv ); + Reference<sdbc::XResultSet> xResultSet( tempFolder.createCursor( Sequence<OUString>( &StrTitle::get(), 1 ), diff --git a/desktop/source/deployment/registry/executable/dp_executable.cxx b/desktop/source/deployment/registry/executable/dp_executable.cxx index c72a97d88891..968ee7297b0f 100644 --- a/desktop/source/deployment/registry/executable/dp_executable.cxx +++ b/desktop/source/deployment/registry/executable/dp_executable.cxx @@ -254,9 +254,8 @@ void BackendImpl::ExecutablePackageImpl::processPackage_( OSL_ASSERT(0); //This won't have affect on Windows - if (osl::File::E_None != osl::File::setAttributes( - dp_misc::expandUnoRcUrl(m_url), attributes)) - OSL_ENSURE(0, "Extension Manager: Could not set executable file attribute."); + osl::File::setAttributes( + dp_misc::expandUnoRcUrl(m_url), attributes); } getMyBackend()->addDataToDb(getURL()); } |