[Libreoffice-commits] .: Branch 'libreoffice-3-5' - sc/source
Eike Rathke
erack at kemper.freedesktop.org
Tue Jul 3 04:48:25 PDT 2012
sc/source/core/data/cell.cxx | 11 ++++-------
1 file changed, 4 insertions(+), 7 deletions(-)
New commits:
commit e031258c7689219c64c030490c123c0e2544b91a
Author: Eike Rathke <erack at redhat.com>
Date: Tue Jul 3 12:51:53 2012 +0200
resolved fdo#51601 do not attempt to compile running formula cell
2fb377c19f8ae38e7ec649af1343bbd64b70a16b introduced compilation of
a formula cell while it is interpreted, ignoring the comment just above why
that does NOT work ...
This removes the portion that is responsible for the crash as a quick fix,
a more sophisticated solution might be needed to make the original
intention work.
Signed-off-by: Petr Mladek <pmladek at suse.cz>
Signed-off-by: Noel Power <nopower at suse.com>
Signed-off-by: Muthu Subramanian K <sumuthu at suse.com>
(cherry picked from commit be67632e9eb298af8a5582c0e06cad9218fa5b71)
diff --git a/sc/source/core/data/cell.cxx b/sc/source/core/data/cell.cxx
index 4ed94b9..29ecd68 100644
--- a/sc/source/core/data/cell.cxx
+++ b/sc/source/core/data/cell.cxx
@@ -1527,7 +1527,9 @@ void ScFormulaCell::InterpretTail( ScInterpretTailParameter eTailParam )
// #i11719# no UPN and no error and no token code but result string present
// => interpretation of this cell during name-compilation and unknown names
// => can't exchange underlying code array in CompileTokenArray() /
- // Compile() because interpreter's token iterator would crash.
+ // Compile() because interpreter's token iterator would crash or pCode
+ // would be deleted twice if this cell was interpreted during
+ // compilation.
// This should only be a temporary condition and, since we set an
// error, if ran into it again we'd bump into the dirty-clearing
// condition further down.
@@ -1536,12 +1538,7 @@ void ScFormulaCell::InterpretTail( ScInterpretTailParameter eTailParam )
pCode->SetCodeError( errNoCode );
// This is worth an assertion; if encountered in daily work
// documents we might need another solution. Or just confirm correctness.
- OSL_FAIL( "ScFormulaCell::Interpret: no UPN, no error, no token, but string -> Try compiling it." );
- // Force Compilation
- String aFormula = aResult.GetHybridFormula();
- aResult.SetHybridFormula( String() );
- Compile( aFormula );
- InterpretTail( eTailParam );
+ OSL_FAIL( "ScFormulaCell::Interpret: no UPN, no error, no token, but hybrid formula string" );
return;
}
CompileTokenArray();
More information about the Libreoffice-commits
mailing list