diff options
author | Stephan Bergmann <sbergman@redhat.com> | 2014-03-28 12:13:46 +0100 |
---|---|---|
committer | Stephan Bergmann <sbergman@redhat.com> | 2014-03-28 12:14:53 +0100 |
commit | 01cc916fa45081bfb99933ca8f56d7e444a1ae82 (patch) | |
tree | 30b0ba51bf9108b5b282d34cede2ac73d6d83573 /connectivity/source/commontools/paramwrapper.cxx | |
parent | 67688d3118b1a361d5dbdaa78e918815c163d75c (diff) |
Forgot to extend queryInterface
...in 8b533d84f3ae211fdfafc2adc8d8567f366771d4 "Missing XTypeProvider base
class."
Change-Id: I477e47f2a383caab225f55ea1c46094946971b86
Diffstat (limited to 'connectivity/source/commontools/paramwrapper.cxx')
-rw-r--r-- | connectivity/source/commontools/paramwrapper.cxx | 17 |
1 files changed, 16 insertions, 1 deletions
diff --git a/connectivity/source/commontools/paramwrapper.cxx b/connectivity/source/commontools/paramwrapper.cxx index 9c4af0eb8b46..60c3ef8ef0e5 100644 --- a/connectivity/source/commontools/paramwrapper.cxx +++ b/connectivity/source/commontools/paramwrapper.cxx @@ -98,7 +98,22 @@ namespace param } - IMPLEMENT_FORWARD_XINTERFACE2( ParameterWrapper, UnoBase, PropertyBase ) + IMPLEMENT_FORWARD_REFCOUNT( ParameterWrapper, UnoBase ) + + css::uno::Any ParameterWrapper::queryInterface(css::uno::Type const & aType) + throw (css::uno::RuntimeException, std::exception) + { + css::uno::Any a(UnoBase::queryInterface(aType)); + if (!a.hasValue()) { + a = PropertyBase::queryInterface(aType); + if (!a.hasValue() + && aType == cppu::UnoType<css::lang::XTypeProvider>::get()) + { + a <<= css::uno::Reference<css::lang::XTypeProvider>(this); + } + } + return a; + } Sequence< Type > SAL_CALL ParameterWrapper::getTypes( ) throw(RuntimeException, std::exception) |