Tag: cws_dev300_dba31c
User: fs      
Date: 2008-09-30 07:31:44+0000
Modified:
   dba/dbaccess/source/filter/xml/xmlExport.cxx

Log:
 #i94433# more tolerance against some dead objects ...

File Changes:

Directory: /dba/dbaccess/source/filter/xml/
===========================================

File [changed]: xmlExport.cxx
Url: 
http://dba.openoffice.org/source/browse/dba/dbaccess/source/filter/xml/xmlExport.cxx?r1=1.22.32.1&r2=1.22.32.2
Delta lines:  +68 -57
---------------------
--- xmlExport.cxx       2008-08-21 10:41:43+0000        1.22.32.1
+++ xmlExport.cxx       2008-09-30 07:31:42+0000        1.22.32.2
@@ -7,7 +7,7 @@
  * OpenOffice.org - a multi-platform office productivity suite
  *
  * $RCSfile: xmlExport.cxx,v $
- * $Revision: 1.22.32.1 $
+ * $Revision: 1.22.32.2 $
  *
  * This file is part of OpenOffice.org.
  *
@@ -104,6 +104,7 @@
 #include <com/sun/star/awt/FontDescriptor.hpp>
 #endif
 #include <svtools/filenotation.hxx>
+#include <tools/diagnose_ex.h>
 
 namespace dbaxml
 {
@@ -998,11 +999,16 @@
 // 
-----------------------------------------------------------------------------
 void ODBExport::exportColumns(const Reference<XColumnsSupplier>& _xColSup)
 {
-       if ( _xColSup.is() )
-       {
-               Reference<XNameAccess> xNameAccess = _xColSup->getColumns();
-               if ( xNameAccess.is() && xNameAccess->hasElements() )
+    OSL_PRECOND( _xColSup.is(), "ODBExport::exportColumns: invalid columns 
supplier!" );
+       if ( !_xColSup.is() )
+        return;
+
+    try
                {
+           Reference<XNameAccess> xNameAccess( _xColSup->getColumns(), 
UNO_SET_THROW );
+           if ( !xNameAccess->hasElements() )
+            return;
+
                        SvXMLElementExport aColumns(*this,XML_NAMESPACE_DB, 
XML_COLUMNS, sal_True, sal_True);
                        Sequence< ::rtl::OUString> aSeq = 
xNameAccess->getElementNames();
                        const ::rtl::OUString* pIter = aSeq.getConstArray();
@@ -1051,6 +1057,9 @@
                                }
                        }
                }
+    catch( const Exception& )
+    {
+       DBG_UNHANDLED_EXCEPTION();
        }
 }
 // 
-----------------------------------------------------------------------------
@@ -1140,20 +1149,22 @@
                            pExportHelper[i].second.first->insert( 
TPropertyStyleMap::value_type(_xProp,GetAutoStylePool()->Add( 
pExportHelper[i].second.second, aPropertyStates )));
         }
 
-               Reference< XNameAccess > xCollection = xSup->getColumns();
+        Reference< XNameAccess > xCollection;
         try
         {
+                   xCollection.set( xSup->getColumns(), UNO_SET_THROW );
             awt::FontDescriptor aFont;
             _xProp->getPropertyValue(PROPERTY_FONT) >>= aFont;
                        
GetFontAutoStylePool()->Add(aFont.Name,aFont.StyleName,aFont.Family,aFont.Pitch,aFont.CharSet
 );
+
+            m_aCurrentPropertyStates = m_xCellExportHelper->Filter(_xProp);
+                   ::comphelper::mem_fun1_t<ODBExport,XPropertySet* > 
aMemFunc(&ODBExport::exportAutoStyle);
+                   
exportCollection(xCollection,XML_TOKEN_INVALID,XML_TOKEN_INVALID,sal_False,aMemFunc);
         }
         catch(Exception&)
         {
-            // not interested in
+            DBG_UNHANDLED_EXCEPTION();
         }
-        m_aCurrentPropertyStates = m_xCellExportHelper->Filter(_xProp);
-               ::comphelper::mem_fun1_t<ODBExport,XPropertySet* > 
aMemFunc(&ODBExport::exportAutoStyle);
-               
exportCollection(xCollection,XML_TOKEN_INVALID,XML_TOKEN_INVALID,sal_False,aMemFunc);
         m_aCurrentPropertyStates.clear();
        }
        else 




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

Reply via email to