summaryrefslogtreecommitdiff
path: root/framework
diff options
context:
space:
mode:
authorJan-Marek Glogowski <jan-marek.glogowski@extern.cib.de>2020-02-17 00:12:12 +0100
committerJan-Marek Glogowski <glogow@fbihome.de>2020-05-31 22:21:35 +0200
commita97e344ba06b92e5f1fc96062a5ad03fb732615e (patch)
tree3ffb115e46e0131af7af64bf9092f92a7fe53487 /framework
parente3beaed3420b5f6deda1c443da1435d4ccfee022 (diff)
Revert "tdf#88985 block app from exiting during macro execution"
This isn't needed anymore with the fixes for tdf#127205. Reverts commit 68cf256f506d4601a2d2cf3ec2d56713afd491e6. Change-Id: I1a7944632af8330f68d451d2c293143233039b34 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/88837 Tested-by: Jenkins Reviewed-by: Jan-Marek Glogowski <glogow@fbihome.de>
Diffstat (limited to 'framework')
-rw-r--r--framework/inc/services/desktop.hxx12
-rw-r--r--framework/source/services/desktop.cxx23
2 files changed, 0 insertions, 35 deletions
diff --git a/framework/inc/services/desktop.hxx b/framework/inc/services/desktop.hxx
index 1f0f7911e98f..0cf9cb355fe4 100644
--- a/framework/inc/services/desktop.hxx
+++ b/framework/inc/services/desktop.hxx
@@ -418,18 +418,6 @@ class Desktop final : private cppu::BaseMutex,
*/
css::uno::Reference< css::frame::XTerminateListener > m_xQuickLauncher;
- /** special terminate listener active when a macro is executing.
- * Because basic runs Application::Yield internally the application may quit
- * while running inside the internal basic event loop. So all the basic
- * infrastructure may be deleted while the call is executing, leading to
- * a variant of crashes. So this special terminate listener will
- * veto the current quit attempt, stop basic execution, which will
- * cause the inner event loop to quit, and on return to the outer normal
- * application event loop then resend the quit attempt.
- * So these implementation must be a special terminate listener too .-(
- */
- css::uno::Reference< css::frame::XTerminateListener > m_xStarBasicQuitGuard;
-
/** special terminate listener which loads images asynchronous for current open documents.
* Because internally it uses blocking system APIs... it can't be guaranteed that
* running jobs can be cancelled successfully if the corresponding document will be closed...
diff --git a/framework/source/services/desktop.cxx b/framework/source/services/desktop.cxx
index 260ddcb5dd43..28f5015203e3 100644
--- a/framework/source/services/desktop.cxx
+++ b/framework/source/services/desktop.cxx
@@ -161,7 +161,6 @@ Desktop::Desktop( const css::uno::Reference< css::uno::XComponentContext >& xCon
, m_xDispatchRecorderSupplier( )
, m_xPipeTerminator ( )
, m_xQuickLauncher ( )
- , m_xStarBasicQuitGuard ( )
, m_xSWThreadManager ( )
, m_xSfxTerminator ( )
, m_xTitleNumberGenerator ( )
@@ -206,7 +205,6 @@ sal_Bool SAL_CALL Desktop::terminate()
css::uno::Reference< css::frame::XTerminateListener > xPipeTerminator = m_xPipeTerminator;
css::uno::Reference< css::frame::XTerminateListener > xQuickLauncher = m_xQuickLauncher;
- css::uno::Reference< css::frame::XTerminateListener > xStarBasicQuitGuard = m_xStarBasicQuitGuard;
css::uno::Reference< css::frame::XTerminateListener > xSWThreadManager = m_xSWThreadManager;
css::uno::Reference< css::frame::XTerminateListener > xSfxTerminator = m_xSfxTerminator;
@@ -257,12 +255,6 @@ sal_Bool SAL_CALL Desktop::terminate()
lCalledTerminationListener.push_back( xQuickLauncher );
}
- if ( xStarBasicQuitGuard.is() )
- {
- xStarBasicQuitGuard->queryTermination( aEvent );
- lCalledTerminationListener.push_back( xStarBasicQuitGuard );
- }
-
if ( xSWThreadManager.is() )
{
xSWThreadManager->queryTermination( aEvent );
@@ -308,9 +300,6 @@ sal_Bool SAL_CALL Desktop::terminate()
if( bAskQuickStart && xQuickLauncher.is() )
xQuickLauncher->notifyTermination( aEvent );
- if ( xStarBasicQuitGuard.is() )
- xStarBasicQuitGuard->notifyTermination( aEvent );
-
if ( xSWThreadManager.is() )
xSWThreadManager->notifyTermination( aEvent );
@@ -416,11 +405,6 @@ void SAL_CALL Desktop::addTerminateListener( const css::uno::Reference< css::fra
m_xQuickLauncher = xListener;
return;
}
- if( sImplementationName == "com.sun.star.comp.svx.StarBasicQuitGuard" )
- {
- m_xStarBasicQuitGuard = xListener;
- return;
- }
if( sImplementationName == "com.sun.star.util.comp.FinalThreadManager" )
{
m_xSWThreadManager = xListener;
@@ -466,12 +450,6 @@ void SAL_CALL Desktop::removeTerminateListener( const css::uno::Reference< css::
return;
}
- if( sImplementationName == "com.sun.star.comp.svx.StarBasicQuitGuard" )
- {
- m_xStarBasicQuitGuard.clear();
- return;
- }
-
if( sImplementationName == "com.sun.star.util.comp.FinalThreadManager" )
{
m_xSWThreadManager.clear();
@@ -1105,7 +1083,6 @@ void SAL_CALL Desktop::disposing()
m_xPipeTerminator.clear();
m_xQuickLauncher.clear();
- m_xStarBasicQuitGuard.clear();
m_xSWThreadManager.clear();
// we need a copy because the disposing might call the removeEventListener method