diff options
author | Andreas Bregas <ab@openoffice.org> | 2010-07-27 12:20:29 +0200 |
---|---|---|
committer | Andreas Bregas <ab@openoffice.org> | 2010-07-27 12:20:29 +0200 |
commit | 80e76b44a8b52de470051ce1e27a71870078a5aa (patch) | |
tree | e10260adbe2f6bdc10285ef0b8d4473c321b8dc5 /basic | |
parent | b7d6f018da399d350d778acf0d76b210242b3939 (diff) | |
parent | 276e8f53828b362e82423863c41e6d17c8c2f782 (diff) |
mib17: merge
Diffstat (limited to 'basic')
-rw-r--r-- | basic/source/classes/sbxmod.cxx | 8 | ||||
-rw-r--r-- | basic/source/runtime/step0.cxx | 19 |
2 files changed, 16 insertions, 11 deletions
diff --git a/basic/source/classes/sbxmod.cxx b/basic/source/classes/sbxmod.cxx index 0f52eef2d825..e42193ac2696 100644 --- a/basic/source/classes/sbxmod.cxx +++ b/basic/source/classes/sbxmod.cxx @@ -121,16 +121,16 @@ class DocObjectWrapper : public DocObjectWrapper_BASE public: DocObjectWrapper( SbModule* pMod ); - ~DocObjectWrapper(); + virtual ~DocObjectWrapper(); virtual void SAL_CALL acquire() throw(); virtual void SAL_CALL release() throw(); - virtual Sequence< sal_Int8 > SAL_CALL getImplementationId() - throw ( com::sun::star::uno::RuntimeException ) + virtual Sequence< sal_Int8 > SAL_CALL getImplementationId() throw (RuntimeException) { + if( !m_xAggregateTypeProv.is() ) + throw RuntimeException(); return m_xAggregateTypeProv->getImplementationId(); - } virtual Reference< XIntrospectionAccess > SAL_CALL getIntrospection( ) throw (RuntimeException); diff --git a/basic/source/runtime/step0.cxx b/basic/source/runtime/step0.cxx index bdbb22678bf3..29965c7e9da5 100644 --- a/basic/source/runtime/step0.cxx +++ b/basic/source/runtime/step0.cxx @@ -532,9 +532,10 @@ void SbiRuntime::StepSET_Impl( SbxVariableRef& refVal, SbxVariableRef& refVar, b // Handle withevents BOOL bWithEvents = refVar->IsSet( SBX_WITH_EVENTS ); - Reference< XInterface > xComListener; - if( bWithEvents ) + if ( bWithEvents ) { + Reference< XInterface > xComListener; + SbxBase* pObj = refVal->GetObject(); SbUnoObject* pUnoObj = (pObj != NULL) ? PTR_CAST(SbUnoObject,pObj) : NULL; if( pUnoObj != NULL ) @@ -545,13 +546,17 @@ void SbiRuntime::StepSET_Impl( SbxVariableRef& refVal, SbxVariableRef& refVar, b ::rtl::OUString aPrefix = refVar->GetName(); SbxObjectRef xScopeObj = refVar->GetParent(); xComListener = createComListener( aControlAny, aVBAType, aPrefix, xScopeObj ); - } - } - *refVar = *refVal; + refVal->SetDeclareClassName( aDeclareClassName ); + refVal->SetComListener( xComListener ); // Hold reference + } - if( bWithEvents ) - refVar->SetComListener( xComListener ); // Hold reference + *refVar = *refVal; + } + else + { + *refVar = *refVal; + } // lhs is a property who's value is currently (Empty e.g. no broadcast yet) // in this case if there is a default prop involved the value of the |