sc/source/core/data/formulacell.cxx | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-)
New commits: commit 268d00ef10f0abbd2c40f2b5ecdf2c0aa1f37251 Author: Kohei Yoshida <kohei.yosh...@gmail.com> Date: Mon Jul 22 20:30:29 2013 -0400 Modified reference shouldn't make the cell dirty. The 'value changed' flag is there for that purpose. Modified reference alone doesn't change the value of the cell. Change-Id: I9d7b4c7005603cd7bed8d90901f1fab0e0d49008 diff --git a/sc/source/core/data/formulacell.cxx b/sc/source/core/data/formulacell.cxx index a99041d..63d2c9b 100644 --- a/sc/source/core/data/formulacell.cxx +++ b/sc/source/core/data/formulacell.cxx @@ -2267,18 +2267,18 @@ bool ScFormulaCell::UpdateReferenceOnShift( pOldCode.reset(pCode->Clone()); bool bValChanged = false; - bool bRangeModified = false; // any range, not only shared formula + bool bRefModified = false; bool bRefSizeChanged = false; if (bHasRefs) { // Update cell or range references. sc::RefUpdateResult aRes = pCode->AdjustReferenceOnShift(rCxt, aOldPos); - bRangeModified = aRes.mbReferenceModified; + bRefModified = aRes.mbReferenceModified; bValChanged = aRes.mbValueChanged; } - if (bValChanged || bRangeModified) + if (bValChanged || bRefModified) bCellStateChanged = true; if (bOnRefMove) @@ -2304,7 +2304,7 @@ bool ScFormulaCell::UpdateReferenceOnShift( bHasRelName = HasRelNameReference(); // Reference changed and new listening needed? // Except in Insert/Delete without specialties. - bNewListening = (bRangeModified || bColRowNameCompile + bNewListening = (bRefModified || bColRowNameCompile || (bValChanged && (bInDeleteUndo || bRefSizeChanged)) || bHasRelName); if ( bNewListening ) @@ -2312,12 +2312,12 @@ bool ScFormulaCell::UpdateReferenceOnShift( } // NeedDirty for changes except for Copy and Move/Insert without RelNames - bool bNeedDirty = (bRangeModified || bValChanged || bColRowNameCompile || bOnRefMove); + bool bNeedDirty = (bValChanged || bColRowNameCompile || bOnRefMove); if (pUndoDoc && (bValChanged || bOnRefMove)) setOldCodeToUndo(pUndoDoc, aUndoPos, pOldCode.get(), eTempGrammar, cMatrixFlag); - if ( ( bCompile = (bCompile || bRangeModified || bColRowNameCompile) ) != 0 ) + if ( (bCompile = (bCompile || bColRowNameCompile)) != 0 ) { CompileTokenArray( bNewListening ); // no Listening bNeedDirty = true; _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits