User: ihi     
Date: 2006/10/18 06:26:06

Modified:
   dba/dbaccess/source/core/api/RowSetCache.cxx

Log:
 INTEGRATION: CWS dba205b (1.87.4); FILE MERGED
 2006/09/04 11:57:29 oj 1.87.4.2: RESYNC: (1.87-1.89); FILE MERGED
 2006/08/11 06:14:18 oj 1.87.4.1: #i68280# check size of rowcache with keypos

File Changes:

Directory: /dba/dbaccess/source/core/api/
=========================================

File [changed]: RowSetCache.cxx
Url: 
http://dba.openoffice.org/source/browse/dba/dbaccess/source/core/api/RowSetCache.cxx?r1=1.91&r2=1.92
Delta lines:  +8 -3
-------------------
--- RowSetCache.cxx     12 Oct 2006 13:32:14 -0000      1.91
+++ RowSetCache.cxx     18 Oct 2006 13:26:03 -0000      1.92
@@ -434,8 +434,10 @@
                sal_Int32 nKeyPos = (m_aMatrixIter - m_pMatrix->begin());
                m_pMatrix->resize(_nSize);
 
-        CHECK_MATRIX_POS(nKeyPos);
+        if ( nKeyPos < _nSize )
                m_aMatrixIter = m_pMatrix->begin() + nKeyPos;
+        else
+            m_aMatrixIter = m_pMatrix->end();
                m_aMatrixEnd = m_pMatrix->end();
 
                // now adjust their positions because a resize invalid all 
iterators
@@ -448,7 +450,10 @@
                        if ( aPosChangeIter->second )
             {
                 CHECK_MATRIX_POS(*aIter);
+                if ( *aIter < _nSize )
                                aCacheIter->second.aIterator = 
m_pMatrix->begin() + *aIter++;
+                else
+                    aCacheIter->second.aIterator = m_pMatrix->end();
             }
                }
        }




---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to