summaryrefslogtreecommitdiff
path: root/desktop
diff options
context:
space:
mode:
authorJoachim Lingner <jl@openoffice.org>2010-07-14 15:17:57 +0200
committerJoachim Lingner <jl@openoffice.org>2010-07-14 15:17:57 +0200
commit68eea8200bde2d0d7228579b3eefe01451ff0ddd (patch)
tree44a81daeea4b0606c7283fb5cf1cdb8e49524f62 /desktop
parent1994888550bf52767e668d3b7f08fb01204e764c (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.cxx9
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 );