diff options
-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 ); |