Kaydet (Commit) 6a01844a authored tarafından Benjamin Ni's avatar Benjamin Ni Kaydeden (comit) Markus Mohrhard

tdf#92547 - incorrect input values shown in formula wizard

Change-Id: I55dd98b1613376c8e1c83af8ffdc66a58e022cb1
üst 1745af7d
...@@ -41,6 +41,7 @@ public: ...@@ -41,6 +41,7 @@ public:
void Calculate(); void Calculate();
bool IsValue(); bool IsValue();
bool IsMatrix();
sal_uInt16 GetErrCode(); sal_uInt16 GetErrCode();
double GetValue(); double GetValue();
svl::SharedString GetString(); svl::SharedString GetString();
......
...@@ -6483,6 +6483,12 @@ void Test::testFormulaWizardSubformula() ...@@ -6483,6 +6483,12 @@ void Test::testFormulaWizardSubformula()
if ( aFCell.GetErrCode() == 0 ) if ( aFCell.GetErrCode() == 0 )
CPPUNIT_ASSERT_EQUAL( OUString("{1, #DIV/0!, #NAME!}"), aFCell.GetString().getString() ); 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); m_pDoc->DeleteTab(0);
} }
......
...@@ -70,6 +70,11 @@ bool ScSimpleFormulaCalculator::IsValue() ...@@ -70,6 +70,11 @@ bool ScSimpleFormulaCalculator::IsValue()
return maResult.IsValue(); return maResult.IsValue();
} }
bool ScSimpleFormulaCalculator::IsMatrix()
{
return bIsMatrix;
}
sal_uInt16 ScSimpleFormulaCalculator::GetErrCode() sal_uInt16 ScSimpleFormulaCalculator::GetErrCode()
{ {
Calculate(); Calculate();
......
...@@ -330,7 +330,7 @@ bool ScFormulaDlg::calculateValue( const OUString& rStrExp, OUString& rStrResult ...@@ -330,7 +330,7 @@ bool ScFormulaDlg::calculateValue( const OUString& rStrExp, OUString& rStrResult
} }
sal_uInt16 nErrCode = pFCell->GetErrCode(); sal_uInt16 nErrCode = pFCell->GetErrCode();
if ( nErrCode == 0 ) if ( nErrCode == 0 || pFCell->IsMatrix() )
{ {
SvNumberFormatter& aFormatter = *(pDoc->GetFormatTable()); SvNumberFormatter& aFormatter = *(pDoc->GetFormatTable());
Color* pColor; Color* pColor;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment