summaryrefslogtreecommitdiff
path: root/dbaccess
diff options
context:
space:
mode:
authorLionel Elie Mamane <lionel@mamane.lu>2012-09-13 16:24:38 +0200
committerLionel Elie Mamane <lionel@mamane.lu>2012-09-13 16:33:30 +0200
commit522b4c65dcc90719288b4f7aa7eb565c15b64e86 (patch)
tree3df942cc13fda42756fadaa4a49d8690c6db9600 /dbaccess
parent9748670e040e993d66eb777225772e62d0ca2b4e (diff)
fdo#37529 clear DataColumns read-only information when we clear DataColumns
Change-Id: I6f3b4f1646df1244d97ae98f56ba054bc26e3314
Diffstat (limited to 'dbaccess')
-rw-r--r--dbaccess/source/core/api/RowSet.cxx3
1 files changed, 3 insertions, 0 deletions
diff --git a/dbaccess/source/core/api/RowSet.cxx b/dbaccess/source/core/api/RowSet.cxx
index 7b21b40e5591..c2e4959527bd 100644
--- a/dbaccess/source/core/api/RowSet.cxx
+++ b/dbaccess/source/core/api/RowSet.cxx
@@ -558,6 +558,8 @@ void ORowSet::freeResources( bool _bComplete )
// the columns must be disposed before the querycomposer is disposed because
// their owner can be the composer
TDataColumns().swap(m_aDataColumns);// clear and resize capacity
+ ::std::vector<bool>().swap(m_aReadOnlyDataColumns);
+
m_xColumns = NULL;
if ( m_pColumns )
m_pColumns->disposing();
@@ -1239,6 +1241,7 @@ void ORowSet::impl_setDataColumnsWriteable_throw()
void ORowSet::impl_restoreDataColumnsWriteable_throw()
{
+ assert(m_aDataColumns.size() == m_aReadOnlyDataColumns.size() || m_aReadOnlyDataColumns.size() == 0 );
TDataColumns::iterator aIter = m_aDataColumns.begin();
::std::vector<bool, std::allocator<bool> >::iterator aReadIter = m_aReadOnlyDataColumns.begin();
for(;aReadIter != m_aReadOnlyDataColumns.end();++aIter,++aReadIter)