sc/source/core/data/document.cxx | 13 +++++++------ sc/source/ui/unoobj/docuno.cxx | 8 ++++---- sc/source/ui/view/pfuncache.cxx | 3 ++- 3 files changed, 13 insertions(+), 11 deletions(-)
New commits: commit 4c5a19f9cf98fb2b38ee6b4b35f4074499270353 Author: Serge Krot <serge.k...@cib.de> Date: Thu Nov 23 11:13:35 2017 +0100 related tdf#108757 small enhancements for speed up - no strings reallocation - faster for-loops Change-Id: I98a355eb3bcb48219afd6334615c9c092ed1a352 Reviewed-on: https://gerrit.libreoffice.org/45142 Tested-by: Jenkins <c...@libreoffice.org> Reviewed-by: Thorsten Behrens <thorsten.behr...@cib.de> diff --git a/sc/source/core/data/document.cxx b/sc/source/core/data/document.cxx index 3fb8c338f242..019bfcb99f4a 100644 --- a/sc/source/core/data/document.cxx +++ b/sc/source/core/data/document.cxx @@ -6275,7 +6275,7 @@ void ScDocument::SetRepeatRowRange( SCTAB nTab, const ScRange* pNew ) ScPrintRangeSaver* ScDocument::CreatePrintRangeSaver() const { - SCTAB nCount = static_cast<SCTAB>(maTabs.size()); + const SCTAB nCount = static_cast<SCTAB>(maTabs.size()); ScPrintRangeSaver* pNew = new ScPrintRangeSaver( nCount ); for (SCTAB i=0; i<nCount; i++) if (maTabs[i]) @@ -6285,8 +6285,9 @@ ScPrintRangeSaver* ScDocument::CreatePrintRangeSaver() const void ScDocument::RestorePrintRanges( const ScPrintRangeSaver& rSaver ) { - SCTAB nCount = rSaver.GetTabCount(); - for (SCTAB i=0; i<nCount && i < static_cast<SCTAB>(maTabs.size()); i++) + const SCTAB nCount = rSaver.GetTabCount(); + const SCTAB maxIndex = std::min(nCount, static_cast<SCTAB>(maTabs.size())); + for (SCTAB i=0; i<maxIndex; i++) if (maTabs[i]) maTabs[i]->RestorePrintRanges( rSaver.GetTabData(i) ); } @@ -6298,10 +6299,10 @@ bool ScDocument::NeedPageResetAfterTab( SCTAB nTab ) const if ( nTab + 1 < static_cast<SCTAB>(maTabs.size()) && maTabs[nTab] && maTabs[nTab+1] ) { - OUString aNew = maTabs[nTab+1]->GetPageStyle(); - if ( aNew != maTabs[nTab]->GetPageStyle() ) + const OUString & rNew = maTabs[nTab+1]->GetPageStyle(); + if ( rNew != maTabs[nTab]->GetPageStyle() ) { - SfxStyleSheetBase* pStyle = mxPoolHelper->GetStylePool()->Find( aNew, SfxStyleFamily::Page ); + SfxStyleSheetBase* pStyle = mxPoolHelper->GetStylePool()->Find( rNew, SfxStyleFamily::Page ); if ( pStyle ) { const SfxItemSet& rSet = pStyle->GetItemSet(); diff --git a/sc/source/ui/unoobj/docuno.cxx b/sc/source/ui/unoobj/docuno.cxx index 60bd3239cc27..ca287c11b398 100644 --- a/sc/source/ui/unoobj/docuno.cxx +++ b/sc/source/ui/unoobj/docuno.cxx @@ -1338,13 +1338,13 @@ static OutputDevice* lcl_GetRenderDevice( const uno::Sequence<beans::PropertyVal { OutputDevice* pRet = nullptr; const beans::PropertyValue* pPropArray = rOptions.getConstArray(); - long nPropCount = rOptions.getLength(); + const long nPropCount = rOptions.getLength(); for (long i = 0; i < nPropCount; i++) { const beans::PropertyValue& rProp = pPropArray[i]; - OUString aPropName(rProp.Name); + const OUString & rPropName = rProp.Name; - if (aPropName == SC_UNONAME_RENDERDEV) + if (rPropName == SC_UNONAME_RENDERDEV) { uno::Reference<awt::XDevice> xRenderDevice(rProp.Value, uno::UNO_QUERY); if ( xRenderDevice.is() ) @@ -1947,7 +1947,7 @@ void SAL_CALL ScModelObj::render( sal_Int32 nSelRenderer, const uno::Any& aSelec // resolve the hyperlinks for PDF export - if ( pPDFData ) + if ( pPDFData && !pPDFData->GetBookmarks().empty() ) { // iterate over the hyperlinks that were output for this page diff --git a/sc/source/ui/view/pfuncache.cxx b/sc/source/ui/view/pfuncache.cxx index daf593fdbb3d..c738d4920f79 100644 --- a/sc/source/ui/view/pfuncache.cxx +++ b/sc/source/ui/view/pfuncache.cxx @@ -163,7 +163,8 @@ SCTAB ScPrintFuncCache::GetTabForPage( long nPage ) const long ScPrintFuncCache::GetTabStart( SCTAB nTab ) const { long nRet = 0; - for ( SCTAB i=0; i<nTab&& i < static_cast<SCTAB>(nPages.size()); i++ ) + const SCTAB maxIndex = std::min(nTab, static_cast<SCTAB>(nPages.size())); + for ( SCTAB i=0; i<maxIndex; i++ ) nRet += nPages[i]; return nRet; } _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits