User: hr Date: 05/09/23 05:41:31 Modified: /dba/dbaccess/source/ui/misc/ singledoccontroller.cxx
Log: INTEGRATION: CWS dba201b (1.14.44); FILE MERGED 2005/09/21 10:00:40 oj 1.14.44.3: RESYNC: (1.14-1.15); FILE MERGED 2005/07/22 07:02:39 fs 1.14.44.2: #i10000# 2005/07/20 09:57:48 fs 1.14.44.1: #i51255# XConnection (partly) replaced with SharedConnection File Changes: Directory: /dba/dbaccess/source/ui/misc/ ======================================== File [changed]: singledoccontroller.cxx Url: http://dba.openoffice.org/source/browse/dba/dbaccess/source/ui/misc/singledoccontroller.cxx?r1=1.15&r2=1.16 Delta lines: +14 -15 --------------------- --- singledoccontroller.cxx 8 Sep 2005 16:16:54 -0000 1.15 +++ singledoccontroller.cxx 23 Sep 2005 12:41:29 -0000 1.16 @@ -339,17 +339,10 @@ m_aUndoManager.Clear(); disconnect(); - Reference<XDocumentDataSource> xDocumentDataSource(m_xDataSource,UNO_QUERY); - if ( xDocumentDataSource.is() ) - { - Reference<XModel> xModel(xDocumentDataSource->getDatabaseDocument(),UNO_QUERY); - if ( xModel.is() ) - xModel->disconnectController( this ); - } - Reference < XFrame > xFrame; - attachFrame( xFrame ); + m_aModelConnector.clear(); + attachFrame( Reference < XFrame >() ); m_xDataSource.clear(); } @@ -536,12 +529,18 @@ return NULL;//Reference< XModel >(m_xDataSource,UNO_QUERY); // OJ: i31891 } // ----------------------------------------------------------------------------- - sal_Bool SAL_CALL OSingleDocumentController::attachModel(const Reference< XModel > & xModel) throw( RuntimeException ) + sal_Bool SAL_CALL OSingleDocumentController::attachModel(const Reference< XModel > & _rxModel) throw( RuntimeException ) { - ::osl::MutexGuard aGuard(m_aMutex); - Reference<XOfficeDatabaseDocument> xOfficeDoc(xModel,UNO_QUERY); - m_xDataSource.set(xOfficeDoc.is() ? xOfficeDoc->getDataSource() : Reference<XDataSource>(),UNO_QUERY); - return m_xDataSource.is(); + ::osl::MutexGuard aGuard( m_aMutex ); + + Reference< XOfficeDatabaseDocument > xOfficeDoc( _rxModel, UNO_QUERY ); + m_xDataSource.set( xOfficeDoc.is() ? xOfficeDoc->getDataSource() : Reference<XDataSource>(), UNO_QUERY ); + + m_aModelConnector.clear(); + if ( m_xDataSource.is() ) + m_aModelConnector = ModelControllerConnector( _rxModel, this ); + + return sal_True; } // ----------------------------------------------------------------------------- ::rtl::OUString OSingleDocumentController::getDataSourceName() const --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
