summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLionel Elie Mamane <lionel@mamane.lu>2012-09-13 16:24:38 +0200
committerMichael Stahl <mstahl@redhat.com>2012-09-13 14:45:00 +0000
commit77e0a04561f271d87a14d6a8b6bfe20c93ef7e5d (patch)
treec004e59b97d9b855b2419e2c40968fd554eb943b
parent525127d5b605bf34a8ff0b71f4b169fa7b72c435 (diff)
fdo#37529 clear DataColumns read-only information when we clear DataColumns
Change-Id: I6f3b4f1646df1244d97ae98f56ba054bc26e3314 Reviewed-on: https://gerrit.libreoffice.org/608 Reviewed-by: Michael Stahl <mstahl@redhat.com> Tested-by: Michael Stahl <mstahl@redhat.com>
-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 afad13c2a387..06a84a827946 100644
--- a/dbaccess/source/core/api/RowSet.cxx
+++ b/dbaccess/source/core/api/RowSet.cxx
@@ -569,6 +569,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();
@@ -1250,6 +1252,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)