Kaydet (Commit) 6b946f22 authored tarafından Lionel Elie Mamane's avatar Lionel Elie Mamane

fdo#47951 flat text table: update m_nRowPos when moving by bookmark

Change-Id: Iac154020b4b6309f92b1f68fa5bf79611dfcc91b
üst dab009a4
......@@ -863,15 +863,29 @@ sal_Bool OFlatTable::seekRow(IResultSetHelper::Movement eCursorPosition, sal_Int
break;
case IResultSetHelper::BOOKMARK:
{
m_nRowPos = 0;
TRowPositionsInFile::const_iterator aFind = m_aFilePosToEndLinePos.find(nOffset);
m_bNeedToReadLine = aFind != m_aFilePosToEndLinePos.end();
if ( m_bNeedToReadLine )
{
m_nFilePos = aFind->first;
nCurPos = aFind->second;
for(::std::map<sal_Int32, TRowPositionsInFile::iterator>::const_iterator p = m_aRowPosToFilePos.begin();
p != m_aRowPosToFilePos.end();
++p)
{
assert(p->second->first <= nOffset);
if(p->second->first == nOffset)
{
m_nRowPos = p->first;
break;
}
}
assert(m_nRowPos > 0);
}
else
{
assert(false);
m_nFilePos = nOffset;
m_pFileStream->Seek(nOffset);
if (m_pFileStream->IsEof() || !readLine(nCurPos) )
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment