summaryrefslogtreecommitdiff
path: root/desktop
diff options
context:
space:
mode:
authorJens-Heiner Rechtien <hr@openoffice.org>2006-05-08 13:55:01 +0000
committerJens-Heiner Rechtien <hr@openoffice.org>2006-05-08 13:55:01 +0000
commit8c75e9ced6fa74243b25a86fa7fb87b663505722 (patch)
tree211a31a5bef6712e09fec40e23c2b5897a43c0b6 /desktop
parent86ff3006ee455349a30d8f1b48ca71de5eaad0fa (diff)
INTEGRATION: CWS mbapp3 (1.190.18); FILE MERGED
2006/04/25 07:42:19 as 1.190.18.1: #i64599# restart office automaticly on crash; supress crash save and recovery if crash occures not InExecute
Diffstat (limited to 'desktop')
-rw-r--r--desktop/source/app/app.cxx17
1 files changed, 8 insertions, 9 deletions
diff --git a/desktop/source/app/app.cxx b/desktop/source/app/app.cxx
index 9baad05097dc..c09c1413280c 100644
--- a/desktop/source/app/app.cxx
+++ b/desktop/source/app/app.cxx
@@ -4,9 +4,9 @@
*
* $RCSfile: app.cxx,v $
*
- * $Revision: 1.191 $
+ * $Revision: 1.192 $
*
- * last change: $Author: rt $ $Date: 2006-05-02 17:12:48 $
+ * last change: $Author: hr $ $Date: 2006-05-08 14:55:01 $
*
* The Contents of this file are made available subject to
* the terms of GNU Lesser General Public License Version 2.1.
@@ -1282,14 +1282,13 @@ USHORT Desktop::Exception(USHORT nError)
// save all modified documents ... if it's allowed doing so.
sal_Bool bRestart = sal_False;
sal_Bool bAllowRecoveryAndSessionManagement = (
- ( !pArgs->IsNoRestore() ) &&
- ( !pArgs->IsHeadless() ) &&
- ( !pArgs->IsServer() )
+ ( !pArgs->IsNoRestore() ) && // some use cases of office must work without recovery
+ ( !pArgs->IsHeadless() ) &&
+ ( !pArgs->IsServer() ) &&
+ (( nError & EXC_MAJORTYPE ) != EXC_DISPLAY ) && // recovery cant work without UI ... but UI layer seams to be the reason for this crash
+ ( Application::IsInExecute() ) // crashes during startup and shutdown should be ignored (they indicates a corrupt installation ...)
);
- if (
- ( bAllowRecoveryAndSessionManagement ) &&
- (( nError & EXC_MAJORTYPE ) != EXC_DISPLAY )
- )
+ if ( bAllowRecoveryAndSessionManagement )
bRestart = SaveTasks(DESKTOP_SAVETASKS_MOD);
// because there is no method to flush the condiguration data, we must dispose the ConfigManager