tdf#92547 - incorrect input values shown in formula wizard

Change-Id: I55dd98b1613376c8e1c83af8ffdc66a58e022cb1
This commit is contained in:
Benjamin Ni
2015-07-06 17:35:27 +02:00
committed by Markus Mohrhard
parent 1745af7d0a
commit 6a01844a9f
4 changed files with 13 additions and 1 deletions

View File

@@ -41,6 +41,7 @@ public:
void Calculate();
bool IsValue();
bool IsMatrix();
sal_uInt16 GetErrCode();
double GetValue();
svl::SharedString GetString();

View File

@@ -6483,6 +6483,12 @@ void Test::testFormulaWizardSubformula()
if ( aFCell.GetErrCode() == 0 )
CPPUNIT_ASSERT_EQUAL( OUString("{1, #DIV/0!, #NAME!}"), aFCell.GetString().getString() );
m_pDoc->SetString(ScAddress(0,1,0), "=NA()"); // B0
m_pDoc->SetString(ScAddress(1,1,0), "2"); // B1
m_pDoc->SetString(ScAddress(2,1,0), "=1+2"); // B2
if ( aFCell.GetErrCode() == 0 )
CPPUNIT_ASSERT_EQUAL(OUString("{#N/A, 2, 3}"), aFCell.GetString().getString());
m_pDoc->DeleteTab(0);
}

View File

@@ -70,6 +70,11 @@ bool ScSimpleFormulaCalculator::IsValue()
return maResult.IsValue();
}
bool ScSimpleFormulaCalculator::IsMatrix()
{
return bIsMatrix;
}
sal_uInt16 ScSimpleFormulaCalculator::GetErrCode()
{
Calculate();

View File

@@ -330,7 +330,7 @@ bool ScFormulaDlg::calculateValue( const OUString& rStrExp, OUString& rStrResult
}
sal_uInt16 nErrCode = pFCell->GetErrCode();
if ( nErrCode == 0 )
if ( nErrCode == 0 || pFCell->IsMatrix() )
{
SvNumberFormatter& aFormatter = *(pDoc->GetFormatTable());
Color* pColor;