Tag: cws_src680_warnings01 User: sb Date: 06/04/07 13:46:21 Modified: /dba/dbaccess/source/core/dataaccess/ ModelImpl.cxx
Log: RESYNC: (1.10-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.10.26.1&r2=1.10.26.2 Delta lines: +25 -25 --------------------- --- ModelImpl.cxx 24 Mar 2006 15:35:51 -0000 1.10.26.1 +++ ModelImpl.cxx 7 Apr 2006 20:46:18 -0000 1.10.26.2 @@ -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 ) { @@ -386,7 +382,7 @@ //-------------------------------------------------------------------------- ODatabaseModelImpl::ODatabaseModelImpl(const Reference< XMultiServiceFactory >& _rxFactory , const Reference< XModel>& _xModel) - :m_xTempModel(_xModel) + :m_xModel(_xModel) ,m_pStorageAccess( NULL ) ,m_xMutex( new SharedMutex ) ,m_xServiceFactory(_rxFactory) @@ -529,15 +525,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(); @@ -758,11 +756,7 @@ { TStorages::iterator aFind = m_aStorages.find(::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("database"))); if ( aFind != m_aStorages.end() ) - { - Reference<XTransactedObject> xTrans(aFind->second,UNO_QUERY); - if ( bStore = xTrans.is() ) - xTrans->commit(); - } + bStore = commitStorageIfWriteable(aFind->second); } catch(Exception&) { @@ -819,9 +813,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) { @@ -857,15 +853,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]
