diff options
author | Joachim Lingner <jl@openoffice.org> | 2010-07-14 15:17:57 +0200 |
---|---|---|
committer | Joachim Lingner <jl@openoffice.org> | 2010-07-14 15:17:57 +0200 |
commit | 68eea8200bde2d0d7228579b3eefe01451ff0ddd (patch) | |
tree | 44a81daeea4b0606c7283fb5cf1cdb8e49524f62 /desktop | |
parent | 1994888550bf52767e668d3b7f08fb01204e764c (diff) |
jl154 #162868# removing registration data folder if the last extension was removed
Diffstat (limited to 'desktop')
-rw-r--r-- | desktop/source/deployment/manager/dp_manager.cxx | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/desktop/source/deployment/manager/dp_manager.cxx b/desktop/source/deployment/manager/dp_manager.cxx index 44bc4d469f2f..f42940d5c21b 100644 --- a/desktop/source/deployment/manager/dp_manager.cxx +++ b/desktop/source/deployment/manager/dp_manager.cxx @@ -949,6 +949,15 @@ void PackageManagerImpl::removePackage( contentRemoved.writeStream( xData, true /* replace existing */ ); } m_activePackagesDB->erase( id, fileName ); // to be removed upon next start + //Remove the database folder (user installation) completely if this was + //the last extension. Do not do this for tmp because it is used often + ActivePackages::Entries id2temp( m_activePackagesDB->getEntries() ); + if (id2temp.size() && !m_context.equals(OUSTR("tmp"))) + { + erase_path( m_registrationData, + Reference<XCommandEnvironment>(), + false /* no throw: ignore errors */ ); + } } try_dispose( xPackage ); |