summaryrefslogtreecommitdiff
path: root/framework
diff options
context:
space:
mode:
authorJan-Marek Glogowski <jan-marek.glogowski@extern.cib.de>2020-03-17 12:10:47 +0100
committerJan-Marek Glogowski <glogow@fbihome.de>2020-03-17 14:04:49 +0100
commit908b0deb84c4a09c5afdcf70ef407382a6e4d7b2 (patch)
tree0e1f353701e880f1738b3d4b73bb1e289c3e20ba /framework
parentaa5d3e08c63d128943c92258071c327741df0667 (diff)
tdf#127205 call shutdown in terminate, if not exec
When generating a new profile, LO shuts down the desktop without even running the main loop via Application::Execute, so this won't call Application::Shutdown() at the end of Application::Execute. So detect this case and call shutdown() directly, if LO doesn't run the main loop. Change-Id: Iae39a4122577b05caa787fc74c1fa7e3f71bf390 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/90612 Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com> Tested-by: Jenkins
Diffstat (limited to 'framework')
-rw-r--r--framework/source/services/desktop.cxx4
1 files changed, 3 insertions, 1 deletions
diff --git a/framework/source/services/desktop.cxx b/framework/source/services/desktop.cxx
index acf422ac9760..260ddcb5dd43 100644
--- a/framework/source/services/desktop.cxx
+++ b/framework/source/services/desktop.cxx
@@ -317,7 +317,9 @@ sal_Bool SAL_CALL Desktop::terminate()
if ( xPipeTerminator.is() )
xPipeTerminator->notifyTermination( aEvent );
- // further termination is postponed to shutdown
+ // further termination is postponed to shutdown, if LO already runs the main loop
+ if (!Application::IsInExecute())
+ shutdown();
}
else
m_bIsShutdown = true;