diff options
author | Lionel Elie Mamane <lionel@mamane.lu> | 2012-09-13 16:24:38 +0200 |
---|---|---|
committer | Miklos Vajna <vmiklos@suse.cz> | 2012-09-17 09:44:20 +0200 |
commit | 4c700dfc0b3909b11a0711c2d64c779fab19070b (patch) | |
tree | 26c74d3dd62229c434eb070bd6e6df7670583583 | |
parent | 3d2a4ea716f0072a539d9810bf0f5d60167c99e1 (diff) |
fdo#37529 clear DataColumns read-only information when we clear DataColumns
Change-Id: I6f3b4f1646df1244d97ae98f56ba054bc26e3314
(cherry picked from commit 522b4c65dcc90719288b4f7aa7eb565c15b64e86)
Signed-off-by: Miklos Vajna <vmiklos@suse.cz>
-rw-r--r-- | dbaccess/source/core/api/RowSet.cxx | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/dbaccess/source/core/api/RowSet.cxx b/dbaccess/source/core/api/RowSet.cxx index c14a4b040d78..dcb8d2fc2bcd 100644 --- a/dbaccess/source/core/api/RowSet.cxx +++ b/dbaccess/source/core/api/RowSet.cxx @@ -571,6 +571,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(); @@ -1252,6 +1254,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) |