On 05/19/09 23:56, [email protected] wrote:
Author: mba Date: Tue May 19 21:53:40 2009 New Revision: 272099Log: #i97047#: don't let RuntimeException fly through C code Modified: cws/mba32issues02/sax/source/expatwrap/sax_expat.cxx Modified: cws/mba32issues02/sax/source/expatwrap/sax_expat.cxx ============================================================================== --- cws/mba32issues02/sax/source/expatwrap/sax_expat.cxx Tue May 19 17:18:27 2009 (r272098) +++ cws/mba32issues02/sax/source/expatwrap/sax_expat.cxx Tue May 19 21:53:40 2009 (r272099) @@ -134,6 +134,11 @@ pThis->rDocumentLocator->getLineNumber(),\ pThis->rDocumentLocator->getColumnNumber()\ ) );\ + }\ + catch( com::sun::star::uno::RuntimeException &e ) {\ + pThis->bExceptionWasThrown = sal_True; \ + pThis->bRTExceptionWasThrown = sal_True; \ + pImpl->rtexception = e; \
[...]
+ if ( this->bRTExceptionWasThrown ) + throw rtexception; +
In case you were not aware of it: Making rtexception a com::sun::star::uno::Any and using cppu::getCaughtException and cppu::throwException from "cppuhelper/exc_hlp.hxx" would allow to re-throw the exception unsliced.
-Stephan --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
