diff options
Diffstat (limited to 'forms/source/misc/InterfaceContainer.cxx')
-rw-r--r-- | forms/source/misc/InterfaceContainer.cxx | 13 |
1 files changed, 8 insertions, 5 deletions
diff --git a/forms/source/misc/InterfaceContainer.cxx b/forms/source/misc/InterfaceContainer.cxx index 27b246d30ec4..ea989e3e67ee 100644 --- a/forms/source/misc/InterfaceContainer.cxx +++ b/forms/source/misc/InterfaceContainer.cxx @@ -29,6 +29,7 @@ #include <com/sun/star/container/XNamed.hpp> #include <com/sun/star/io/WrongFormatException.hpp> #include <com/sun/star/io/XMarkableStream.hpp> +#include <com/sun/star/lang/WrappedTargetRuntimeException.hpp> #include <com/sun/star/lang/XComponent.hpp> #include <com/sun/star/util/XCloneable.hpp> #include <com/sun/star/form/XForm.hpp> @@ -199,8 +200,7 @@ OInterfaceContainer::OInterfaceContainer( ::osl::Mutex& _rMutex, const OInterfac impl_createEventAttacher_nothrow(); } - -void OInterfaceContainer::clonedFrom( const OInterfaceContainer& _cloneSource ) +void OInterfaceContainer::clonedFrom(const OInterfaceContainer& _cloneSource) throw(RuntimeException, std::exception) { try { @@ -213,9 +213,13 @@ void OInterfaceContainer::clonedFrom( const OInterfaceContainer& _cloneSource ) insertByIndex( i, makeAny( xClone ) ); } } - catch( const Exception& ) + catch (const RuntimeException&) + { + throw; + } + catch (const Exception&) { - throw WrappedTargetException( + throw WrappedTargetRuntimeException( "Could not clone the given interface hierarchy.", static_cast< XIndexContainer* >( const_cast< OInterfaceContainer* >( &_cloneSource ) ), ::cppu::getCaughtException() @@ -223,7 +227,6 @@ void OInterfaceContainer::clonedFrom( const OInterfaceContainer& _cloneSource ) } } - void OInterfaceContainer::impl_createEventAttacher_nothrow() { try |