summaryrefslogtreecommitdiff
path: root/sc
diff options
context:
space:
mode:
authorDaniel Bankston <daniel.e.bankston@gmail.com>2012-07-10 13:55:39 -0500
committerKohei Yoshida <kohei.yoshida@gmail.com>2012-07-11 20:37:43 -0400
commitd880f3d3bf7b6052156e3d6c30f00d22fe66aee1 (patch)
tree858137c107c10cb287513a59a22a90a39e3da704 /sc
parent9ba62d504ca93a377b7de328e2d00caa786638c6 (diff)
Always recalc certain functions on import
Change-Id: Ie8cffc4a856328dd658714726de7ca77028a33a7
Diffstat (limited to 'sc')
-rw-r--r--sc/source/filter/xml/xmlcelli.cxx12
1 files changed, 8 insertions, 4 deletions
diff --git a/sc/source/filter/xml/xmlcelli.cxx b/sc/source/filter/xml/xmlcelli.cxx
index 3ff5b588c00a..791f3f0eb10d 100644
--- a/sc/source/filter/xml/xmlcelli.cxx
+++ b/sc/source/filter/xml/xmlcelli.cxx
@@ -760,7 +760,8 @@ void ScXMLTableRowCellContext::AddTextCellToDoc( const ScAddress& rCurrentPos,
pFCell->SetHybridString( *pOUText );
else
bDoIncrement = false;
- pFCell->ResetDirty();
+ if( !pFCell->GetCode()->IsRecalcModeAlways() )
+ pFCell->ResetDirty();
}
}
else
@@ -798,7 +799,8 @@ void ScXMLTableRowCellContext::AddNumberCellToDoc( const ScAddress& rCurrentPos
pFCell->SetHybridString( *pOUTextValue );
else
pFCell->SetHybridDouble( fValue );
- pFCell->ResetDirty();
+ if( !pFCell->GetCode()->IsRecalcModeAlways() )
+ pFCell->ResetDirty();
}
}
else
@@ -1029,7 +1031,8 @@ void ScXMLTableRowCellContext::AddNonMatrixFormulaCell( const ScAddress& rCellPo
pFCell->SetHybridString( *pOUTextValue );
else
pFCell->SetHybridDouble( fValue );
- pFCell->ResetDirty();
+ if( !(pFCell->GetCode()->IsRecalcModeOnLoad() || !pFCell->GetCode()->IsRecalcModeOnLoadOnce()) )
+ pFCell->ResetDirty();
}
else if ( aText[0] == '\'' && aText.getLength() > 1 )
{
@@ -1081,7 +1084,8 @@ void ScXMLTableRowCellContext::AddFormulaCell( const ScAddress& rCellPos )
pFCell->SetHybridString( *pOUTextValue );
else
pFCell->SetHybridDouble( fValue );
- pFCell->ResetDirty();
+ if( !pFCell->GetCode()->IsRecalcModeAlways() )
+ pFCell->ResetDirty();
}
}
}