summaryrefslogtreecommitdiff
path: root/bridges/source/cpp_uno/cc50_solaris_intel
diff options
context:
space:
mode:
authorPhilipp Lohmann <pl@openoffice.org>2001-07-05 13:38:52 +0000
committerPhilipp Lohmann <pl@openoffice.org>2001-07-05 13:38:52 +0000
commitf5943e038a48151ef611f5e6a78b1b4040af3fa5 (patch)
treeb388cb4da3a9c9551800e9c70add39cd1d76a1c1 /bridges/source/cpp_uno/cc50_solaris_intel
parent03e145efdca812e0f848888b8f33476ac455400c (diff)
#89180# workaround __Cimpl::ex_name for generated exceptions
Diffstat (limited to 'bridges/source/cpp_uno/cc50_solaris_intel')
-rw-r--r--bridges/source/cpp_uno/cc50_solaris_intel/except.cxx5
-rw-r--r--bridges/source/cpp_uno/cc50_solaris_intel/uno2cpp.cxx15
2 files changed, 14 insertions, 6 deletions
diff --git a/bridges/source/cpp_uno/cc50_solaris_intel/except.cxx b/bridges/source/cpp_uno/cc50_solaris_intel/except.cxx
index d5efb45583da..ea4e3f1efb40 100644
--- a/bridges/source/cpp_uno/cc50_solaris_intel/except.cxx
+++ b/bridges/source/cpp_uno/cc50_solaris_intel/except.cxx
@@ -2,9 +2,9 @@
*
* $RCSfile: except.cxx,v $
*
- * $Revision: 1.7 $
+ * $Revision: 1.8 $
*
- * last change: $Author: pl $ $Date: 2001-06-21 10:11:26 $
+ * last change: $Author: pl $ $Date: 2001-07-05 14:38:52 $
*
* The Contents of this file are made available subject to the terms of
* either of the following licenses
@@ -382,6 +382,7 @@ void cc50_solaris_intel_raiseException( uno_Any * pUnoExc, uno_Mapping * pUno2Cp
// will be released in generated dtor
// alignment to 8
pExcSpace[0] = pTypeDescr;
+ pExcSpace[1] = (void*)0xbadfad;
uno_copyAndConvertData( pCppExc, pUnoExc->pData, pTypeDescr, pUno2Cpp );
// destruct uno exception
diff --git a/bridges/source/cpp_uno/cc50_solaris_intel/uno2cpp.cxx b/bridges/source/cpp_uno/cc50_solaris_intel/uno2cpp.cxx
index 872493019120..d77b5d0b9980 100644
--- a/bridges/source/cpp_uno/cc50_solaris_intel/uno2cpp.cxx
+++ b/bridges/source/cpp_uno/cc50_solaris_intel/uno2cpp.cxx
@@ -2,9 +2,9 @@
*
* $RCSfile: uno2cpp.cxx,v $
*
- * $Revision: 1.7 $
+ * $Revision: 1.8 $
*
- * last change: $Author: dbo $ $Date: 2001-07-03 16:11:07 $
+ * last change: $Author: pl $ $Date: 2001-07-05 14:38:52 $
*
* The Contents of this file are made available subject to the terms of
* either of the following licenses
@@ -287,9 +287,16 @@ static inline void cpp_call(
}
catch( ... )
{
+ void* pExc = __Crun::ex_get();
+ const char* pName;
+ if( ((void**)pExc)[-1] != (void*)0xbadfad )
+ pName = __Cimpl::ex_name();
+ else
+ pName = *(const char**)((void**)pExc)[-17];
+
// get exception
- cc50_solaris_intel_fillUnoException( __Crun::ex_get(),
- __Cimpl::ex_name(),
+ cc50_solaris_intel_fillUnoException( pExc,
+ pName,
*ppUnoExc,
&pThis->pBridge->aCpp2Uno );
// temporary params