diff options
Diffstat (limited to 'svx/source/form/fmscriptingenv.cxx')
-rw-r--r-- | svx/source/form/fmscriptingenv.cxx | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/svx/source/form/fmscriptingenv.cxx b/svx/source/form/fmscriptingenv.cxx index 5edf19daa490..f76f8e86f729 100644 --- a/svx/source/form/fmscriptingenv.cxx +++ b/svx/source/form/fmscriptingenv.cxx @@ -71,14 +71,19 @@ namespace svxform using ::com::sun::star::awt::XControl; using ::com::sun::star::beans::XPropertySet; + namespace { + class FormScriptingEnvironment; + } //= FormScriptListener typedef ::cppu::WeakImplHelper < XScriptListener > FormScriptListener_Base; + namespace { + /** implements the XScriptListener interface, is used by FormScriptingEnvironment */ class FormScriptListener :public FormScriptListener_Base @@ -169,6 +174,8 @@ namespace svxform void impl_registerOrRevoke_throw( const Reference< XEventAttacherManager >& _rxManager, bool _bRegister ); }; + } + FormScriptListener::FormScriptListener( FormScriptingEnvironment* pScriptExecutor ) :m_pScriptExecutor( pScriptExecutor ) { @@ -770,6 +777,8 @@ namespace svxform m_pScriptExecutor = nullptr; } + namespace { + // tdf#88985 If LibreOffice tries to exit during the execution of a macro // then: detect the effort, stop basic execution, block until the macro // returns due to that stop, then restart the quit. This avoids the app @@ -869,6 +878,8 @@ namespace svxform } }; + } + IMPL_LINK( FormScriptListener, OnAsyncScriptEvent, void*, p, void ) { ScriptEvent* _pEvent = static_cast<ScriptEvent*>(p); |