sc/qa/unit/ucalc_formula.cxx | 22 ++++++++++++++++++++++ sc/source/core/data/document10.cxx | 4 ++++ 2 files changed, 26 insertions(+)
New commits: commit ea0ac020160207a08de3168142abc2a74f17afd6 Author: Kohei Yoshida <kohei.yosh...@collabora.com> Date: Tue Apr 29 11:40:06 2014 -0400 fdo#74322: Let's not handle cut mode here. Things are a bit more complex in cut mode than what this method can handle. Change-Id: Idadee23beff08c2df89d47bb237e8a2d2fd69dab diff --git a/sc/source/core/data/document10.cxx b/sc/source/core/data/document10.cxx index 2046b31..4112bb9 100644 --- a/sc/source/core/data/document10.cxx +++ b/sc/source/core/data/document10.cxx @@ -57,6 +57,10 @@ bool ScDocument::CopyOneCellFromClip( sc::CopyFromClipContext& rCxt, SCCOL nCol1, SCROW nRow1, SCCOL nCol2, SCROW nRow2 ) { ScDocument* pClipDoc = rCxt.getClipDoc(); + if (pClipDoc->GetClipParam().mbCutMode) + // We don't handle cut and paste or moving of cells here. + return false; + ScRange aClipRange = pClipDoc->GetClipParam().getWholeRange(); if (aClipRange.aStart != aClipRange.aEnd) // The source is not really a single cell. Bail out. commit fd65b90934d0c521de1f3b04214e364fd540f080 Author: Kohei Yoshida <kohei.yosh...@collabora.com> Date: Tue Apr 29 11:20:55 2014 -0400 fdo#74322: Additional test for the followup issue. Change-Id: I971e7ea2535138eb4ac901c227c72a50578746a8 diff --git a/sc/qa/unit/ucalc_formula.cxx b/sc/qa/unit/ucalc_formula.cxx index 937c96e..ae65185 100644 --- a/sc/qa/unit/ucalc_formula.cxx +++ b/sc/qa/unit/ucalc_formula.cxx @@ -1932,6 +1932,28 @@ void Test::testFormulaRefUpdateNamedExpressionMove() CPPUNIT_ASSERT_EQUAL(6.0, m_pDoc->GetValue(ScAddress(0,9,0))); CPPUNIT_ASSERT_EQUAL(6.0, m_pDoc->GetValue(ScAddress(0,10,0))); + // Clear and start over. + clearSheet(m_pDoc, 0); + m_pDoc->GetRangeName()->clear(); + + // Set value to B2. + m_pDoc->SetValue(ScAddress(1,1,0), 2.0); + + // Define B2 as 'MyCell'. + bInserted = m_pDoc->InsertNewRangeName("MyCell", ScAddress(0,0,0), "$Test.$B$2"); + CPPUNIT_ASSERT(bInserted); + + // Set formula to B3 that references B2 via MyCell. + m_pDoc->SetString(ScAddress(1,2,0), "=MyCell*2"); + CPPUNIT_ASSERT_EQUAL(4.0, m_pDoc->GetValue(ScAddress(1,2,0))); + + // Move B2 to D2. + bMoved = rFunc.MoveBlock(ScRange(1,1,0,1,1,0), ScAddress(3,1,0), true, true, false, true); + CPPUNIT_ASSERT(bMoved); + + // Value in B3 should remain unchanged. + CPPUNIT_ASSERT_EQUAL(4.0, m_pDoc->GetValue(ScAddress(1,2,0))); + m_pDoc->DeleteTab(0); } _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits