summaryrefslogtreecommitdiff
path: root/vcl/source/app
diff options
context:
space:
mode:
authorJan-Marek Glogowski <jan-marek.glogowski@extern.cib.de>2020-02-14 20:24:04 +0000
committerJan-Marek Glogowski <glogow@fbihome.de>2020-02-22 09:14:52 +0100
commitf0a50d230756fc0a60780d992b807f9eb82106c2 (patch)
treee0d8d927c79190d52928919a1309abb5d6c9a9c0 /vcl/source/app
parent4fe30879af391c32074a003a7a6ddd45431d212a (diff)
tdf#127205 split Desktop::terminate process
Trying to somehow keep stuff correctly alive, truned out to be rather futile. Originally I tried the same way Caolan did in the attached patch to tdf#88985, when he finally settled on adding a special terminate listener. But this is not enough to handle in-process scripted extensions, like Java, Python or even Basic macros themself. So this separates the module shutdown and SfxApplication cleanup from the rest of the terminate call. Change-Id: Ice59816080c922a17511b68afe59348a662600c9 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/88835 Tested-by: Jenkins Reviewed-by: Jan-Marek Glogowski <glogow@fbihome.de>
Diffstat (limited to 'vcl/source/app')
-rw-r--r--vcl/source/app/svapp.cxx9
1 files changed, 8 insertions, 1 deletions
diff --git a/vcl/source/app/svapp.cxx b/vcl/source/app/svapp.cxx
index b6b5917b3eac..1f9a0e1da9d1 100644
--- a/vcl/source/app/svapp.cxx
+++ b/vcl/source/app/svapp.cxx
@@ -186,6 +186,10 @@ bool Application::QueryExit()
return true;
}
+void Application::Shutdown()
+{
+}
+
void Application::Init()
{
}
@@ -429,6 +433,8 @@ void Application::Execute()
Application::Yield();
pSVData->maAppData.mbInAppExecute = false;
+
+ GetpApp()->Shutdown();
}
static bool ImplYield(bool i_bWait, bool i_bAllEvents)
@@ -514,11 +520,12 @@ void Application::Yield()
IMPL_STATIC_LINK_NOARG( ImplSVAppData, ImplQuitMsg, void*, void )
{
- ImplGetSVData()->maAppData.mbAppQuit = true;
+ assert(ImplGetSVData()->maAppData.mbAppQuit);
}
void Application::Quit()
{
+ ImplGetSVData()->maAppData.mbAppQuit = true;
Application::PostUserEvent( LINK( nullptr, ImplSVAppData, ImplQuitMsg ) );
}