summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorLuboš Luňák <l.lunak@collabora.com>2018-05-14 16:23:52 +0200
committerLuboš Luňák <l.lunak@collabora.com>2018-05-17 21:41:43 +0200
commit30cee1ae3e36c5b3bdae71550298abac5abc8788 (patch)
tree8077cf588520a307bed128b5159f1413909b108f /include
parent649313625b94e6b879848fc19b607b74375100bf (diff)
disable also ocStyle for Calc's threading
The ocStyle token is only in the RPN tokens, the raw tokens array contains only ocName, so it's necessary to check also RPN tokens. Prevents a crash with tdf#91220/1 because of ScInterpreter::ScStyle() causing a SfxBroadcaster::Broadcast() call. Change-Id: I7fa04114b698918569014322c721751ab3d8c62f Reviewed-on: https://gerrit.libreoffice.org/54326 Reviewed-by: Michael Meeks <michael.meeks@collabora.com> Tested-by: Jenkins <ci@libreoffice.org>
Diffstat (limited to 'include')
-rw-r--r--include/formula/FormulaCompiler.hxx1
-rw-r--r--include/formula/tokenarray.hxx5
2 files changed, 6 insertions, 0 deletions
diff --git a/include/formula/FormulaCompiler.hxx b/include/formula/FormulaCompiler.hxx
index e64bc867a447..321e288fcc55 100644
--- a/include/formula/FormulaCompiler.hxx
+++ b/include/formula/FormulaCompiler.hxx
@@ -354,6 +354,7 @@ protected:
bool bAutoCorrect; // whether to apply AutoCorrection
bool bCorrected; // AutoCorrection was applied
bool glSubTotal; // if code contains one or more subtotal functions
+ bool needsRPNTokenCheck; // whether to make FormulaTokenArray check all tokens at the end
bool mbJumpCommandReorder; /// Whether or not to reorder RPN for jump commands.
bool mbStopOnError; /// Whether to stop compilation on first encountered error.
diff --git a/include/formula/tokenarray.hxx b/include/formula/tokenarray.hxx
index c0376812a9fb..45669d1ad529 100644
--- a/include/formula/tokenarray.hxx
+++ b/include/formula/tokenarray.hxx
@@ -453,6 +453,11 @@ public:
*/
virtual void CheckToken( const FormulaToken& t );
+ /**
+ * Call CheckToken() for all RPN tokens.
+ */
+ void CheckAllRPNTokens();
+
/** Clones the token and then adds the clone to the pCode array.
For just new'ed tokens use Add() instead of cloning it again.
Use this AddToken() when adding a token from another origin.