[Libreoffice-commits] core.git: 2 commits - sc/source

Eike Rathke erack at redhat.com
Fri May 6 15:07:28 UTC 2016


 sc/source/core/tool/compiler.cxx |   11 ++++++++++-
 1 file changed, 10 insertions(+), 1 deletion(-)

New commits:
commit bb0ef99fb9dce30e99a7e9f7fa295a634d07b423
Author: Eike Rathke <erack at redhat.com>
Date:   Fri May 6 16:56:29 2016 +0200

    Resolves: tdf#86575 for OOXML write plain #REF! if deleted parts
    
    Change-Id: Ie3233d72bdbdd0ab82386c98a46755ce64ef3e7f

diff --git a/sc/source/core/tool/compiler.cxx b/sc/source/core/tool/compiler.cxx
index da93bad..c50174b 100644
--- a/sc/source/core/tool/compiler.cxx
+++ b/sc/source/core/tool/compiler.cxx
@@ -1422,6 +1422,14 @@ struct ConventionXL_OOX : public ConventionXL_A1
             aPos.SetRow(0);
         }
 
+        if (rRef.Ref1.IsDeleted() || (!bSingleRef && rRef.Ref2.IsDeleted()))
+        {
+            // For OOXML write plain "#REF!" instead of detailed sheet/col/row
+            // information.
+            rBuf.append(rErrRef);
+            return;
+        }
+
         ConventionXL_A1::makeRefStr( rBuf, eGram, aPos, rErrRef, rTabNames, rRef, bSingleRef, bFromRangeName);
     }
 
commit eeb203089f2ba6dffba9a2543c9a7e8bf551bbc5
Author: Eike Rathke <erack at redhat.com>
Date:   Fri May 6 16:31:06 2016 +0200

    write the [#REF!] as defined in ODFF, tdf#86575 related
    
    ... if a part of the reference was deleted, instead of [.#REF!A1]
    
    Actually this is a regression that already can be tracked down to
    c54616f62bc70a9d39abf8837a9d7c3031c80a41 which changed things to use
    ValidAddress() only.
    
    Change-Id: I70f68722d7af02f6da3380c2dd9d54704c20b451

diff --git a/sc/source/core/tool/compiler.cxx b/sc/source/core/tool/compiler.cxx
index 958f5b3..da93bad 100644
--- a/sc/source/core/tool/compiler.cxx
+++ b/sc/source/core/tool/compiler.cxx
@@ -1023,7 +1023,8 @@ struct ConventionOOO_A1_ODF : public ConventionOOO_A1
         if( !bSingleRef )
             aAbs2 = rRef.Ref2.toAbs(rPos);
 
-        if (FormulaGrammar::isODFF(eGram) && (!ValidAddress(aAbs1) || !ValidAddress(aAbs2)))
+        if (FormulaGrammar::isODFF(eGram) && (rRef.Ref1.IsDeleted() || !ValidAddress(aAbs1) ||
+                    (!bSingleRef && (rRef.Ref2.IsDeleted() || !ValidAddress(aAbs2)))))
         {
             rBuffer.append(rErrRef);
             // For ODFF write [#REF!], but not for PODF so apps reading ODF


More information about the Libreoffice-commits mailing list