Tag: cws_dev300_odbmacros3
User: fs      
Date: 2008-04-13 19:16:50+0000
Modified:
   dba/dbaccess/source/core/dataaccess/ModelImpl.cxx

Log:
 #i49133# impl_switchToStorage_throw: don't forward NULL storage to the library 
containers

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.25&r2=1.25.6.1
Delta lines:  +21 -21
---------------------
--- ModelImpl.cxx       2008-03-06 17:57:16+0000        1.25
+++ ModelImpl.cxx       2008-04-13 19:16:47+0000        1.25.6.1
@@ -4,9 +4,9 @@
  *
  *  $RCSfile: ModelImpl.cxx,v $
  *
- *  $Revision: 1.25 $
+ *  $Revision: 1.25.6.1 $
  *
- *  last change: $Author: kz $ $Date: 2008/03/06 17:57:16 $
+ *  last change: $Author: fs $ $Date: 2008/04/13 19:16:47 $
  *
  *  The Contents of this file are made available subject to
  *  the terms of GNU Lesser General Public License Version 2.1.
@@ -49,22 +49,9 @@
 
 /** === begin UNO includes === **/
 #include <com/sun/star/document/MacroExecMode.hpp>
-#include <com/sun/star/document/XExporter.hpp>
-#include <com/sun/star/document/XFilter.hpp>
-#include <com/sun/star/document/XImporter.hpp>
 #include <com/sun/star/embed/XTransactedObject.hpp>
 #include <com/sun/star/embed/XTransactionBroadcaster.hpp>
-#include <com/sun/star/io/XActiveDataSource.hpp>
-#include <com/sun/star/lang/DisposedException.hpp>
-#include <com/sun/star/reflection/XProxyFactory.hpp>
 #include <com/sun/star/sdb/BooleanComparisonMode.hpp>
-#include <com/sun/star/sdbc/XDriverAccess.hpp>
-#include <com/sun/star/sdbc/XDriverManager.hpp>
-#include <com/sun/star/sdbcx/XTablesSupplier.hpp>
-#include <com/sun/star/task/XStatusIndicator.hpp>
-#include <com/sun/star/ucb/XInteractionSupplyAuthentication.hpp>
-#include <com/sun/star/view/XSelectionSupplier.hpp>
-#include <com/sun/star/xml/sax/XDocumentHandler.hpp>
 #include <com/sun/star/script/DocumentScriptLibraryContainer.hpp>
 #include <com/sun/star/script/DocumentDialogLibraryContainer.hpp>
 #include <com/sun/star/lang/WrappedTargetRuntimeException.hpp>
@@ -105,7 +92,6 @@
 using namespace ::com::sun::star::view;
 using namespace ::com::sun::star::task;
 using namespace ::com::sun::star::reflection;
-using namespace ::com::sun::star::xml::sax;
 using namespace ::com::sun::star::script;
 using namespace ::cppu;
 using namespace ::osl;
@@ -1181,6 +1167,22 @@
 }
 
 // 
-----------------------------------------------------------------------------
+namespace
+{
+    static void lcl_rebaseScriptStorage_throw( const Reference< 
XStorageBasedLibraryContainer >& _rxContainer,
+        const Reference< XStorage >& _rxNewRootStorage )
+    {
+        if ( _rxContainer.is() )
+        {
+            if ( _rxNewRootStorage.is() )
+                _rxContainer->setRootStorage( _rxNewRootStorage );
+            else
+                ;   // TODO: what to do here? dispose the container?
+        }
+    }
+}
+
+// 
-----------------------------------------------------------------------------
 Reference< XStorage > ODatabaseModelImpl::impl_switchToStorage_throw( const 
Reference< XStorage >& _rxNewRootStorage )
 {
     // stop listening for modifications at the old storage
@@ -1193,10 +1195,8 @@
     lcl_modifyListening( m_xMutex->getMutex(), *this, 
m_xDocumentStorage.getTyped(), m_pStorageModifyListener, true );
 
     // forward new storage to Basic and Dialog library containers
-    if ( m_xBasicLibraries.is() )
-        m_xBasicLibraries->setRootStorage( m_xDocumentStorage.getTyped() );
-    if ( m_xDialogLibraries.is() )
-        m_xDialogLibraries->setRootStorage( m_xDocumentStorage.getTyped() );
+    lcl_rebaseScriptStorage_throw( m_xBasicLibraries, 
m_xDocumentStorage.getTyped() );
+    lcl_rebaseScriptStorage_throw( m_xDialogLibraries, 
m_xDocumentStorage.getTyped() );
 
     m_bReadOnly = !lcl_storageIsWritable_nothrow( 
m_xDocumentStorage.getTyped() );
     // TODO: our data source, if it exists, must broadcast the change of its 
ReadOnly property




---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to