summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--desktop/source/app/app.cxx13
1 files changed, 13 insertions, 0 deletions
diff --git a/desktop/source/app/app.cxx b/desktop/source/app/app.cxx
index 31f7abbf9b4e..82422c835210 100644
--- a/desktop/source/app/app.cxx
+++ b/desktop/source/app/app.cxx
@@ -96,6 +96,7 @@
#include <unotools/configmgr.hxx>
#include <unotools/moduleoptions.hxx>
#include <unotools/localfilehelper.hxx>
+#include <unotools/ucbhelper.hxx>
#include <officecfg/Office/Common.hxx>
#include <officecfg/Office/Recovery.hxx>
#include <officecfg/Office/Update.hxx>
@@ -327,6 +328,15 @@ void DoRestartActionsIfNecessary(bool quickstart) {
}
}
+void RemoveIconCacheDirectory()
+{
+ // See getIconCacheUrl in vcl/source/image/ImplImageTree.cxx
+ OUString sUrl = "${$BRAND_BASE_DIR/" LIBO_ETC_FOLDER
+ "/" SAL_CONFIGFILE("bootstrap") ":UserInstallation}/cache";
+ rtl::Bootstrap::expandMacros(sUrl);
+ utl::UCBContentHelper::Kill(sUrl);
+}
+
}
namespace {
@@ -1678,6 +1688,9 @@ int Desktop::doShutdown()
if (pExecGlobals->bRestartRequested)
{
+ // tdf#128523
+ RemoveIconCacheDirectory();
+
// a restart is already requested, usually due to a configuration change
// that needs a restart to get active. If this is the case, do not try
// to use SecureUserConfig to safe this still untested new configuration