[Libreoffice-commits] .: Branch 'libreoffice-3-5' - 2 commits - basic/source dbaccess/source
Michael Stahl
mst at kemper.freedesktop.org
Fri Jan 20 10:12:50 PST 2012
basic/source/sbx/sbxvalue.cxx | 15 +++++----------
dbaccess/source/core/api/RowSetCache.cxx | 2 --
2 files changed, 5 insertions(+), 12 deletions(-)
New commits:
commit fd29a786e3e94710d1e79c0a6c510491ef461302
Author: Lionel Elie Mamane <lionel at mamane.lu>
Date: Thu Jan 19 19:29:36 2012 +0100
fdo#44025: repair dbaccess::ORowSetCache::isLast() after matrix (re)fill
After filling matrix, *do* check if we hit the last row and update
m_nRowCount accordingly. Else, a subsequent isLast() will return true
on the last row of the prefetch window, even if it is not the last row
of the data. Thus the algorithm:
while ( ! pResultSet->isLast() )
{
//do stuff
pResultSet->next()
}
will stop too soon, which is exactly the symptom in fdo#44025.
Signed-off-by: Michael Stahl <mstahl at redhat.com>
diff --git a/dbaccess/source/core/api/RowSetCache.cxx b/dbaccess/source/core/api/RowSetCache.cxx
index 49f6368..272d260 100644
--- a/dbaccess/source/core/api/RowSetCache.cxx
+++ b/dbaccess/source/core/api/RowSetCache.cxx
@@ -803,7 +803,6 @@ sal_Bool ORowSetCache::fillMatrix(sal_Int32& _nNewStartPos,sal_Int32 _nNewEndPos
}
// we have to read one row forward to ensure that we know when we are on last row
// but only when we don't know it already
- /*
if(!m_bRowCountFinal)
{
if(!m_pCacheSet->next())
@@ -816,7 +815,6 @@ sal_Bool ORowSetCache::fillMatrix(sal_Int32& _nNewStartPos,sal_Int32 _nNewEndPos
m_nRowCount = std::max(i,m_nRowCount);
}
- */
return bCheck;
}
commit 7c18b784ce1e6a5e71e978cd3c896b2ddc73d649
Author: Noel Power <noel.power at novell.com>
Date: Fri Jan 20 17:13:41 2012 +0000
restore special DATE handling code for SbxValue::Compute fdo#44385
restore code that seemed to be erroneously moved as part of the currency enhancement feature
Signed-off-by: Michael Stahl <mstahl at redhat.com>
diff --git a/basic/source/sbx/sbxvalue.cxx b/basic/source/sbx/sbxvalue.cxx
index 2c36ce5..ed413d4 100644
--- a/basic/source/sbx/sbxvalue.cxx
+++ b/basic/source/sbx/sbxvalue.cxx
@@ -1264,16 +1264,6 @@ Lbl_OpIsDouble:
else aL.nDouble /= aR.nDouble; break;
case SbxPLUS:
aL.nDouble += aR.nDouble; break;
-#if 0
- // See 'break' on preceding line... this
- // is unreachable code. Do not delete this
- // #if 0 block unless you know for sure
- // the 'break' above is intentional.
-
- // #45465 Date needs with "+" a special handling: forces date type
- if( GetType() == SbxDATE || rOp.GetType() == SbxDATE )
- aL.eType = SbxDATE;
-#endif
case SbxMINUS:
aL.nDouble -= aR.nDouble; break;
case SbxNEG:
@@ -1282,6 +1272,11 @@ Lbl_OpIsDouble:
SetError( SbxERR_NOTIMP );
}
+ // #45465 Date needs with "+" a special handling: forces date type
+
+ if( eOp == SbxPLUS && (GetType() == SbxDATE || rOp.GetType() == SbxDATE ) )
+ aL.eType = SbxDATE;
+
}
}
More information about the Libreoffice-commits
mailing list