Tag: cws_src680_dba203c
User: oj      
Date: 06/04/13 06:57:22

Modified:
 /dba/dbaccess/source/ui/browser/
  sbagrid.cxx
 /dba/dbaccess/source/ui/inc/
  TableController.hxx, TableRowExchange.hxx
 /dba/dbaccess/source/ui/tabledesign/
  TEditControl.cxx, TEditControl.hxx, TableController.cxx, TableDesignView.cxx,
  TableFieldControl.cxx, TableRowExchange.cxx, TableUndo.cxx, TableUndo.hxx

Log:
 hold TableRow now with a shared_ptr

File Changes:

Directory: /dba/dbaccess/source/ui/browser/
===========================================

File [changed]: sbagrid.cxx
Url: 
http://dba.openoffice.org/source/browse/dba/dbaccess/source/ui/browser/sbagrid.cxx?r1=1.73&r2=1.73.102.1
Delta lines:  +5 -6
-------------------
--- sbagrid.cxx 23 Sep 2005 12:21:53 -0000      1.73
+++ sbagrid.cxx 13 Apr 2006 13:57:17 -0000      1.73.102.1
@@ -4,9 +4,9 @@
  *
  *  $RCSfile: sbagrid.cxx,v $
  *
- *  $Revision: 1.73 $
+ *  $Revision: 1.73.102.1 $
  *
- *  last change: $Author: hr $ $Date: 2005/09/23 12:21:53 $
+ *  last change: $Author: oj $ $Date: 2006/04/13 13:57:17 $
  *
  *  The Contents of this file are made available subject to
  *  the terms of GNU Lesser General Public License Version 2.1.
@@ -1017,10 +1017,9 @@
 
                                if(!xField.is())
                                        break;
-                               ::std::vector<OTableRow*> vClipboardList;
-                               OTableRow* pTableRow = new OTableRow(xField);
+                               ::std::vector< ::boost::shared_ptr<OTableRow> > 
vClipboardList;
                                // send it to the clipboard
-                               vClipboardList.push_back(pTableRow);
+                               
vClipboardList.push_back(::boost::shared_ptr<OTableRow>(new OTableRow(xField)));
                                OTableRowExchange* pData = new 
OTableRowExchange(vClipboardList);
                                Reference< 
::com::sun::star::datatransfer::XTransferable> xRef = pData;
 #if SUPD<631

Directory: /dba/dbaccess/source/ui/inc/
=======================================

File [changed]: TableController.hxx
Url: 
http://dba.openoffice.org/source/browse/dba/dbaccess/source/ui/inc/TableController.hxx?r1=1.35&r2=1.35.110.1
Delta lines:  +5 -5
-------------------
--- TableController.hxx 8 Sep 2005 15:35:28 -0000       1.35
+++ TableController.hxx 13 Apr 2006 13:57:17 -0000      1.35.110.1
@@ -4,9 +4,9 @@
  *
  *  $RCSfile: TableController.hxx,v $
  *
- *  $Revision: 1.35 $
+ *  $Revision: 1.35.110.1 $
  *
- *  last change: $Author: rt $ $Date: 2005/09/08 15:35:28 $
+ *  last change: $Author: oj $ $Date: 2006/04/13 13:57:17 $
  *
  *  The Contents of this file are made available subject to
  *  the terms of GNU Lesser General Public License Version 2.1.
@@ -75,7 +75,7 @@
        class OTableController : public OTableController_BASE
        {
        private:
-               ::std::vector<OTableRow*>       m_vRowList;
+               ::std::vector< ::boost::shared_ptr<OTableRow> > m_vRowList;
                OTypeInfoMap                            m_aTypeInfo;
                ::std::vector<OTypeInfoMap::iterator> m_aTypeInfoIndex;
 
@@ -143,7 +143,7 @@
                //      const ::connectivity::OSQLParseNode* getParseTree() 
const { return m_aSqlIterator.getParseTree();}
                // need for undo's and redo's
                SfxUndoManager* getUndoMgr();
-               inline ::std::vector<OTableRow*>*       getRows() { return 
&m_vRowList; }
+               inline ::std::vector< ::boost::shared_ptr<OTableRow> >* 
getRows() { return &m_vRowList; }
 
                /// returns the postion of the the first empty row
                sal_Int32                                                       
getFirstEmptyRowPosition() const;

File [changed]: TableRowExchange.hxx
Url: 
http://dba.openoffice.org/source/browse/dba/dbaccess/source/ui/inc/TableRowExchange.hxx?r1=1.2&r2=1.2.110.1
Delta lines:  +6 -5
-------------------
--- TableRowExchange.hxx        8 Sep 2005 15:37:46 -0000       1.2
+++ TableRowExchange.hxx        13 Apr 2006 13:57:17 -0000      1.2.110.1
@@ -4,9 +4,9 @@
  *
  *  $RCSfile: TableRowExchange.hxx,v $
  *
- *  $Revision: 1.2 $
+ *  $Revision: 1.2.110.1 $
  *
- *  last change: $Author: rt $ $Date: 2005/09/08 15:37:46 $
+ *  last change: $Author: oj $ $Date: 2006/04/13 13:57:17 $
  *
  *  The Contents of this file are made available subject to
  *  the terms of GNU Lesser General Public License Version 2.1.
@@ -44,15 +44,16 @@
 #ifndef _TRANSFER_HXX 
 #include <svtools/transfer.hxx>
 #endif
+#include <boost/shared_ptr.hpp>
 
 namespace dbaui
 {
        class OTableRow;
        class OTableRowExchange : public TransferableHelper
        {
-               ::std::vector<OTableRow*> m_vTableRow;
+               ::std::vector< ::boost::shared_ptr<OTableRow> > m_vTableRow;
        public:
-               OTableRowExchange(const ::std::vector<OTableRow*>& _rvTableRow);
+               OTableRowExchange(const ::std::vector< 
::boost::shared_ptr<OTableRow> >& _rvTableRow);
        protected:
                virtual void            AddSupportedFormats();
                virtual sal_Bool        GetData( const 
::com::sun::star::datatransfer::DataFlavor& rFlavor );

Directory: /dba/dbaccess/source/ui/tabledesign/
===============================================

File [changed]: TEditControl.cxx
Url: 
http://dba.openoffice.org/source/browse/dba/dbaccess/source/ui/tabledesign/TEditControl.cxx?r1=1.47&r2=1.47.4.1
Delta lines:  +22 -24
---------------------
--- TEditControl.cxx    29 Mar 2006 12:39:46 -0000      1.47
+++ TEditControl.cxx    13 Apr 2006 13:57:18 -0000      1.47.4.1
@@ -4,9 +4,9 @@
  *
  *  $RCSfile: TEditControl.cxx,v $
  *
- *  $Revision: 1.47 $
+ *  $Revision: 1.47.4.1 $
  *
- *  last change: $Author: obo $ $Date: 2006/03/29 12:39:46 $
+ *  last change: $Author: oj $ $Date: 2006/04/13 13:57:18 $
  *
  *  The Contents of this file are made available subject to
  *  the terms of GNU Lesser General Public License Version 2.1.
@@ -246,7 +246,6 @@
                                   ,nInvalidateTypeEvent(0)
                                   ,nEntryNotFoundEvent(0)
                                   ,bReadOnly(sal_True)
-                                  ,pActRow(NULL)
                                   ,pDescrWin(NULL)
                                   ,m_eChildFocus(NONE)
 {
@@ -610,7 +609,7 @@
 
        ::comphelper::UStringMixEqual bCase(xMetaData.is() ? 
xMetaData->storesMixedCaseQuotedIdentifiers() : sal_True);
 
-       ::std::vector<OTableRow*>::iterator aIter = m_pRowList->begin();
+       ::std::vector< ::boost::shared_ptr<OTableRow> >::iterator aIter = 
m_pRowList->begin();
        OFieldDescription* pFieldDescr;
        sal_Int32 nCount(0);
        for(;aIter != m_pRowList->end();++aIter)
@@ -878,9 +877,9 @@
 
        //////////////////////////////////////////////////////////////////////
        // Selektierte Zeilen in die ClipboardListe kopieren
-       OTableRow* pClipboardRow;
-       OTableRow* pRow;
-       ::std::vector<OTableRow*> vClipboardList;
+        ::boost::shared_ptr<OTableRow>  pClipboardRow;
+        ::boost::shared_ptr<OTableRow>  pRow;
+       ::std::vector< ::boost::shared_ptr<OTableRow> > vClipboardList;
        vClipboardList.reserve(GetSelectRowCount());
 
        for( long nIndex=FirstSelectedRow(); nIndex >= 0 && nIndex < 
static_cast<long>(m_pRowList->size()); nIndex=NextSelectedRow() )
@@ -889,7 +888,7 @@
         OSL_ENSURE(pRow,"OTableEditorCtrl::CopyRows: Row is NULL!");
         if ( pRow && pRow->GetActFieldDescr() )
         {
-                   pClipboardRow = new OTableRow( *pRow );
+                   pClipboardRow.reset(new OTableRow( *pRow ));
                    vClipboardList.push_back( pClipboardRow);
         }
        }
@@ -937,7 +936,7 @@
 {
        DBG_CHKTHIS(OTableEditorCtrl,NULL);
 
-       ::std::vector< OTableRow*> vInsertedUndoRedoRows; // need for undo/redo 
handling
+       ::std::vector<  ::boost::shared_ptr<OTableRow> > vInsertedUndoRedoRows; 
// need for undo/redo handling
        //////////////////////////////////////////////////////////////////////
        // get rows from clipboard
        TransferableDataHelper 
aTransferData(TransferableDataHelper::CreateFromSystemClipboard(GetParent()));
@@ -951,13 +950,13 @@
                        aStreamRef->ResetError();
                        long nInsertRow = nRow;
                        String aFieldName;
-                       OTableRow* pRow;
+                        ::boost::shared_ptr<OTableRow>  pRow;
                        sal_Int32 nSize = 0;
                        (*aStreamRef) >> nSize;
                        vInsertedUndoRedoRows.reserve(nSize);
                        for(sal_Int32 i=0;i < nSize;++i)
                        {
-                               pRow = new OTableRow();
+                               pRow.reset(new OTableRow());
                                (*aStreamRef) >> *pRow;
                                pRow->SetReadOnly( sal_False );
                                sal_Int32 nType = 
pRow->GetActFieldDescr()->GetType();
@@ -969,7 +968,7 @@
                                pRow->GetActFieldDescr()->SetName( aFieldName );
                                pRow->SetPos(nInsertRow);
                                m_pRowList->insert( 
m_pRowList->begin()+nInsertRow,pRow );
-                               vInsertedUndoRedoRows.push_back(new 
OTableRow(*pRow));
+                               
vInsertedUndoRedoRows.push_back(::boost::shared_ptr<OTableRow>(new 
OTableRow(*pRow)));
                                nInsertRow++;
                        }
                }
@@ -1008,13 +1007,12 @@
        {
                
//////////////////////////////////////////////////////////////////////
                // Zeile entfernen
-               delete (*m_pRowList)[nIndex];
                m_pRowList->erase( m_pRowList->begin()+nIndex );
                RowRemoved( nIndex, 1, sal_True );
 
                
//////////////////////////////////////////////////////////////////////
                // Leerzeile am Ende wieder einfuegen
-               m_pRowList->push_back( new OTableRow());
+               m_pRowList->push_back( ::boost::shared_ptr<OTableRow>(new 
OTableRow()));
                RowInserted( GetRowCount()-1, 1, sal_True );
 
                nIndex = FirstSelectedRow();
@@ -1048,7 +1046,7 @@
        //////////////////////////////////////////////////////////////////////
        // Zahl der selektierten Zeilen werden neu eingefuegt
        for( long i=nRow; i<(nRow+nInsertRows); i++ )
-               m_pRowList->insert( m_pRowList->begin()+i ,new OTableRow());
+               m_pRowList->insert( m_pRowList->begin()+i 
,::boost::shared_ptr<OTableRow>(new OTableRow()));
        RowInserted( nRow, nInsertRows, sal_True );
 
        GetView()->getController()->setModified( sal_True );
@@ -1306,7 +1304,7 @@
                OSL_ENSURE(0,"(nRow<0) || (nRow>=nListCount)");
                return NULL;
        }
-       OTableRow* pRow = (*m_pRowList)[ nRow ];
+        ::boost::shared_ptr<OTableRow>  pRow = (*m_pRowList)[ nRow ];
        if( !pRow )
                return NULL;
        return pRow->GetActFieldDescr();
@@ -1358,7 +1356,7 @@
 
                
//////////////////////////////////////////////////////////////////////
                // Wenn eine der markierten Zeilen leer ist, kein Copy moeglich
-               OTableRow* pRow;
+                ::boost::shared_ptr<OTableRow>  pRow;
                long nIndex = FirstSelectedRow();
         while( nIndex >= 0 && nIndex < static_cast<long>(m_pRowList->size()) )
                {
@@ -1533,7 +1531,7 @@
        // - kein Eintrag vom Typ Memo oder Image ist
        // - kein DROP erlaubt ist (s.o.) und die Spalte noch kein Required 
(not null) gesetzt hatte.
        long nIndex = FirstSelectedRow();
-       OTableRow* pRow;
+        ::boost::shared_ptr<OTableRow>  pRow;
        while( nIndex >= 0 && nIndex < static_cast<long>(m_pRowList->size()) )
        {
                pRow = (*m_pRowList)[nIndex];
@@ -1701,7 +1699,7 @@
                // belegte Zeilen erscheinen
 
                sal_Int32 nFreeFromPos; // ab da nur freie Zeilen
-               ::std::vector<OTableRow*>::reverse_iterator aIter = 
m_pRowList->rbegin();
+               ::std::vector< ::boost::shared_ptr<OTableRow> 
>::reverse_iterator aIter = m_pRowList->rbegin();
                for(nFreeFromPos = m_pRowList->size();
                        aIter != m_pRowList->rend() && (!(*aIter) || 
!(*aIter)->GetActFieldDescr() || 
!(*aIter)->GetActFieldDescr()->GetName().getLength());
                        --nFreeFromPos, ++aIter)
@@ -1770,7 +1768,7 @@
        aDeletedPrimKeys.SetTotalRange( Range(0,GetRowCount()) );
        long nIndex = 0;
 
-       ::std::vector<OTableRow*>::const_iterator aIter = m_pRowList->begin();
+       ::std::vector< ::boost::shared_ptr<OTableRow> >::const_iterator aIter = 
m_pRowList->begin();
        for(;aIter != m_pRowList->end();++aIter)
        {
                OFieldDescription* pFieldDescr = (*aIter)->GetActFieldDescr();
@@ -1792,7 +1790,7 @@
                {
                        
//////////////////////////////////////////////////////////////////////
                        // Key setzen
-                       OTableRow* pRow = (*m_pRowList)[nIndex];
+                        ::boost::shared_ptr<OTableRow>  pRow = 
(*m_pRowList)[nIndex];
                        OFieldDescription* pFieldDescr = 
pRow->GetActFieldDescr();
                        if(pFieldDescr)
                                
AdjustFieldDescription(pFieldDescr,aInsertedPrimKeys,nIndex,sal_False,sal_True);
@@ -1821,7 +1819,7 @@
        //////////////////////////////////////////////////////////////////////
        // Gehoeren alle markierten Felder zu einem Primary Key ?
        long nPrimaryKeys = 0;
-       ::std::vector<OTableRow*>::const_iterator aIter = m_pRowList->begin();
+       ::std::vector< ::boost::shared_ptr<OTableRow> >::const_iterator aIter = 
m_pRowList->begin();
        for(sal_Int32 nRow=0;aIter != m_pRowList->end();++aIter,++nRow)
        {
                if( IsRowSelected(nRow) && !(*aIter)->IsPrimaryKey() )
@@ -1852,7 +1850,7 @@
         return;
        //////////////////////////////////////////////////////////////////////
        // Neue Beschreibung darstellen
-       OTableRow* pRow = (*m_pRowList)[nRow];
+        ::boost::shared_ptr<OTableRow>  pRow = (*m_pRowList)[nRow];
        pRow->SetFieldType( _pType, sal_True );
        if ( _pType.get() )
        {

File [changed]: TEditControl.hxx
Url: 
http://dba.openoffice.org/source/browse/dba/dbaccess/source/ui/tabledesign/TEditControl.hxx?r1=1.15&r2=1.15.4.1
Delta lines:  +8 -8
-------------------
--- TEditControl.hxx    29 Mar 2006 12:39:58 -0000      1.15
+++ TEditControl.hxx    13 Apr 2006 13:57:19 -0000      1.15.4.1
@@ -4,9 +4,9 @@
  *
  *  $RCSfile: TEditControl.hxx,v $
  *
- *  $Revision: 1.15 $
+ *  $Revision: 1.15.4.1 $
  *
- *  last change: $Author: obo $ $Date: 2006/03/29 12:39:58 $
+ *  last change: $Author: oj $ $Date: 2006/04/13 13:57:19 $
  *
  *  The Contents of this file are made available subject to
  *  the terms of GNU Lesser General Public License Version 2.1.
@@ -70,8 +70,8 @@
                        NONE
                };
 
-               ::std::vector<OTableRow*>       m_aUndoList;
-               ::std::vector<OTableRow*>*      m_pRowList;
+               ::std::vector< ::boost::shared_ptr<OTableRow> > m_aUndoList;
+               ::std::vector< ::boost::shared_ptr<OTableRow> >*        
m_pRowList;
 
                EEditMode                                       eEditMode;
                                                                        
@@ -80,7 +80,7 @@
                Edit*                                           pDescrCell;
                OTableFieldDescWin*                     pDescrWin;              
        // properties of one column
                
-               OTableRow*                                      pActRow;
+                ::boost::shared_ptr<OTableRow> pActRow;
 
                ULONG                                           nIndexEvent;
                ULONG                                           nCutEvent;
@@ -174,9 +174,9 @@
 
                virtual OTableDesignView* GetView() const;
 
-               ::std::vector<OTableRow*>* GetRowList(){ return m_pRowList; }
+               ::std::vector< ::boost::shared_ptr<OTableRow> >* GetRowList(){ 
return m_pRowList; }
 
-               OTableRow*              GetActRow(){ return pActRow; }
+                ::boost::shared_ptr<OTableRow>                 GetActRow(){ 
return pActRow; }
                void                    CellModified( long nRow, USHORT nColId 
);
                void                    SetReadOnly( BOOL bRead=TRUE );
 

File [changed]: TableController.cxx
Url: 
http://dba.openoffice.org/source/browse/dba/dbaccess/source/ui/tabledesign/TableController.cxx?r1=1.101&r2=1.101.2.1
Delta lines:  +33 -33
---------------------
--- TableController.cxx 29 Mar 2006 12:40:09 -0000      1.101
+++ TableController.cxx 13 Apr 2006 13:57:19 -0000      1.101.2.1
@@ -4,9 +4,9 @@
  *
  *  $RCSfile: TableController.cxx,v $
  *
- *  $Revision: 1.101 $
+ *  $Revision: 1.101.2.1 $
  *
- *  last change: $Author: obo $ $Date: 2006/03/29 12:40:09 $
+ *  last change: $Author: oj $ $Date: 2006/04/13 13:57:19 $
  *
  *  The Contents of this file are made available subject to
  *  the terms of GNU Lesser General Public License Version 2.1.
@@ -156,6 +156,7 @@
 #ifndef DBAUI_TOOLS_HXX
 #include "UITools.hxx"
 #endif
+#include <boost/mem_fn.hpp>
 
 extern "C" void SAL_CALL createRegistryInfo_OTableControl()
 {
@@ -192,9 +193,9 @@
                }
        }
        
//------------------------------------------------------------------------------
-       struct OTableRowCompare : public ::std::binary_function< OTableRow*, 
::rtl::OUString, bool>
+       struct OTableRowCompare : public ::std::binary_function<  
::boost::shared_ptr<OTableRow> , ::rtl::OUString, bool>
        {
-               bool operator() (const OTableRow* lhs, const ::rtl::OUString& 
rhs) const 
+               bool operator() (const  ::boost::shared_ptr<OTableRow>  lhs, 
const ::rtl::OUString& rhs) const 
                {
                        OFieldDescription* pField = lhs->GetActFieldDescr();
                        return pField && pField->GetName() == rhs;
@@ -277,9 +278,7 @@
        OTableController_BASE::disposing();
        m_pView         = NULL;
 
-       ::std::vector<OTableRow*>::iterator aIter = m_vRowList.begin();
-       for(;aIter != m_vRowList.end();++aIter)
-               delete *aIter;
+    m_vRowList.clear();
 }
 // 
-----------------------------------------------------------------------------
 FeatureState OTableController::GetState(sal_uInt16 _nId) const
@@ -300,7 +299,8 @@
                        aReturn.bEnabled = isModified();
                        if ( aReturn.bEnabled )
                        {
-                               ::std::vector<OTableRow*>::const_iterator aIter 
= 
::std::find_if(m_vRowList.begin(),m_vRowList.end(),::std::mem_fun(&OTableRow::isValid));
+                               ::std::vector< ::boost::shared_ptr<OTableRow> 
>::const_iterator aIter = ::std::find_if(m_vRowList.begin(),m_vRowList.end(),
+                    ::boost::mem_fn(&OTableRow::isValid));
                                aReturn.bEnabled = aIter != m_vRowList.end();
                        }
                        break;
@@ -308,7 +308,8 @@
                        aReturn.bEnabled = isConnected() && isEditable();
                        if ( aReturn.bEnabled )
                        {
-                               ::std::vector<OTableRow*>::const_iterator aIter 
= 
::std::find_if(m_vRowList.begin(),m_vRowList.end(),::std::mem_fun(&OTableRow::isValid));
+                               ::std::vector< ::boost::shared_ptr<OTableRow> 
>::const_iterator aIter = ::std::find_if(m_vRowList.begin(),m_vRowList.end(),
+                    ::boost::mem_fn(&OTableRow::isValid));
                                aReturn.bEnabled = aIter != m_vRowList.end();
                        }
                        break;
@@ -331,7 +332,8 @@
                                );
                        if ( aReturn.bEnabled )
                        {
-                               ::std::vector<OTableRow*>::const_iterator aIter 
= 
::std::find_if(m_vRowList.begin(),m_vRowList.end(),::std::mem_fun(&OTableRow::isValid));
+                               ::std::vector< ::boost::shared_ptr<OTableRow> 
>::const_iterator aIter = ::std::find_if(m_vRowList.begin(),m_vRowList.end(),
+                    ::boost::mem_fn(&OTableRow::isValid));
                                aReturn.bEnabled = aIter != m_vRowList.end();
                        }
                        break;
@@ -703,7 +705,8 @@
        sal_Bool bCheck = sal_True;
        if ( isModified() )
        {
-               ::std::vector<OTableRow*>::iterator aIter = 
::std::find_if(m_vRowList.begin(),m_vRowList.end(),::std::mem_fun(&OTableRow::isValid));
+               ::std::vector< ::boost::shared_ptr<OTableRow> >::iterator aIter 
= ::std::find_if(m_vRowList.begin(),m_vRowList.end(),
+            ::boost::mem_fn(&OTableRow::isValid));
                if ( aIter != m_vRowList.end() )
                {
                        QueryBox aQry(getView(), 
ModuleRes(TABLE_DESIGN_SAVEMODIFIED));
@@ -847,8 +850,8 @@
                Reference<XAppend> xAppend(xColumns,UNO_QUERY);
                OSL_ENSURE(xAppend.is(),"No XAppend Interface!");
 
-               ::std::vector<OTableRow*>::iterator aIter = m_vRowList.begin();
-               ::std::vector<OTableRow*>::iterator aEnd = m_vRowList.end();
+               ::std::vector< ::boost::shared_ptr<OTableRow> >::iterator aIter 
= m_vRowList.begin();
+               ::std::vector< ::boost::shared_ptr<OTableRow> >::iterator aEnd 
= m_vRowList.end();
                for(;aIter != aEnd;++aIter)
                {
                        OSL_ENSURE(*aIter,"OTableRow is null!");
@@ -924,12 +927,9 @@
 {
        //////////////////////////////////////////////////////////////////////
        // Wenn Datenstruktur bereits vorhanden, Struktur leeren
-       ::std::vector<OTableRow*>::iterator aIter = m_vRowList.begin();
-       for(;aIter != m_vRowList.end();++aIter)
-               delete *aIter;
        m_vRowList.clear();
 
-       OTableRow* pTabEdRow = NULL;
+       ::boost::shared_ptr<OTableRow>  pTabEdRow;
        Reference< XDatabaseMetaData> xMetaData = getMetaData( );
        //////////////////////////////////////////////////////////////////////
        // Datenstruktur mit Daten aus DatenDefinitionsObjekt fuellen
@@ -986,7 +986,7 @@
                        
if(xColumn->getPropertySetInfo()->hasPropertyByName(PROPERTY_ALIGN))
                                xColumn->getPropertyValue(PROPERTY_ALIGN)       
        >>= nAlign;
 
-                       pTabEdRow = new OTableRow();
+                       pTabEdRow.reset(new OTableRow());
                        pTabEdRow->SetReadOnly(!bIsAlterAllowed);
                        // search for type
                        sal_Bool bForce;
@@ -1027,7 +1027,7 @@
 
                        for(;pKeyBegin != pKeyEnd;++pKeyBegin)
                        {
-                               ::std::vector<OTableRow*>::iterator aIter = 
m_vRowList.begin();
+                               ::std::vector< ::boost::shared_ptr<OTableRow> 
>::iterator aIter = m_vRowList.begin();
                                for(;aIter != m_vRowList.end();++aIter)
                                {
                                        
if((*aIter)->GetActFieldDescr()->GetName() == *pKeyBegin)
@@ -1052,7 +1052,7 @@
        bool bReadRow = !isAddAllowed();
        for(sal_Int32 i=m_vRowList.size(); i<128; i++ )
        {
-               pTabEdRow = new OTableRow();
+               pTabEdRow.reset(new OTableRow());
                pTabEdRow->SetReadOnly(bReadRow);
                m_vRowList.push_back( pTabEdRow);
        }
@@ -1102,7 +1102,7 @@
        Reference< XDatabaseMetaData> xMetaData = getMetaData( );
 
        ::comphelper::UStringMixEqual bCase(xMetaData.is() ? 
xMetaData->supportsMixedCaseQuotedIdentifiers() : sal_True);
-       ::std::vector<OTableRow*>::const_iterator aIter = m_vRowList.begin();
+       ::std::vector< ::boost::shared_ptr<OTableRow> >::const_iterator aIter = 
m_vRowList.begin();
        for(;aIter != m_vRowList.end();++aIter)
        {
                OFieldDescription* pFieldDesc = (*aIter)->GetActFieldDescr();
@@ -1112,7 +1112,7 @@
                        sal_uInt16 nErrorRes = sal_uInt16(-1);
                        sal_uInt16 nFieldPos = sal_uInt16(-1);
                        // first check for duplicate names
-                       ::std::vector<OTableRow*>::const_iterator aIter2 = 
aIter+1;
+                       ::std::vector< ::boost::shared_ptr<OTableRow> 
>::const_iterator aIter2 = aIter+1;
                        for(;aIter2 != m_vRowList.end();++aIter2)
                        {
                                OFieldDescription* pCompareDesc = 
(*aIter2)->GetActFieldDescr();
@@ -1140,7 +1140,7 @@
 
                        if (nReturn == RET_YES)
                        {
-                               OTableRow* pNewRow = new OTableRow();
+                               ::boost::shared_ptr<OTableRow>  pNewRow(new 
OTableRow());
                                TOTypeInfoSP pTypeInfo = 
::dbaui::queryPrimaryKeyType(m_aTypeInfo);
                                
                                if ( pTypeInfo.get() )
@@ -1190,8 +1190,8 @@
 
 
        ::std::map< ::rtl::OUString,sal_Bool,::comphelper::UStringMixLess> 
aColumns(xMetaData.is() ? (xMetaData->supportsMixedCaseQuotedIdentifiers() ? 
true : false): sal_True);
-       ::std::vector<OTableRow*>::iterator aIter = m_vRowList.begin();
-       ::std::vector<OTableRow*>::iterator aEnd = m_vRowList.end();
+       ::std::vector< ::boost::shared_ptr<OTableRow> >::iterator aIter = 
m_vRowList.begin();
+       ::std::vector< ::boost::shared_ptr<OTableRow> >::iterator aEnd = 
m_vRowList.end();
        // first look for columns where something other than the name changed
        for(sal_Int32 nPos = 0;aIter != aEnd;++aIter,++nPos)
        {
@@ -1500,8 +1500,8 @@
                                xKeyColumns = NULL;
                                Reference<XDrop> xDrop(xKeys,UNO_QUERY);
                                xDrop->dropByIndex(i); // delete the key
-                               ::std::vector<OTableRow*>::iterator aIter = 
m_vRowList.begin();
-                               ::std::vector<OTableRow*>::iterator aEnd = 
m_vRowList.end();
+                               ::std::vector< ::boost::shared_ptr<OTableRow> 
>::iterator aIter = m_vRowList.begin();
+                               ::std::vector< ::boost::shared_ptr<OTableRow> 
>::iterator aEnd = m_vRowList.end();
                                for(;aIter != aEnd;++aIter)
                                {
                                        OSL_ENSURE(*aIter,"OTableRow is null!");
@@ -1546,7 +1546,7 @@
                                setEditable( xMeta.is() && !xMeta->isReadOnly() 
&& (isAlterAllowed() || isDropAllowed() || isAddAllowed()) );
                                if(!isEditable())
                                {
-                                       ::std::vector<OTableRow*>::iterator 
aIter = m_vRowList.begin();
+                                       ::std::vector< 
::boost::shared_ptr<OTableRow> >::iterator aIter = m_vRowList.begin();
                                        for(; aIter != m_vRowList.end(); 
++aIter)
                                                (*aIter)->SetReadOnly(sal_True);
                                }
@@ -1598,7 +1598,7 @@
 {
        sal_Bool bAlterAllowed  = isAlterAllowed();
        sal_Bool bAddAllowed    = isAddAllowed();
-       ::std::vector<OTableRow*>::iterator aIter = m_vRowList.begin();
+       ::std::vector< ::boost::shared_ptr<OTableRow> >::iterator aIter = 
m_vRowList.begin();
        for(;aIter != m_vRowList.end();++aIter)
        {
                OSL_ENSURE(*aIter,"OTableRow is null!");
@@ -1622,7 +1622,7 @@
 
        ::comphelper::UStringMixEqual bCase(xMetaData.is() ? 
xMetaData->supportsMixedCaseQuotedIdentifiers() : sal_True);
 
-       ::std::vector<OTableRow*>::const_iterator aIter = m_vRowList.begin();
+       ::std::vector< ::boost::shared_ptr<OTableRow> >::const_iterator aIter = 
m_vRowList.begin();
        for(sal_Int32 i=0;aIter != m_vRowList.end();++aIter)
        {
                OFieldDescription* pFieldDesc = (*aIter)->GetActFieldDescr();
@@ -1677,8 +1677,8 @@
 sal_Int32 OTableController::getFirstEmptyRowPosition() const
 {
        sal_Int32 nRet = -1;
-       ::std::vector<OTableRow*>::const_iterator aIter = m_vRowList.begin();
-       ::std::vector<OTableRow*>::const_iterator aEnd = m_vRowList.end();
+       ::std::vector< ::boost::shared_ptr<OTableRow> >::const_iterator aIter = 
m_vRowList.begin();
+       ::std::vector< ::boost::shared_ptr<OTableRow> >::const_iterator aEnd = 
m_vRowList.end();
        for(;aIter != aEnd;++aIter)
        {
                if ( !*aIter || !(*aIter)->GetActFieldDescr() || 
!(*aIter)->GetActFieldDescr()->GetName().getLength() )

File [changed]: TableDesignView.cxx
Url: 
http://dba.openoffice.org/source/browse/dba/dbaccess/source/ui/tabledesign/TableDesignView.cxx?r1=1.26&r2=1.26.4.1
Delta lines:  +5 -5
-------------------
--- TableDesignView.cxx 29 Mar 2006 12:40:48 -0000      1.26
+++ TableDesignView.cxx 13 Apr 2006 13:57:19 -0000      1.26.4.1
@@ -4,9 +4,9 @@
  *
  *  $RCSfile: TableDesignView.cxx,v $
  *
- *  $Revision: 1.26 $
+ *  $Revision: 1.26.4.1 $
  *
- *  last change: $Author: obo $ $Date: 2006/03/29 12:40:48 $
+ *  last change: $Author: oj $ $Date: 2006/04/13 13:57:19 $
  *
  *  The Contents of this file are made available subject to
  *  the terms of GNU Lesser General Public License Version 2.1.
@@ -305,7 +305,7 @@
        }
        else
        {
-               OTableRow* pRow = 
(*GetEditorCtrl()->GetRowList())[GetEditorCtrl()->GetCurRow()];
+                ::boost::shared_ptr<OTableRow>  pRow = 
(*GetEditorCtrl()->GetRowList())[GetEditorCtrl()->GetCurRow()];
                OFieldDescription* pFieldDescr = pRow ? 
pRow->GetActFieldDescr() : NULL;
                if ( pFieldDescr )
                        GetDescWin()->GrabFocus();
@@ -398,7 +398,7 @@
 void OTableDesignView::reSync()
 {
        GetEditorCtrl()->DeactivateCell();
-       OTableRow* pRow = 
(*GetEditorCtrl()->GetRowList())[GetEditorCtrl()->GetCurRow()];
+        ::boost::shared_ptr<OTableRow>  pRow = 
(*GetEditorCtrl()->GetRowList())[GetEditorCtrl()->GetCurRow()];
        OFieldDescription* pFieldDescr = pRow ? pRow->GetActFieldDescr() : NULL;
        if ( pFieldDescr )
                GetDescWin()->DisplayData(pFieldDescr);

File [changed]: TableFieldControl.cxx
Url: 
http://dba.openoffice.org/source/browse/dba/dbaccess/source/ui/tabledesign/TableFieldControl.cxx?r1=1.9&r2=1.9.110.1
Delta lines:  +4 -4
-------------------
--- TableFieldControl.cxx       8 Sep 2005 16:41:26 -0000       1.9
+++ TableFieldControl.cxx       13 Apr 2006 13:57:19 -0000      1.9.110.1
@@ -4,9 +4,9 @@
  *
  *  $RCSfile: TableFieldControl.cxx,v $
  *
- *  $Revision: 1.9 $
+ *  $Revision: 1.9.110.1 $
  *
- *  last change: $Author: rt $ $Date: 2005/09/08 16:41:26 $
+ *  last change: $Author: oj $ $Date: 2006/04/13 13:57:19 $
  *
  *  The Contents of this file are made available subject to
  *  the terms of GNU Lesser General Public License Version 2.1.
@@ -96,7 +96,7 @@
                        bRead = sal_True;
                else
                {
-                       OTableRow* pCurRow = GetCtrl()->GetActRow();
+                        ::boost::shared_ptr<OTableRow>  pCurRow = 
GetCtrl()->GetActRow();
                        if( pCurRow )
                                bRead = pCurRow->IsReadOnly();
                }

File [changed]: TableRowExchange.cxx
Url: 
http://dba.openoffice.org/source/browse/dba/dbaccess/source/ui/tabledesign/TableRowExchange.cxx?r1=1.2&r2=1.2.110.1
Delta lines:  +7 -10
--------------------
--- TableRowExchange.cxx        8 Sep 2005 16:42:50 -0000       1.2
+++ TableRowExchange.cxx        13 Apr 2006 13:57:19 -0000      1.2.110.1
@@ -4,9 +4,9 @@
  *
  *  $RCSfile: TableRowExchange.cxx,v $
  *
- *  $Revision: 1.2 $
+ *  $Revision: 1.2.110.1 $
  *
- *  last change: $Author: rt $ $Date: 2005/09/08 16:42:50 $
+ *  last change: $Author: oj $ $Date: 2006/04/13 13:57:19 $
  *
  *  The Contents of this file are made available subject to
  *  the terms of GNU Lesser General Public License Version 2.1.
@@ -49,7 +49,7 @@
 {
        using namespace ::com::sun::star::uno;
        using namespace ::com::sun::star::beans;
-       OTableRowExchange::OTableRowExchange(const ::std::vector<OTableRow*>& 
_rvTableRow)
+       OTableRowExchange::OTableRowExchange(const ::std::vector< 
::boost::shared_ptr<OTableRow> >& _rvTableRow)
                : m_vTableRow(_rvTableRow)
        {
        }
@@ -58,11 +58,11 @@
        {
                if(nUserObjectId == SOT_FORMATSTR_ID_SBA_TABED)
                {
-                       ::std::vector<OTableRow*>* pRows = reinterpret_cast< 
::std::vector<OTableRow*>* >(pUserObject);
+                       ::std::vector< ::boost::shared_ptr<OTableRow> >* pRows 
= reinterpret_cast< ::std::vector< ::boost::shared_ptr<OTableRow> >* 
>(pUserObject);
                        if(pRows)
                        {
                                (*rxOStm) << (sal_Int32)pRows->size(); // first 
stream the size
-                               ::std::vector<OTableRow*>::const_iterator aIter 
= pRows->begin();
+                               ::std::vector< ::boost::shared_ptr<OTableRow> 
>::const_iterator aIter = pRows->begin();
                                for(;aIter != pRows->end();++aIter)
                                        (*rxOStm) << *(*aIter);
                                return sal_True;
@@ -73,7 +73,7 @@
        // 
-----------------------------------------------------------------------------
        void OTableRowExchange::AddSupportedFormats()
        {
-               if(m_vTableRow.size())
+               if ( !m_vTableRow.empty() )
                        AddFormat(SOT_FORMATSTR_ID_SBA_TABED);
        }
        // 
-----------------------------------------------------------------------------
@@ -87,9 +87,6 @@
        // 
-----------------------------------------------------------------------------
        void OTableRowExchange::ObjectReleased()
        {
-               ::std::vector<OTableRow*>::iterator aIter = m_vTableRow.begin();
-               for(;aIter != m_vTableRow.end();++aIter)
-                       delete *aIter;
                m_vTableRow.clear();
        }
        // 
-----------------------------------------------------------------------------

File [changed]: TableUndo.cxx
Url: 
http://dba.openoffice.org/source/browse/dba/dbaccess/source/ui/tabledesign/TableUndo.cxx?r1=1.13&r2=1.13.108.1
Delta lines:  +27 -49
---------------------
--- TableUndo.cxx       8 Sep 2005 16:43:12 -0000       1.13
+++ TableUndo.cxx       13 Apr 2006 13:57:19 -0000      1.13.108.1
@@ -4,9 +4,9 @@
  *
  *  $RCSfile: TableUndo.cxx,v $
  *
- *  $Revision: 1.13 $
+ *  $Revision: 1.13.108.1 $
  *
- *  last change: $Author: rt $ $Date: 2005/09/08 16:43:12 $
+ *  last change: $Author: oj $ $Date: 2006/04/13 13:57:19 $
  *
  *  The Contents of this file are made available subject to
  *  the terms of GNU Lesser General Public License Version 2.1.
@@ -252,15 +252,15 @@
        DBG_CTOR(OTableEditorDelUndoAct,NULL);
        //////////////////////////////////////////////////////////////////////
        // DeletedRowList fuellen
-       ::std::vector<OTableRow*>* pOriginalRows = pOwner->GetRowList();
+       ::std::vector< ::boost::shared_ptr<OTableRow> >* pOriginalRows = 
pOwner->GetRowList();
        long nIndex = pOwner->FirstSelectedRow();
-       OTableRow* pOriginalRow;
-       OTableRow* pNewRow;
+        ::boost::shared_ptr<OTableRow>  pOriginalRow;
+        ::boost::shared_ptr<OTableRow>  pNewRow;
 
        while( nIndex >= 0 )
        {
                pOriginalRow = (*pOriginalRows)[nIndex];
-               pNewRow = new OTableRow( *pOriginalRow, nIndex );
+               pNewRow.reset(new OTableRow( *pOriginalRow, nIndex ));
                m_aDeletedRows.push_back( pNewRow);
 
                nIndex = pOwner->NextSelectedRow();
@@ -271,12 +271,6 @@
 OTableEditorDelUndoAct::~OTableEditorDelUndoAct()
 {
        DBG_DTOR(OTableEditorDelUndoAct,NULL);
-       //////////////////////////////////////////////////////////////////////
-       // DeletedRowList loeschen
-       ::std::vector<OTableRow*>::iterator aIter = m_aDeletedRows.begin();
-       for(;aIter != m_aDeletedRows.end();++aIter)
-               delete *aIter;
-
        m_aDeletedRows.clear(); 
 }
 
@@ -286,14 +280,14 @@
        //////////////////////////////////////////////////////////////////////
        // Geloeschte Zeilen wieder einfuegen
        ULONG nPos;
-       ::std::vector<OTableRow*>::iterator aIter = m_aDeletedRows.begin();
+       ::std::vector< ::boost::shared_ptr<OTableRow> >::iterator aIter = 
m_aDeletedRows.begin();
        
-       OTableRow* pNewOrigRow;
-       ::std::vector<OTableRow*>* pOriginalRows = pTabEdCtrl->GetRowList();
+        ::boost::shared_ptr<OTableRow>  pNewOrigRow;
+       ::std::vector< ::boost::shared_ptr<OTableRow> >* pOriginalRows = 
pTabEdCtrl->GetRowList();
 
        for(;aIter != m_aDeletedRows.end();++aIter)
        {
-               pNewOrigRow = new OTableRow( **aIter );
+               pNewOrigRow.reset(new OTableRow( **aIter ));
                nPos = (*aIter)->GetPos();
                pOriginalRows->insert( pOriginalRows->begin()+nPos,pNewOrigRow);
        }
@@ -308,13 +302,12 @@
        //////////////////////////////////////////////////////////////////////
        // Zeilen wieder loeschen
        ULONG nPos;
-       ::std::vector<OTableRow*>::iterator aIter = m_aDeletedRows.begin();
-       ::std::vector<OTableRow*>* pOriginalRows = pTabEdCtrl->GetRowList();
+       ::std::vector< ::boost::shared_ptr<OTableRow> >::iterator aIter = 
m_aDeletedRows.begin();
+       ::std::vector< ::boost::shared_ptr<OTableRow> >* pOriginalRows = 
pTabEdCtrl->GetRowList();
 
        for(;aIter != m_aDeletedRows.end();++aIter)
        {
                nPos = (*aIter)->GetPos();
-               delete (*pOriginalRows)[ nPos];
                pOriginalRows->erase( pOriginalRows->begin()+nPos );
        }
 
@@ -329,7 +322,7 @@
 DBG_NAME(OTableEditorInsUndoAct);
 OTableEditorInsUndoAct::OTableEditorInsUndoAct( OTableEditorCtrl* pOwner, 
                                                                                
           long nInsertPosition ,
-                                                                               
           const ::std::vector< OTableRow*>& _vInsertedRows) 
+                                                                               
           const ::std::vector<  ::boost::shared_ptr<OTableRow> >& 
_vInsertedRows) 
        :OTableEditorUndoAct( pOwner,STR_TABED_UNDO_ROWINSERTED )
        ,m_nInsPos( nInsertPosition )
        ,m_vInsertedRows(_vInsertedRows)
@@ -341,12 +334,6 @@
 OTableEditorInsUndoAct::~OTableEditorInsUndoAct()
 {
        DBG_DTOR(OTableEditorInsUndoAct,NULL);
-       //////////////////////////////////////////////////////////////////////
-       // InsertedRowList loeschen
-       ::std::vector<OTableRow*>::iterator aIter = m_vInsertedRows.begin();
-       for(;aIter != m_vInsertedRows.end();++aIter)
-               delete *aIter;
-
        m_vInsertedRows.clear();        
 }
 
@@ -355,10 +342,9 @@
 {
        //////////////////////////////////////////////////////////////////////
        // Eingefuegte Zeilen wieder loeschen
-       ::std::vector<OTableRow*>* pOriginalRows = pTabEdCtrl->GetRowList();
+       ::std::vector< ::boost::shared_ptr<OTableRow> >* pOriginalRows = 
pTabEdCtrl->GetRowList();
        for( long i=(m_nInsPos+m_vInsertedRows.size()-1); i>(m_nInsPos-1); i-- )
        {
-               delete (*pOriginalRows)[i];
                pOriginalRows->erase(pOriginalRows->begin()+i);
        }
 
@@ -374,12 +360,12 @@
        //////////////////////////////////////////////////////////////////////
        // Zeilen wieder einfuegen
        long nInsertRow = m_nInsPos;
-       OTableRow* pRow;
-       ::std::vector<OTableRow*>::iterator aIter = m_vInsertedRows.begin();
-       ::std::vector<OTableRow*>* pRowList = pTabEdCtrl->GetRowList();
+        ::boost::shared_ptr<OTableRow>  pRow;
+       ::std::vector< ::boost::shared_ptr<OTableRow> >::iterator aIter = 
m_vInsertedRows.begin();
+       ::std::vector< ::boost::shared_ptr<OTableRow> >* pRowList = 
pTabEdCtrl->GetRowList();
        for(;aIter != m_vInsertedRows.end();++aIter)
        {
-               pRow = new OTableRow( **aIter );
+               pRow.reset(new OTableRow( **aIter ));
                pRowList->insert( pRowList->begin()+nInsertRow ,pRow );
                nInsertRow++;
        }
@@ -413,11 +399,10 @@
 {
        //////////////////////////////////////////////////////////////////////
        // Eingefuegte Zeilen wieder loeschen
-       ::std::vector<OTableRow*>* pOriginalRows = pTabEdCtrl->GetRowList();
+       ::std::vector< ::boost::shared_ptr<OTableRow> >* pOriginalRows = 
pTabEdCtrl->GetRowList();
 
        for( long i=(m_nInsPos+m_nInsRows-1); i>(m_nInsPos-1); i-- )
        {
-               delete (*pOriginalRows)[i];
                pOriginalRows->erase(pOriginalRows->begin()+i);
        }
 
@@ -432,10 +417,10 @@
 {
        //////////////////////////////////////////////////////////////////////
        // Zeilen wieder einfuegen
-       ::std::vector<OTableRow*>* pRowList = pTabEdCtrl->GetRowList();
+       ::std::vector< ::boost::shared_ptr<OTableRow> >* pRowList = 
pTabEdCtrl->GetRowList();
 
        for( long i=m_nInsPos; i<(m_nInsPos+m_nInsRows); i++ )
-               pRowList->insert( pRowList->begin()+i,new OTableRow() );
+               pRowList->insert( 
pRowList->begin()+i,::boost::shared_ptr<OTableRow>(new OTableRow()) );
 
        pTabEdCtrl->RowInserted( m_nInsPos, m_nInsRows, TRUE );
        pTabEdCtrl->InvalidateHandleColumn();
@@ -467,8 +452,8 @@
 //-------------------------------------------------------------------------
 void OPrimKeyUndoAct::Undo()
 {
-       ::std::vector<OTableRow*>* pRowList = pTabEdCtrl->GetRowList();
-       OTableRow* pRow = NULL;
+       ::std::vector< ::boost::shared_ptr<OTableRow> >* pRowList = 
pTabEdCtrl->GetRowList();
+       ::boost::shared_ptr<OTableRow>  pRow;
        long nIndex;
 
        //////////////////////////////////////////////////////////////////////
@@ -496,25 +481,18 @@
 //-------------------------------------------------------------------------
 void OPrimKeyUndoAct::Redo()
 {
-       ::std::vector<OTableRow*>* pRowList = pTabEdCtrl->GetRowList();
-       OTableRow* pRow = NULL;
+       ::std::vector< ::boost::shared_ptr<OTableRow> >* pRowList = 
pTabEdCtrl->GetRowList();
        long nIndex;
 
        //////////////////////////////////////////////////////////////////////
        // Die geloeschten Keys loeschen
        for( nIndex = m_aDelKeys.FirstSelected(); nIndex != SFX_ENDOFSELECTION; 
nIndex=m_aDelKeys.NextSelected() )
-       {
-               pRow = (*pRowList)[nIndex];
-               pRow->SetPrimaryKey( FALSE );
-       }
+               (*pRowList)[nIndex]->SetPrimaryKey( FALSE );
 
        //////////////////////////////////////////////////////////////////////
        // Die eingefuegten Keys herstellen
        for( nIndex = m_aInsKeys.FirstSelected(); nIndex != SFX_ENDOFSELECTION; 
nIndex=m_aInsKeys.NextSelected() )
-       {
-               pRow = (*pRowList)[nIndex];
-               pRow->SetPrimaryKey( TRUE );
-       }
+               (*pRowList)[nIndex]->SetPrimaryKey( TRUE );
 
        m_pEditorCtrl->InvalidateHandleColumn();
        OTableEditorUndoAct::Redo();

File [changed]: TableUndo.hxx
Url: 
http://dba.openoffice.org/source/browse/dba/dbaccess/source/ui/tabledesign/TableUndo.hxx?r1=1.6&r2=1.6.108.1
Delta lines:  +6 -6
-------------------
--- TableUndo.hxx       8 Sep 2005 16:43:26 -0000       1.6
+++ TableUndo.hxx       13 Apr 2006 13:57:19 -0000      1.6.108.1
@@ -4,9 +4,9 @@
  *
  *  $RCSfile: TableUndo.hxx,v $
  *
- *  $Revision: 1.6 $
+ *  $Revision: 1.6.108.1 $
  *
- *  last change: $Author: rt $ $Date: 2005/09/08 16:43:26 $
+ *  last change: $Author: oj $ $Date: 2006/04/13 13:57:19 $
  *
  *  The Contents of this file are made available subject to
  *  the terms of GNU Lesser General Public License Version 2.1.
@@ -122,7 +122,7 @@
        class OTableEditorDelUndoAct : public OTableEditorUndoAct
        {
        protected:
-               ::std::vector<OTableRow*>       m_aDeletedRows;
+               ::std::vector< ::boost::shared_ptr<OTableRow> > m_aDeletedRows;
 
                virtual void    Undo();
                virtual void    Redo();
@@ -136,7 +136,7 @@
        class OTableEditorInsUndoAct : public OTableEditorUndoAct
        {
        protected:
-               ::std::vector<OTableRow*>       m_vInsertedRows;
+               ::std::vector< ::boost::shared_ptr<OTableRow> > m_vInsertedRows;
                long                                            m_nInsPos;
 
                virtual void    Undo();
@@ -145,7 +145,7 @@
        TYPEINFO();
                OTableEditorInsUndoAct( OTableEditorCtrl* pOwner, 
                                                                long 
nInsertPosition,
-                                                               const 
::std::vector< OTableRow*>& _vInsertedRows);
+                                                               const 
::std::vector<  ::boost::shared_ptr<OTableRow> >& _vInsertedRows);
                virtual ~OTableEditorInsUndoAct();
        };
 




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

Reply via email to