[Libreoffice-commits] core.git: 2 commits - sc/source
Eike Rathke
erack at redhat.com
Mon Jan 29 17:46:10 UTC 2018
sc/source/core/data/documen8.cxx | 6 ++++++
sc/source/core/tool/rangenam.cxx | 8 +++++++-
2 files changed, 13 insertions(+), 1 deletion(-)
New commits:
commit eae9648e99be53ba441d9d8207aac6f3ce211ef2
Author: Eike Rathke <erack at redhat.com>
Date: Mon Jan 29 18:23:22 2018 +0100
CheckLinkFormulaNeedingCheck() for .ods named expressions
This is specifically necessary for named expressions that are used
in conditional format formulas, for which RPN is generated at a
later stage, not during import.
Change-Id: Ia8e1d92a3a12f6c226fec56e85f23f122f2fe902
diff --git a/sc/source/core/tool/rangenam.cxx b/sc/source/core/tool/rangenam.cxx
index 8a6255651b08..5e1c90a3ece7 100644
--- a/sc/source/core/tool/rangenam.cxx
+++ b/sc/source/core/tool/rangenam.cxx
@@ -63,9 +63,14 @@ ScRangeData::ScRangeData( ScDocument* pDok,
mnMaxCol (-1)
{
if (!rSymbol.isEmpty())
- CompileRangeData( rSymbol, pDoc->IsImportingXML());
+ {
// Let the compiler set an error on unknown names for a subsequent
// CompileUnresolvedXML().
+ const bool bImporting = pDoc->IsImportingXML();
+ CompileRangeData( rSymbol, bImporting);
+ if (bImporting)
+ pDoc->CheckLinkFormulaNeedingCheck( *pCode);
+ }
else
{
// #i63513#/#i65690# don't leave pCode as NULL.
@@ -194,6 +199,7 @@ void ScRangeData::CompileUnresolvedXML( sc::CompileFormulaContext& rCxt )
// Don't let the compiler set an error for unknown names on final
// compile, errors are handled by the interpreter thereafter.
CompileRangeData( aSymbol, false);
+ rCxt.getDoc()->CheckLinkFormulaNeedingCheck( *pCode);
}
}
commit 3ddb9a027bb138fd7640abd4ed8d10fda95a94f8
Author: Eike Rathke <erack at redhat.com>
Date: Mon Jan 29 18:19:33 2018 +0100
Let CheckLinkFormulaNeedingCheck() return early if found
Change-Id: I54ab8dc14f81d6b18b0d17f448187d19d8e396fc
diff --git a/sc/source/core/data/documen8.cxx b/sc/source/core/data/documen8.cxx
index eb58eb080213..172d127cc517 100644
--- a/sc/source/core/data/documen8.cxx
+++ b/sc/source/core/data/documen8.cxx
@@ -1186,12 +1186,18 @@ void ScDocument::CheckLinkFormulaNeedingCheck( const ScTokenArray& rCode )
if (rCode.GetCodeLen())
{
if (rCode.HasOpCodeRPN(ocDde) || rCode.HasOpCodeRPN(ocWebservice))
+ {
SetLinkFormulaNeedingCheck(true);
+ return;
+ }
}
else if (rCode.GetLen())
{
if (rCode.HasOpCode(ocDde) || rCode.HasOpCode(ocWebservice))
+ {
SetLinkFormulaNeedingCheck(true);
+ return;
+ }
}
else
{
More information about the Libreoffice-commits
mailing list