Kaydet (Commit) 6d9f07d5 authored tarafından Samuel Mehrbrodt's avatar Samuel Mehrbrodt Kaydeden (comit) Thorsten Behrens

tdf#102288 TerminationVetoException should only prevent termination

When using a TerminationVetoException, all windows should be closed,
but the process should be kept running.

Change-Id: I71b0b57b6035a36f0325c8dea3cd38309408f176
Reviewed-on: https://gerrit.libreoffice.org/29031Tested-by: 's avatarJenkins <ci@libreoffice.org>
Reviewed-by: 's avatarThorsten Behrens <Thorsten.Behrens@CIB.de>
üst 25767162
......@@ -224,9 +224,14 @@ sal_Bool SAL_CALL Desktop::terminate()
aReadLock.clear();
// Ask normal terminate listener. They could stop terminate without closing any open document.
// try to close all open frames.
// Allow using of any UI ... because Desktop.terminate() was designed as UI functionality in the past.
bool bIsEventTestingMode = Application::IsEventTestingModeEnabled();
bool bFramesClosed = impl_closeFrames(!bIsEventTestingMode);
// Ask normal terminate listener. They could stop terminating the process.
Desktop::TTerminateListenerList lCalledTerminationListener;
bool bVeto = false;
bool bVeto = false;
impl_sendQueryTerminationEvent(lCalledTerminationListener, bVeto);
if ( bVeto )
{
......@@ -234,10 +239,6 @@ sal_Bool SAL_CALL Desktop::terminate()
return false;
}
// try to close all open frames.
// Allow using of any UI ... because Desktop.terminate() was designed as UI functionality in the past.
bool bIsEventTestingMode = Application::IsEventTestingModeEnabled();
bool bFramesClosed = impl_closeFrames(!bIsEventTestingMode);
if (bIsEventTestingMode)
{
Application::Quit();
......
......@@ -33,6 +33,10 @@
After his own operation will be finished, he MUST try to terminate the
office again. Any other veto listener can intercept that again or office
will die really.
Since LibreOffice 5.3:
Throwing this exception will only prevent *termination*.
Exiting LibreOffice will close all the windows, but the process will keep running.
</p>
@see XDesktop::terminate()
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment