sc/source/core/data/dpfilteredcache.cxx | 5 +++++ 1 file changed, 5 insertions(+)
New commits: commit 6833f382c5c8350256e97e2b342eb939a8c373ba Author: Michael Meeks <michael.me...@collabora.com> Date: Fri Dec 18 22:37:19 2015 +0000 tdf#96588 - avoid redundant work on large numbers of trailing rows. No need to crunch the same data repeatedly for up to 1 million rows. Change-Id: Iab70187bc7ca5fc4c6c73810d6a8b76808073433 Reviewed-on: https://gerrit.libreoffice.org/20812 Reviewed-by: Michael Meeks <michael.me...@collabora.com> Tested-by: Michael Meeks <michael.me...@collabora.com> diff --git a/sc/source/core/data/dpfilteredcache.cxx b/sc/source/core/data/dpfilteredcache.cxx index 3d93d74..5714ad2 100644 --- a/sc/source/core/data/dpfilteredcache.cxx +++ b/sc/source/core/data/dpfilteredcache.cxx @@ -190,6 +190,11 @@ void ScDPFilteredCache::fillTable( SCROW nIndex = getCache().GetItemDataId(nCol, nRow, bRepeatIfEmpty); SCROW nOrder = getOrder(nCol, nIndex); aAdded[nOrder] = nIndex; + + // tdf#96588 - large numbers of trailing identical empty + // rows generate the same nIndex & nOrder. + if (nRow == nDataSize) + break; } for (SCROW nRow = 0; nRow < nMemCount; ++nRow) { _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits