diff options
author | Tor Lillqvist <tml@collabora.com> | 2018-02-22 00:47:30 +0200 |
---|---|---|
committer | Tor Lillqvist <tml@collabora.com> | 2018-05-31 21:38:25 +0300 |
commit | 4979792e6cdef9e19848e5f676acb60c3d1926d2 (patch) | |
tree | a66543f22f637db45a1f84f0b7d7c00a836b62e3 /stoc | |
parent | 40e24d40fe0add043a851ee5ca454cadae6c52c0 (diff) |
We might need to handle form controls as properties for OLE clients after all
Start a bit of work on that.
Change-Id: I7775f9598a81d64e9716996027b01f7f8e29745b
Reviewed-on: https://gerrit.libreoffice.org/55043
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Tor Lillqvist <tml@collabora.com>
(cherry picked from commit 2b6a84c8f699c9da115ce297ad19b8f480ab608f)
Diffstat (limited to 'stoc')
-rw-r--r-- | stoc/source/invocation/invocation.cxx | 20 |
1 files changed, 16 insertions, 4 deletions
diff --git a/stoc/source/invocation/invocation.cxx b/stoc/source/invocation/invocation.cxx index 59082fe97f20..bf003165b2a9 100644 --- a/stoc/source/invocation/invocation.cxx +++ b/stoc/source/invocation/invocation.cxx @@ -475,8 +475,12 @@ sal_Bool Invocation_Impl::hasMethod( const OUString& Name ) sal_Bool Invocation_Impl::hasProperty( const OUString& Name ) { - if (!mbFromOLE && _xDirect.is()) - return _xDirect->hasProperty( Name ); + if (_xDirect.is()) + { + bool bRet = _xDirect->hasProperty( Name ); + if (bRet || !mbFromOLE) + return bRet; + } // PropertySet if( _xIntrospectionAccess.is() && _xIntrospectionAccess->hasProperty( Name, PropertyConcept::ALL ^ PropertyConcept::DANGEROUS ) ) @@ -490,8 +494,16 @@ sal_Bool Invocation_Impl::hasProperty( const OUString& Name ) Any Invocation_Impl::getValue( const OUString& PropertyName ) { - if (!mbFromOLE && _xDirect.is()) - return _xDirect->getValue( PropertyName ); + try + { + if (_xDirect.is()) + return _xDirect->getValue( PropertyName ); + } + catch (RuntimeException &) + { + if (!mbFromOLE) + throw; + } try { // PropertySet |