summaryrefslogtreecommitdiff
path: root/dbaccess/source/core/api/RowSetBase.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'dbaccess/source/core/api/RowSetBase.cxx')
-rw-r--r--dbaccess/source/core/api/RowSetBase.cxx6
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&)