sc/inc/column.hxx | 2 +- sc/source/core/data/column2.cxx | 3 ++- sc/source/core/data/column3.cxx | 6 +++--- 3 files changed, 6 insertions(+), 5 deletions(-)
New commits: commit f4f1654c07ec58bc36d824e9434ab851b7900e9f Author: Noel Grandin <noel.gran...@collabora.co.uk> Date: Tue Mar 27 16:05:38 2018 +0200 tdf#106667 Hang when trying to open a dialog and the whole sheet is selected regression from commit 8d54796bf152499ecbe61788be64c9035f725dfa (patch) enhance pass-by-ref plugin to detect large arguments which converted this peice of code into an O(n^2) loop Change-Id: I0473a084518c0d10411615e1b3901b9b90144bc9 Reviewed-on: https://gerrit.libreoffice.org/51956 Reviewed-by: Eike Rathke <er...@redhat.com> Tested-by: Jenkins <c...@libreoffice.org> diff --git a/sc/inc/column.hxx b/sc/inc/column.hxx index 4a93f21ed381..07bcdc15f855 100644 --- a/sc/inc/column.hxx +++ b/sc/inc/column.hxx @@ -713,7 +713,7 @@ private: void AttachNewFormulaCells( const sc::CellStoreType::position_type& aPos, size_t nLength ); void BroadcastNewCell( SCROW nRow ); - bool UpdateScriptType( sc::CellTextAttr& rAttr, SCROW nRow, const sc::CellStoreType::iterator& itr ); + bool UpdateScriptType( sc::CellTextAttr& rAttr, SCROW nRow, sc::CellStoreType::iterator& itr ); const ScFormulaCell* FetchFormulaCell( SCROW nRow ) const; diff --git a/sc/source/core/data/column2.cxx b/sc/source/core/data/column2.cxx index f1e3628e9687..415c1203c821 100644 --- a/sc/source/core/data/column2.cxx +++ b/sc/source/core/data/column2.cxx @@ -1990,7 +1990,7 @@ SvtScriptType ScColumn::GetScriptType( SCROW nRow ) const } SvtScriptType ScColumn::GetRangeScriptType( - sc::CellTextAttrStoreType::iterator& itPos, SCROW nRow1, SCROW nRow2, const sc::CellStoreType::iterator& itrCells ) + sc::CellTextAttrStoreType::iterator& itPos, SCROW nRow1, SCROW nRow2, const sc::CellStoreType::iterator& itrCells_ ) { if (!ValidRow(nRow1) || !ValidRow(nRow2) || nRow1 > nRow2) return SvtScriptType::NONE; @@ -2000,6 +2000,7 @@ SvtScriptType ScColumn::GetRangeScriptType( maCellTextAttrs.position(itPos, nRow1); itPos = aRet.first; // Track the position of cell text attribute array. + sc::CellStoreType::iterator itrCells = itrCells_; SvtScriptType nScriptType = SvtScriptType::NONE; bool bUpdated = false; diff --git a/sc/source/core/data/column3.cxx b/sc/source/core/data/column3.cxx index b3a01a4737f3..2907532f961e 100644 --- a/sc/source/core/data/column3.cxx +++ b/sc/source/core/data/column3.cxx @@ -502,7 +502,7 @@ void ScColumn::BroadcastNewCell( SCROW nRow ) Broadcast(nRow); } -bool ScColumn::UpdateScriptType( sc::CellTextAttr& rAttr, SCROW nRow, const sc::CellStoreType::iterator& itr ) +bool ScColumn::UpdateScriptType( sc::CellTextAttr& rAttr, SCROW nRow, sc::CellStoreType::iterator& itr ) { if (rAttr.mnScriptType != SvtScriptType::UNKNOWN) // Already updated. Nothing to do. @@ -515,9 +515,9 @@ bool ScColumn::UpdateScriptType( sc::CellTextAttr& rAttr, SCROW nRow, const sc:: return false; sc::CellStoreType::position_type pos = maCells.position(itr, nRow); - sc::CellStoreType::iterator itr2 = pos.first; + itr = pos.first; size_t nOffset = pos.second; - ScRefCellValue aCell = GetCellValue( itr2, nOffset ); + ScRefCellValue aCell = GetCellValue( itr, nOffset ); ScAddress aPos(nCol, nRow, nTab); ScDocument* pDocument = GetDoc(); _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits