Tag: cws_src680_dba30 User: oj Date: 06/04/19 23:45:04 Modified: /dba/dbaccess/source/core/dataaccess/ ModelImpl.cxx
Log: RESYNC: (1.11-1.12); FILE MERGED File Changes: Directory: /dba/dbaccess/source/core/dataaccess/ ================================================ File [changed]: ModelImpl.cxx Url: http://dba.openoffice.org/source/browse/dba/dbaccess/source/core/dataaccess/ModelImpl.cxx?r1=1.3.2.6&r2=1.3.2.7 Delta lines: +21 -17 --------------------- --- ModelImpl.cxx 21 Mar 2006 18:23:35 -0000 1.3.2.6 +++ ModelImpl.cxx 20 Apr 2006 06:45:01 -0000 1.3.2.7 @@ -330,11 +330,7 @@ ::osl::MutexGuard aGuard( m_aMutex ); if ( m_pModelImplementation ) - { - Reference< XModifiable > xModiable( m_pModelImplementation->getModel_noCreate(), UNO_QUERY ); - if ( xModiable.is() ) - xModiable->setModified( sal_True ); - } + m_pModelImplementation->setModified( sal_True ); if ( m_pModelImplementation && m_bPropagateCommitToRoot ) { @@ -397,7 +393,7 @@ ,m_pDBContext(NULL) ,m_nControllerLockCount(0) ,m_bOwnStorage(sal_False) - ,m_xTempModel(_xModel) + ,m_xModel(_xModel) ,m_nLoginTimeout(0) ,m_refCount(0) ,m_pStorageAccess( NULL ) @@ -575,15 +571,17 @@ { Reference< XDataSource > xDS( m_xDataSource ); ::comphelper::disposeComponent( xDS ); - m_xDataSource = WeakReference<XDataSource>(); + m_xDataSource = WeakReference< XDataSource >(); - ::comphelper::disposeComponent(m_xTempModel); + Reference< XModel > xModel( m_xModel ); + ::comphelper::disposeComponent( xModel ); + m_xModel = WeakReference< XModel >(); } catch( const Exception& ) { } m_xDataSource = WeakReference<XDataSource>(); - m_xTempModel.clear(); + m_xModel = WeakReference< XModel >(); ::std::vector<TContentPtr>::iterator aIter = m_aContainer.begin(); ::std::vector<TContentPtr>::iterator aEnd = m_aContainer.end(); @@ -861,9 +859,11 @@ { try { - Reference<XModifiable> xModi(m_xTempModel.get(),UNO_QUERY); + Reference<XModifiable> xModi(m_xModel.get(),UNO_QUERY); if ( xModi.is() ) - xModi->setModified(_bModified); + xModi->setModified( _bModified ); + else + m_bModified = _bModified; } catch(Exception) { @@ -899,15 +899,19 @@ // ----------------------------------------------------------------------------- Reference< XModel> ODatabaseModelImpl::getModel_noCreate() { - return m_xTempModel; + return m_xModel; } // ----------------------------------------------------------------------------- -Reference< XModel> ODatabaseModelImpl::createNewModel_deliverOwnership() +Reference< XModel > ODatabaseModelImpl::createNewModel_deliverOwnership() { - OSL_PRECOND( !m_xTempModel.is(), "ODatabaseModelImpl::getModel_noCreate: not to be called if there already is a model!" ); - if ( !m_xTempModel.is() ) - m_xTempModel = ODatabaseDocument::createDatabaseDocument( this, ODatabaseDocument::FactoryAccess() ); - return m_xTempModel; + Reference< XModel > xModel( m_xModel ); + OSL_PRECOND( !xModel.is(), "ODatabaseModelImpl::createNewModel_deliverOwnership: not to be called if there already is a model!" ); + if ( !xModel.is() ) + { + xModel = ODatabaseDocument::createDatabaseDocument( this, ODatabaseDocument::FactoryAccess() ); + m_xModel = xModel; + } + return xModel; } // ----------------------------------------------------------------------------- oslInterlockedCount SAL_CALL ODatabaseModelImpl::acquire() --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
