diff --git a/ChangeLog b/ChangeLog index 5b07fc379..209e8b8af 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2010-02-08 Jonathan Gillaspie + * Source/NSException.m + * Removed redundant call to _NSFoundationUncaughtExceptionHandler and added else blocks + to allow a set uncaught exception handler to NOT exit if capable of recovering. + 2010-02-08 Richard Frith-Macdonald * Headers/Foundation/NSOperation.h: diff --git a/Source/NSException.m b/Source/NSException.m index 7576c6282..c5bae9647 100644 --- a/Source/NSException.m +++ b/Source/NSException.m @@ -774,7 +774,9 @@ callUncaughtHandler(id value) { (*_NSUncaughtExceptionHandler)(value); } - _NSFoundationUncaughtExceptionHandler(value); + else { + _NSFoundationUncaughtExceptionHandler(value); + } } @implementation NSException @@ -928,12 +930,13 @@ callUncaughtHandler(id value) * behavior of MacOS-X). * The standard handler is guaranteed to exit/abort. */ - _NSFoundationUncaughtExceptionHandler(self); + //_NSFoundationUncaughtExceptionHandler(self); } - - thread->_exception_handler = handler->next; - handler->exception = self; - longjmp(handler->jumpState, 1); + else { + thread->_exception_handler = handler->next; + handler->exception = self; + longjmp(handler->jumpState, 1); + } #endif }