summaryrefslogtreecommitdiff
path: root/stoc
diff options
context:
space:
mode:
authorTor Lillqvist <tml@collabora.com>2018-02-22 00:47:30 +0200
committerTor Lillqvist <tml@collabora.com>2018-05-30 10:13:04 +0200
commit2b6a84c8f699c9da115ce297ad19b8f480ab608f (patch)
treea1c8b5d720c04892cdbbbfbe5a3a7a56d904e1e2 /stoc
parent2f529db909f99a2a503ca0347a9d70742b7f05ba (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>
Diffstat (limited to 'stoc')
-rw-r--r--stoc/source/invocation/invocation.cxx20
1 files changed, 16 insertions, 4 deletions
diff --git a/stoc/source/invocation/invocation.cxx b/stoc/source/invocation/invocation.cxx
index 830ad61e33a6..68ea0ce3ccc3 100644
--- a/stoc/source/invocation/invocation.cxx
+++ b/stoc/source/invocation/invocation.cxx
@@ -458,8 +458,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 ) )
@@ -473,8 +477,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