summaryrefslogtreecommitdiff
path: root/bridges/source/cpp_uno/shared/unointerfaceproxy.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'bridges/source/cpp_uno/shared/unointerfaceproxy.cxx')
-rw-r--r--bridges/source/cpp_uno/shared/unointerfaceproxy.cxx11
1 files changed, 5 insertions, 6 deletions
diff --git a/bridges/source/cpp_uno/shared/unointerfaceproxy.cxx b/bridges/source/cpp_uno/shared/unointerfaceproxy.cxx
index ab868df96a80..df6dcb34b9fb 100644
--- a/bridges/source/cpp_uno/shared/unointerfaceproxy.cxx
+++ b/bridges/source/cpp_uno/shared/unointerfaceproxy.cxx
@@ -40,8 +40,7 @@ void freeUnoInterfaceProxy(uno_ExtEnvironment * pEnv, void * pProxy)
(*pThis->pBridge->getCppEnv()->revokeInterface)(
pThis->pBridge->getCppEnv(), pThis->pCppI );
pThis->pCppI->release();
- ::typelib_typedescription_release(
- (typelib_TypeDescription *)pThis->pTypeDescr );
+ ::typelib_typedescription_release(&pThis->pTypeDescr->aBase);
pThis->pBridge->release();
#if OSL_DEBUG_LEVEL > 1
@@ -105,11 +104,11 @@ UnoInterfaceProxy::UnoInterfaceProxy(
, oid( rOId_ )
{
pBridge->acquire();
- ::typelib_typedescription_acquire( (typelib_TypeDescription *)pTypeDescr );
- if (! ((typelib_TypeDescription *)pTypeDescr)->bComplete)
+ ::typelib_typedescription_acquire(&pTypeDescr->aBase);
+ if (!pTypeDescr->aBase.bComplete)
::typelib_typedescription_complete(
- (typelib_TypeDescription **)&pTypeDescr );
- assert(((typelib_TypeDescription *)pTypeDescr)->bComplete);
+ reinterpret_cast<typelib_TypeDescription **>(&pTypeDescr));
+ assert(pTypeDescr->aBase.bComplete);
pCppI->acquire();
(*pBridge->getCppEnv()->registerInterface)(
pBridge->getCppEnv(), reinterpret_cast< void ** >( &pCppI ), oid.pData,