summaryrefslogtreecommitdiff
path: root/desktop/source/app
diff options
context:
space:
mode:
authorJan Holesovsky <kendy@suse.cz>2010-11-08 16:17:47 +0100
committerJan Holesovsky <kendy@suse.cz>2010-11-08 16:21:04 +0100
commitb1f0e0298c71475a0d8bc17976cb7ae39e3acb93 (patch)
tree52f68b2128cfd56b9909dd6fbc7347c5427220c8 /desktop/source/app
parent164ac84e28df50911a8c20f78119d05e21086c6c (diff)
Restart soffice.bin when necessary.
In some cases, like when the migration is in progress, or when new extensions are registered, soffice.bin dies with a 'restart' me status. This implements the correct handling of this state in oosplash.bin.
Diffstat (limited to 'desktop/source/app')
-rw-r--r--desktop/source/app/app.cxx7
1 files changed, 7 insertions, 0 deletions
diff --git a/desktop/source/app/app.cxx b/desktop/source/app/app.cxx
index 0b85d03dc70f..3dc534ab7976 100644
--- a/desktop/source/app/app.cxx
+++ b/desktop/source/app/app.cxx
@@ -1465,7 +1465,11 @@ USHORT Desktop::Exception(USHORT nError)
OfficeIPCThread::DisableOfficeIPCThread();
if( pSignalHandler )
osl_removeSignalHandler( pSignalHandler );
+
restartOnMac(false);
+ if ( m_rSplashScreen.is() )
+ m_rSplashScreen->reset();
+
_exit( ExitHelper::E_CRASH_WITH_RESTART );
}
else
@@ -1972,6 +1976,9 @@ void Desktop::Main()
if ( bRestartRequested )
{
restartOnMac(true);
+ if ( m_rSplashScreen.is() )
+ m_rSplashScreen->reset();
+
// wouldn't the solution be more clean if SalMain returns the exit code to the system?
_exit( ExitHelper::E_NORMAL_RESTART );
}