diff options
author | Daniel Boelzle <dbo@openoffice.org> | 2001-07-03 15:11:14 +0000 |
---|---|---|
committer | Daniel Boelzle <dbo@openoffice.org> | 2001-07-03 15:11:14 +0000 |
commit | e322c589fd55d66120d79b6cc0dbdbe451e5cc10 (patch) | |
tree | 75d2bce9ec2e2d1238d64099ce09cc50237c5d10 /bridges/source | |
parent | 5938789e551532278e6ddf362a1a62137ac4fc26 (diff) |
#88717# fixed quering for unknown type
Diffstat (limited to 'bridges/source')
6 files changed, 111 insertions, 96 deletions
diff --git a/bridges/source/cpp_uno/cc50_solaris_intel/cpp2uno.cxx b/bridges/source/cpp_uno/cc50_solaris_intel/cpp2uno.cxx index 39b500cbad4a..2453b02b86a0 100644 --- a/bridges/source/cpp_uno/cc50_solaris_intel/cpp2uno.cxx +++ b/bridges/source/cpp_uno/cc50_solaris_intel/cpp2uno.cxx @@ -2,9 +2,9 @@ * * $RCSfile: cpp2uno.cxx,v $ * - * $Revision: 1.5 $ + * $Revision: 1.6 $ * - * last change: $Author: dbo $ $Date: 2001-07-02 11:53:38 $ + * last change: $Author: dbo $ $Date: 2001-07-03 16:11:07 $ * * The Contents of this file are made available subject to the terms of * either of the following licenses @@ -360,24 +360,26 @@ static inline typelib_TypeClass cpp_mediate( { typelib_TypeDescription * pTD = 0; TYPELIB_DANGER_GET( &pTD, reinterpret_cast< Type * >( pCallStack[3] )->getTypeLibType() ); - OSL_ASSERT( pTD ); - - XInterface * pInterface = 0; - (*pCppI->pBridge->pCppEnv->getRegisteredInterface)( - pCppI->pBridge->pCppEnv, - (void **)&pInterface, pCppI->oid.pData, (typelib_InterfaceTypeDescription *)pTD ); - - if (pInterface) + if (pTD) { - uno_any_construct( reinterpret_cast< uno_Any * >( pCallStack[1] ), - &pInterface, pTD, cpp_acquire ); - pInterface->release(); + XInterface * pInterface = 0; + (*pCppI->pBridge->pCppEnv->getRegisteredInterface)( + pCppI->pBridge->pCppEnv, + (void **)&pInterface, pCppI->oid.pData, (typelib_InterfaceTypeDescription *)pTD ); + + if (pInterface) + { + ::uno_any_construct( + reinterpret_cast< uno_Any * >( pCallStack[1] ), + &pInterface, pTD, cpp_acquire ); + pInterface->release(); + TYPELIB_DANGER_RELEASE( pTD ); + *(void **)pRegisterReturn = pCallStack[1]; + eRet = typelib_TypeClass_ANY; + break; + } TYPELIB_DANGER_RELEASE( pTD ); - *(void **)pRegisterReturn = pCallStack[1]; - eRet = typelib_TypeClass_ANY; - break; } - TYPELIB_DANGER_RELEASE( pTD ); } // else perform queryInterface() default: eRet = cpp2uno_call( diff --git a/bridges/source/cpp_uno/cc50_solaris_intel/uno2cpp.cxx b/bridges/source/cpp_uno/cc50_solaris_intel/uno2cpp.cxx index 13d4babab11f..872493019120 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.6 $ + * $Revision: 1.7 $ * - * last change: $Author: dbo $ $Date: 2001-04-12 13:41:00 $ + * last change: $Author: dbo $ $Date: 2001-07-03 16:11:07 $ * * The Contents of this file are made available subject to the terms of * either of the following licenses @@ -394,22 +394,25 @@ extern "C" void SAL_CALL cppu_unoInterfaceProxy_dispatch( { typelib_TypeDescription * pTD = 0; TYPELIB_DANGER_GET( &pTD, reinterpret_cast< Type * >( pArgs[0] )->getTypeLibType() ); - OSL_ASSERT( pTD ); - - uno_Interface * pInterface = 0; - (*pThis->pBridge->pUnoEnv->getRegisteredInterface)( - pThis->pBridge->pUnoEnv, - (void **)&pInterface, pThis->oid.pData, (typelib_InterfaceTypeDescription *)pTD ); - - if (pInterface) + if (pTD) { - uno_any_construct( reinterpret_cast< uno_Any * >( pReturn ), &pInterface, pTD, 0 ); - (*pInterface->release)( pInterface ); + uno_Interface * pInterface = 0; + (*pThis->pBridge->pUnoEnv->getRegisteredInterface)( + pThis->pBridge->pUnoEnv, + (void **)&pInterface, pThis->oid.pData, (typelib_InterfaceTypeDescription *)pTD ); + + if (pInterface) + { + ::uno_any_construct( + reinterpret_cast< uno_Any * >( pReturn ), + &pInterface, pTD, 0 ); + (*pInterface->release)( pInterface ); + TYPELIB_DANGER_RELEASE( pTD ); + *ppException = 0; + break; + } TYPELIB_DANGER_RELEASE( pTD ); - *ppException = 0; - break; } - TYPELIB_DANGER_RELEASE( pTD ); } // else perform queryInterface() default: // dependent dispatch diff --git a/bridges/source/cpp_uno/cc50_solaris_sparc/cpp2uno.cxx b/bridges/source/cpp_uno/cc50_solaris_sparc/cpp2uno.cxx index 2719bdc597ab..cf6a54caffc4 100644 --- a/bridges/source/cpp_uno/cc50_solaris_sparc/cpp2uno.cxx +++ b/bridges/source/cpp_uno/cc50_solaris_sparc/cpp2uno.cxx @@ -2,9 +2,9 @@ * * $RCSfile: cpp2uno.cxx,v $ * - * $Revision: 1.8 $ + * $Revision: 1.9 $ * - * last change: $Author: dbo $ $Date: 2001-07-02 11:53:39 $ + * last change: $Author: dbo $ $Date: 2001-07-03 16:11:07 $ * * The Contents of this file are made available subject to the terms of * either of the following licenses @@ -362,24 +362,26 @@ static typelib_TypeClass cpp_mediate( { typelib_TypeDescription * pTD = 0; TYPELIB_DANGER_GET( &pTD, reinterpret_cast< Type * >( pCallStack[2] )->getTypeLibType() ); - OSL_ASSERT( pTD ); - - XInterface * pInterface = 0; - (*pCppI->pBridge->pCppEnv->getRegisteredInterface)( - pCppI->pBridge->pCppEnv, - (void **)&pInterface, pCppI->oid.pData, (typelib_InterfaceTypeDescription *)pTD ); - - if (pInterface) + if (pTD) { - uno_any_construct( reinterpret_cast< uno_Any * >( pCallStack[0] ), - &pInterface, pTD, cpp_acquire ); - pInterface->release(); + XInterface * pInterface = 0; + (*pCppI->pBridge->pCppEnv->getRegisteredInterface)( + pCppI->pBridge->pCppEnv, + (void **)&pInterface, pCppI->oid.pData, (typelib_InterfaceTypeDescription *)pTD ); + + if (pInterface) + { + ::uno_any_construct( + reinterpret_cast< uno_Any * >( pCallStack[0] ), + &pInterface, pTD, cpp_acquire ); + pInterface->release(); + TYPELIB_DANGER_RELEASE( pTD ); + *(void **)pRegisterReturn = pCallStack[0]; + eRet = typelib_TypeClass_ANY; + break; + } TYPELIB_DANGER_RELEASE( pTD ); - *(void **)pRegisterReturn = pCallStack[0]; - eRet = typelib_TypeClass_ANY; - break; } - TYPELIB_DANGER_RELEASE( pTD ); } // else perform queryInterface() default: eRet = cpp2uno_call( diff --git a/bridges/source/cpp_uno/cc50_solaris_sparc/uno2cpp.cxx b/bridges/source/cpp_uno/cc50_solaris_sparc/uno2cpp.cxx index 47fbe557d894..9d361dcefb4f 100644 --- a/bridges/source/cpp_uno/cc50_solaris_sparc/uno2cpp.cxx +++ b/bridges/source/cpp_uno/cc50_solaris_sparc/uno2cpp.cxx @@ -2,9 +2,9 @@ * * $RCSfile: uno2cpp.cxx,v $ * - * $Revision: 1.8 $ + * $Revision: 1.9 $ * - * last change: $Author: dbo $ $Date: 2001-04-12 13:41:01 $ + * last change: $Author: dbo $ $Date: 2001-07-03 16:11:07 $ * * The Contents of this file are made available subject to the terms of * either of the following licenses @@ -376,22 +376,25 @@ extern "C" void SAL_CALL cppu_unoInterfaceProxy_dispatch( { typelib_TypeDescription * pTD = 0; TYPELIB_DANGER_GET( &pTD, reinterpret_cast< Type * >( pArgs[0] )->getTypeLibType() ); - OSL_ASSERT( pTD ); - - uno_Interface * pInterface = 0; - (*pThis->pBridge->pUnoEnv->getRegisteredInterface)( - pThis->pBridge->pUnoEnv, - (void **)&pInterface, pThis->oid.pData, (typelib_InterfaceTypeDescription *)pTD ); - - if (pInterface) + if (pTD) { - uno_any_construct( reinterpret_cast< uno_Any * >( pReturn ), &pInterface, pTD, 0 ); - (*pInterface->release)( pInterface ); + uno_Interface * pInterface = 0; + (*pThis->pBridge->pUnoEnv->getRegisteredInterface)( + pThis->pBridge->pUnoEnv, + (void **)&pInterface, pThis->oid.pData, (typelib_InterfaceTypeDescription *)pTD ); + + if (pInterface) + { + ::uno_any_construct( + reinterpret_cast< uno_Any * >( pReturn ), + &pInterface, pTD, 0 ); + (*pInterface->release)( pInterface ); + TYPELIB_DANGER_RELEASE( pTD ); + *ppException = 0; + break; + } TYPELIB_DANGER_RELEASE( pTD ); - *ppException = 0; - break; } - TYPELIB_DANGER_RELEASE( pTD ); } // else perform queryInterface() default: // dependent dispatch diff --git a/bridges/source/cpp_uno/msvc_win32_intel/cpp2uno.cxx b/bridges/source/cpp_uno/msvc_win32_intel/cpp2uno.cxx index 8d5faf7e15b4..d711156d6553 100644 --- a/bridges/source/cpp_uno/msvc_win32_intel/cpp2uno.cxx +++ b/bridges/source/cpp_uno/msvc_win32_intel/cpp2uno.cxx @@ -2,9 +2,9 @@ * * $RCSfile: cpp2uno.cxx,v $ * - * $Revision: 1.6 $ + * $Revision: 1.7 $ * - * last change: $Author: dbo $ $Date: 2001-07-02 11:53:44 $ + * last change: $Author: dbo $ $Date: 2001-07-03 16:11:14 $ * * The Contents of this file are made available subject to the terms of * either of the following licenses @@ -349,24 +349,26 @@ static typelib_TypeClass __cdecl cpp_mediate( { typelib_TypeDescription * pTD = 0; TYPELIB_DANGER_GET( &pTD, reinterpret_cast< Type * >( pCallStack[3] )->getTypeLibType() ); - OSL_ASSERT( pTD ); - - XInterface * pInterface = 0; - (*pThis->pBridge->pCppEnv->getRegisteredInterface)( - pThis->pBridge->pCppEnv, - (void **)&pInterface, pThis->oid.pData, (typelib_InterfaceTypeDescription *)pTD ); - - if (pInterface) + if (pTD) { - uno_any_construct( reinterpret_cast< uno_Any * >( pCallStack[2] ), - &pInterface, pTD, cpp_acquire ); - pInterface->release(); + XInterface * pInterface = 0; + (*pThis->pBridge->pCppEnv->getRegisteredInterface)( + pThis->pBridge->pCppEnv, + (void **)&pInterface, pThis->oid.pData, (typelib_InterfaceTypeDescription *)pTD ); + + if (pInterface) + { + ::uno_any_construct( + reinterpret_cast< uno_Any * >( pCallStack[2] ), + &pInterface, pTD, cpp_acquire ); + pInterface->release(); + TYPELIB_DANGER_RELEASE( pTD ); + *(void **)pRegisterReturn = pCallStack[2]; + eRet = typelib_TypeClass_ANY; + break; + } TYPELIB_DANGER_RELEASE( pTD ); - *(void **)pRegisterReturn = pCallStack[2]; - eRet = typelib_TypeClass_ANY; - break; } - TYPELIB_DANGER_RELEASE( pTD ); } // else perform queryInterface() default: eRet = cpp2uno_call( diff --git a/bridges/source/cpp_uno/msvc_win32_intel/uno2cpp.cxx b/bridges/source/cpp_uno/msvc_win32_intel/uno2cpp.cxx index 5aea36393162..8fc902be6055 100644 --- a/bridges/source/cpp_uno/msvc_win32_intel/uno2cpp.cxx +++ b/bridges/source/cpp_uno/msvc_win32_intel/uno2cpp.cxx @@ -2,9 +2,9 @@ * * $RCSfile: uno2cpp.cxx,v $ * - * $Revision: 1.5 $ + * $Revision: 1.6 $ * - * last change: $Author: dbo $ $Date: 2001-04-12 13:41:03 $ + * last change: $Author: dbo $ $Date: 2001-07-03 16:11:14 $ * * The Contents of this file are made available subject to the terms of * either of the following licenses @@ -444,22 +444,25 @@ extern "C" void SAL_CALL cppu_unoInterfaceProxy_dispatch( { typelib_TypeDescription * pTD = 0; TYPELIB_DANGER_GET( &pTD, reinterpret_cast< Type * >( pArgs[0] )->getTypeLibType() ); - OSL_ASSERT( pTD ); - - uno_Interface * pInterface = 0; - (*pThis->pBridge->pUnoEnv->getRegisteredInterface)( - pThis->pBridge->pUnoEnv, - (void **)&pInterface, pThis->oid.pData, (typelib_InterfaceTypeDescription *)pTD ); - - if (pInterface) + if (pTD) { - uno_any_construct( reinterpret_cast< uno_Any * >( pReturn ), &pInterface, pTD, 0 ); - (*pInterface->release)( pInterface ); + uno_Interface * pInterface = 0; + (*pThis->pBridge->pUnoEnv->getRegisteredInterface)( + pThis->pBridge->pUnoEnv, + (void **)&pInterface, pThis->oid.pData, (typelib_InterfaceTypeDescription *)pTD ); + + if (pInterface) + { + ::uno_any_construct( + reinterpret_cast< uno_Any * >( pReturn ), + &pInterface, pTD, 0 ); + (*pInterface->release)( pInterface ); + TYPELIB_DANGER_RELEASE( pTD ); + *ppException = 0; + break; + } TYPELIB_DANGER_RELEASE( pTD ); - *ppException = 0; - break; } - TYPELIB_DANGER_RELEASE( pTD ); } // else perform queryInterface() default: // dependent dispatch |