sc/source/ui/unoobj/shapeuno.cxx | 3 ++- sc/source/ui/view/printfun.cxx | 9 ++++++--- 2 files changed, 8 insertions(+), 4 deletions(-)
New commits: commit 6a62557d8632290ae7150f3922dece65f51af4bc Author: Wang Lei <l...@apache.org> Date: Fri Sep 28 07:36:51 2012 +0000 Resolves: #i121136# Improve Spreadsheet performance in some areas Patch by: Wang Lei Review by: Wang Lei (cherry picked from commit d39376c42030222fcf09fb562660daa89b01b1e0) Conflicts: sc/source/core/data/document.cxx sc/source/core/data/table2.cxx sc/source/filter/excel/colrowst.cxx sc/source/ui/view/printfun.cxx Change-Id: I17ff418ad5d09be1e760ee25e9c377ef1362f10e diff --git a/sc/source/ui/unoobj/shapeuno.cxx b/sc/source/ui/unoobj/shapeuno.cxx index c5ec413..fe9a594 100644 --- a/sc/source/ui/unoobj/shapeuno.cxx +++ b/sc/source/ui/unoobj/shapeuno.cxx @@ -841,7 +841,8 @@ uno::Any SAL_CALL ScShapeObj::getPropertyValue( const OUString& aPropertyName ) } else { - GetShapePropertySet(); + if(!pShapePropertySet) //performance consideration + GetShapePropertySet(); if (pShapePropertySet) aAny = pShapePropertySet->getPropertyValue( aPropertyName ); } diff --git a/sc/source/ui/view/printfun.cxx b/sc/source/ui/view/printfun.cxx index 9ac8230..e7fa2bb 100644 --- a/sc/source/ui/view/printfun.cxx +++ b/sc/source/ui/view/printfun.cxx @@ -2932,8 +2932,9 @@ static void lcl_SetHidden( ScDocument* pDoc, SCTAB nPrintTab, ScPageRowEntry& rP void ScPrintFunc::CalcPages() // calculates aPageRect and pages from nZoom { if (!pPageEndX) pPageEndX = new SCCOL[MAXCOL+1]; - if (!pPageEndY) pPageEndY = new SCROW[MAXROW+1]; - if (!pPageRows) pPageRows = new ScPageRowEntry[MAXROW+1]; //! count before !!!! + //performance impact +// if (!pPageEndY) pPageEndY = new SCROW[MAXROW+1]; +// if (!pPageRows) pPageRows = new ScPageRowEntry[MAXROW+1]; //! count before !!!! pDoc->SetPageSize( nPrintTab, GetDocPageSize() ); if (aAreaParam.bPrintArea) @@ -2943,7 +2944,9 @@ void ScPrintFunc::CalcPages() // calculates aPageRect and pages fr } else pDoc->UpdatePageBreaks( nPrintTab, NULL ); // else, end is marked - + SCROW nRealCnt = nEndRow-nStartRow+1; + if (!pPageEndY) pPageEndY = new SCROW[nRealCnt+1]; + if (!pPageRows) pPageRows = new ScPageRowEntry[nRealCnt+1]; //! vorher zaehlen !!!! // // Page alignment/splitting after breaks in Col/RowFlags // Of several breaks in a hidden area, only one counts. _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits