summaryrefslogtreecommitdiff
path: root/bridges/source/cpp_uno/gcc3_linux_x86-64/except.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'bridges/source/cpp_uno/gcc3_linux_x86-64/except.cxx')
-rw-r--r--bridges/source/cpp_uno/gcc3_linux_x86-64/except.cxx12
1 files changed, 4 insertions, 8 deletions
diff --git a/bridges/source/cpp_uno/gcc3_linux_x86-64/except.cxx b/bridges/source/cpp_uno/gcc3_linux_x86-64/except.cxx
index 74b2b7311509..b22335f0f18d 100644
--- a/bridges/source/cpp_uno/gcc3_linux_x86-64/except.cxx
+++ b/bridges/source/cpp_uno/gcc3_linux_x86-64/except.cxx
@@ -35,9 +35,9 @@
#include <cxxabi.h>
#include <boost/unordered_map.hpp>
+#include <rtl/instance.hxx>
#include <rtl/strbuf.hxx>
#include <rtl/ustrbuf.hxx>
-#include <rtl/instance.hxx>
#include <osl/diagnose.h>
#include <osl/mutex.hxx>
@@ -216,6 +216,8 @@ type_info * RTTI::getRTTI( typelib_CompoundTypeDescription *pTypeDescr ) SAL_THR
return rtti;
}
+struct RTTISingleton: public rtl::Static< RTTI, RTTISingleton > {};
+
//--------------------------------------------------------------------------------------------------
static void deleteException( void * pExc )
{
@@ -231,11 +233,6 @@ static void deleteException( void * pExc )
}
}
-namespace
-{
- struct theRTTI : public rtl::Static<RTTI, theRTTI> {};
-}
-
//==================================================================================================
void raiseException( uno_Any * pUnoExc, uno_Mapping * pUno2Cpp )
{
@@ -268,8 +265,7 @@ void raiseException( uno_Any * pUnoExc, uno_Mapping * pUno2Cpp )
// destruct uno exception
::uno_any_destruct( pUnoExc, 0 );
// avoiding locked counts
- static RTTI &rRTTI = theRTTI::get();
- rtti = rRTTI.getRTTI( (typelib_CompoundTypeDescription *) pTypeDescr );
+ rtti = (type_info *)RTTISingleton::get().getRTTI( (typelib_CompoundTypeDescription *) pTypeDescr );
TYPELIB_DANGER_RELEASE( pTypeDescr );
OSL_ENSURE( rtti, "### no rtti for throwing exception!" );
if (! rtti)