[ooo-build-commit] .: 2 commits - patches/dev300
Katarina Machalkova
bubli at kemper.freedesktop.org
Wed Jul 21 03:33:35 PDT 2010
patches/dev300/apply | 2
patches/dev300/oox-build-fix-dev300-m77.diff | 2
patches/dev300/ooxml-sc-page-date-imp.diff | 6 -
patches/dev300/xlsx-shared-xlsx-export-perf-rowbuffer.diff | 65 ++++++++++---
4 files changed, 55 insertions(+), 20 deletions(-)
New commits:
commit dba4d5c7e24948f7251661ffe5f75fa8220404d5
Author: Katarina Machalkova <kmachalkova at suse.cz>
Date: Wed Jul 21 12:10:03 2010 +0200
Fixed context in makefile.mk
to respect the order in which patches are applied
* patches/dev300/oox-build-fix-dev300-m77.diff:
* patches/dev300/ooxml-sc-page-date-imp.diff:
diff --git a/patches/dev300/oox-build-fix-dev300-m77.diff b/patches/dev300/oox-build-fix-dev300-m77.diff
index d7f7e4a..f0f5791 100644
--- a/patches/dev300/oox-build-fix-dev300-m77.diff
+++ b/patches/dev300/oox-build-fix-dev300-m77.diff
@@ -176,9 +176,9 @@ index deb8dbb..c932dd3 100644
+ $(SVLLIB) \
+ $(UNOTOOLSLIB) \
+ $(MSFILTERLIB) \
+ $(XMLOFFLIB) \
$(TOOLSLIB)
- # link openssl, copied this bit from ucb/source/ucp/webdav/makefile.mk
--
1.7.0.1
diff --git a/patches/dev300/ooxml-sc-page-date-imp.diff b/patches/dev300/ooxml-sc-page-date-imp.diff
index b514fb8..b4bb02f 100644
--- a/patches/dev300/ooxml-sc-page-date-imp.diff
+++ b/patches/dev300/ooxml-sc-page-date-imp.diff
@@ -1,9 +1,9 @@
--- oox/util/makefile.mk 2010-06-03 03:22:23.000000000 +0530
+++ oox/util/makefile.mk 2010-07-16 13:39:27.000000000 +0530
@@ -77,6 +77,7 @@ SHL1STDLIBS= \
- $(SVLLIB) \
- $(UNOTOOLSLIB) \
- $(MSFILTERLIB) \
+ $(SVTOOLLIB) \
+ $(SVXCORELIB) \
+ $(SVXMSFILTERLIB) \
+ $(XMLOFFLIB) \
$(TOOLSLIB)
commit b674136d71b5e383b1d2feb3498dfc0c3a4b7bc4
Author: Katarina Machalkova <kmachalkova at suse.cz>
Date: Wed Jul 21 10:24:12 2010 +0200
Re-enabling xlsx-export-perf-rowbuffer patch
* patches/dev300/apply:
* patches/dev300/xlsx-shared-xlsx-export-perf-rowbuffer.diff:
diff --git a/patches/dev300/apply b/patches/dev300/apply
index 5e42d61..0f6c45a 100644
--- a/patches/dev300/apply
+++ b/patches/dev300/apply
@@ -3017,7 +3017,7 @@ xlsx-shared-oox-calc-export-sotstorage-init.diff, n#505917, janneke
xlsx-shared-xlsx-export-no-more-svstream-sotstorage.diff, n#566581, kohei
# Only process rows with non-empty cells, to improve performance.
-#FIXME xlsx-shared-xlsx-export-perf-rowbuffer.diff, n#558577, kohei
+xlsx-shared-xlsx-export-perf-rowbuffer.diff, n#558577, kohei
[ OOXMLExport ]
# hack to ignore writerfilter when odf-converter is present
diff --git a/patches/dev300/xlsx-shared-xlsx-export-perf-rowbuffer.diff b/patches/dev300/xlsx-shared-xlsx-export-perf-rowbuffer.diff
index 054feca..6383433 100644
--- a/patches/dev300/xlsx-shared-xlsx-export-perf-rowbuffer.diff
+++ b/patches/dev300/xlsx-shared-xlsx-export-perf-rowbuffer.diff
@@ -13,7 +13,7 @@ index 66a9e06..2abf6a4 100644
Export of cell tables including row and column description.
- Managing all used and formatted cells in a sheet.
@@ -1005,14 +1008,12 @@ private:
- XclExpRow& GetOrCreateRow( sal_uInt32 nXclRow, bool bRowAlwaysEmpty );
+ XclExpRow& GetOrCreateRow( sal_uInt16 nXclRow, bool bRowAlwaysEmpty );
private:
- typedef XclExpRecordList< XclExpRow > XclExpRowList;
@@ -27,7 +27,7 @@ index 66a9e06..2abf6a4 100644
XclExpRowOutlineBuffer maOutlineBfr; /// Buffer for row outline groups.
XclExpDimensions maDimensions; /// DIMENSIONS record for used area.
- XclExpRow* mpLastUsedRow; /// Last used row for faster access.
-- sal_uInt32 mnLastUsedXclRow; /// Last used row for faster access.
+- sal_uInt16 mnLastUsedXclRow; /// Last used row for faster access.
};
// ============================================================================
@@ -35,14 +35,6 @@ diff --git sc/source/filter/excel/xetable.cxx sc/source/filter/excel/xetable.cxx
index 36de8e5..6abe5b5 100644
--- sc/source/filter/excel/xetable.cxx
+++ sc/source/filter/excel/xetable.cxx
-@@ -47,6 +47,7 @@
- #include "xeescher.hxx"
-
- #include <oox/core/tokens.hxx>
-+#include "svx/fontitem.hxx"
-
- using ::rtl::OString;
- using ::rtl::OUString;
@@ -2091,9 +2092,7 @@ void XclExpRow::SaveXml( XclExpXmlStream& rStrm )
XclExpRowBuffer::XclExpRowBuffer( const XclExpRoot& rRoot ) :
XclExpRoot( rRoot ),
@@ -87,7 +79,7 @@ index 36de8e5..6abe5b5 100644
- #i59220# Tolerance of +-128 rows for inserted/removed rows. */
- if( (nDefaultXclRow < 31872) || (nDefaultXclRow > 32128) )
- {
-- sal_uInt32 nLastXclRow = static_cast< sal_uInt32 >( GetMaxPos().Row() );
+- sal_uInt16 nLastXclRow = static_cast< sal_uInt16 >( GetMaxPos().Row() );
- if( nDefaultXclRow <= nLastXclRow )
- {
- // create a dummy ROW record and fill aMaxDefData
@@ -158,11 +150,54 @@ index 36de8e5..6abe5b5 100644
- if( xRow->IsEnabled() )
+ if( rRow->IsEnabled() )
{
-- sal_uInt32 nXclRow = xRow->GetXclRow();
-+ sal_uInt32 nXclRow = rRow->GetXclRow();
+- sal_uInt16 nXclRow = xRow->GetXclRow();
++ sal_uInt16 nXclRow = rRow->GetXclRow();
nFirstUsedXclRow = ::std::min< sal_uInt32 >( nFirstUsedXclRow, nXclRow );
nFirstFreeXclRow = ::std::max< sal_uInt32 >( nFirstFreeXclRow, nXclRow + 1 );
}
+@@ -2200,27 +2200,29 @@ void XclExpRowBuffer::Save( XclExpStream& rStrm )
+ maDimensions.Save( rStrm );
+
+ // save in blocks of 32 rows, each block contains first all ROWs, then all cells
+- size_t nSize = maRowList.GetSize();
+- size_t nBlockStart = 0;
+- sal_uInt16 nStartXclRow = (nSize == 0) ? 0 : maRowList.GetRecord( 0 )->GetXclRow();
++ size_t nSize = maRowMap.size();
++ RowMap::iterator itr, itrBeg = maRowMap.begin(), itrEnd = maRowMap.end();
++ RowMap::iterator itrBlkStart = maRowMap.begin(), itrBlkEnd = maRowMap.begin();
++ sal_uInt16 nStartXclRow = (nSize == 0) ? 0 : itrBeg->second->GetXclRow();
++
+
+- while( nBlockStart < nSize )
++ for (itr = itrBeg; itr != itrEnd; ++itr)
+ {
+ // find end of row block
+- size_t nBlockEnd = nBlockStart + 1;
+- while( (nBlockEnd < nSize) && (maRowList.GetRecord( nBlockEnd )->GetXclRow() - nStartXclRow < EXC_ROW_ROWBLOCKSIZE) )
+- ++nBlockEnd;
++ ++itrBlkEnd;
++ while( (itrBlkEnd != itrEnd) && (itrBlkEnd->second->GetXclRow() - nStartXclRow < EXC_ROW_ROWBLOCKSIZE) )
++ ++itrBlkEnd;
+
+ // write the ROW records
+- size_t nPos;
+- for( nPos = nBlockStart; nPos < nBlockEnd; ++nPos )
+- maRowList.GetRecord( nPos )->Save( rStrm );
++ RowMap::iterator itRow;
++ for( itRow = itrBlkStart; itRow != itrBlkEnd; ++itRow )
++ itRow->second->Save( rStrm );
+
+ // write the cell records
+- for( nPos = nBlockStart; nPos < nBlockEnd; ++nPos )
+- maRowList.GetRecord( nPos )->WriteCellList( rStrm );
++ for( itRow = itrBlkStart; itRow != itrBlkEnd; ++itRow )
++ itRow->second->WriteCellList( rStrm );
+
+- nBlockStart = nBlockEnd;
++ itrBlkStart = itrBlkEnd;
+ nStartXclRow += EXC_ROW_ROWBLOCKSIZE;
+ }
+ }
@@ -2250,23 +2219,22 @@ void XclExpRowBuffer::Save( XclExpStream& /*rStrm*/ )
void XclExpRowBuffer::SaveXml( XclExpXmlStream& rStrm )
{
@@ -201,7 +236,7 @@ index 36de8e5..6abe5b5 100644
XclExpDimensions* XclExpRowBuffer::GetDimensions()
@@ -2276,18 +2244,14 @@ XclExpDimensions* XclExpRowBuffer::GetDimensions()
- XclExpRow& XclExpRowBuffer::GetOrCreateRow( sal_uInt32 nXclRow, bool bRowAlwaysEmpty )
+ XclExpRow& XclExpRowBuffer::GetOrCreateRow( sal_uInt16 nXclRow, bool bRowAlwaysEmpty )
{
- if( !mpLastUsedRow || (mnLastUsedXclRow != nXclRow) )
+ RowMap::iterator itr = maRowMap.find(nXclRow);
@@ -211,7 +246,7 @@ index 36de8e5..6abe5b5 100644
- // do not use sal_uInt16 for nFirstFreeXclRow, would cause loop in full sheets
- for( size_t nFirstFreeXclRow = maRowList.GetSize(); nFirstFreeXclRow <= nXclRow; ++nFirstFreeXclRow )
- maRowList.AppendNewRecord( new XclExpRow(
-- GetRoot(), static_cast< sal_uInt32 >( nFirstFreeXclRow ), maOutlineBfr, bRowAlwaysEmpty ) );
+- GetRoot(), static_cast< sal_uInt16 >( nFirstFreeXclRow ), maOutlineBfr, bRowAlwaysEmpty ) );
-
- mpLastUsedRow = maRowList.GetRecord( nXclRow ).get();
- mnLastUsedXclRow = nXclRow;
More information about the ooo-build-commit
mailing list