diff options
Diffstat (limited to 'dbaccess/source/core/api/RowSetBase.cxx')
-rw-r--r-- | dbaccess/source/core/api/RowSetBase.cxx | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/dbaccess/source/core/api/RowSetBase.cxx b/dbaccess/source/core/api/RowSetBase.cxx index d9530cb86..bbd2e825a 100644 --- a/dbaccess/source/core/api/RowSetBase.cxx +++ b/dbaccess/source/core/api/RowSetBase.cxx @@ -226,7 +226,10 @@ void SAL_CALL ORowSetBase::disposing(void) m_pColumns->disposing(); } if ( m_pCache ) + { m_pCache->deregisterOldRow(m_aOldRow); + m_pCache->deleteIterator(this); + } m_pCache = NULL; } // ------------------------------------------------------------------------- @@ -1322,7 +1325,8 @@ void ORowSetBase::firePropertyChange(const ORowSetRow& _rOldRow) sal_Int32 i=0; try { - for(TDataColumns::iterator aIter = m_aDataColumns.begin();aIter != m_aDataColumns.end();++aIter,++i) // #104278# OJ ++i inserted + TDataColumns::iterator aEnd = m_aDataColumns.end(); + for(TDataColumns::iterator aIter = m_aDataColumns.begin();aIter != aEnd;++aIter,++i) // #104278# OJ ++i inserted (*aIter)->fireValueChange(_rOldRow.isValid() ? (_rOldRow->get())[i+1] : ::connectivity::ORowSetValue()); } catch(Exception&) |