[arch-commits] Commit in libreoffice-fresh/trunk (PKGBUILD calc-recalculation.diff)

Andreas Radke andyrtr at archlinux.org
Sat Oct 17 12:55:59 UTC 2020


    Date: Saturday, October 17, 2020 @ 12:55:59
  Author: andyrtr
Revision: 398495

upgpkg: libreoffice-fresh 7.0.2-2: fix calc recalculation - FS#68181

Added:
  libreoffice-fresh/trunk/calc-recalculation.diff
Modified:
  libreoffice-fresh/trunk/PKGBUILD

-------------------------+
 PKGBUILD                |   12 +++++--
 calc-recalculation.diff |   70 ++++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 79 insertions(+), 3 deletions(-)

Modified: PKGBUILD
===================================================================
--- PKGBUILD	2020-10-17 11:35:53 UTC (rev 398494)
+++ PKGBUILD	2020-10-17 12:55:59 UTC (rev 398495)
@@ -12,7 +12,7 @@
 pkgname=('libreoffice-fresh-sdk' 'libreoffice-fresh')
 _LOver=7.0.2.2
 pkgver=7.0.2
-pkgrel=1
+pkgrel=2
 arch=('x86_64')
 license=('LGPL3')
 url="https://www.libreoffice.org/"
@@ -59,7 +59,8 @@
 	${_additional_source_url2}/185d60944ea767075d27247c3162b3bc-unowinreg.dll
 	make-pyuno-work-with-system-wide-module-install.diff
 	soffice-template.desktop.in 
-	libreoffice-fresh.sh libreoffice-fresh.csh)
+	libreoffice-fresh.sh libreoffice-fresh.csh
+	calc-recalculation.diff)
 noextract=(35c94d2df8893241173de1d16b6034c0-swingExSrc.zip
            798b2ffdc8bcfe7bca2cf92b62caf685-rhino1_5R5.zip
            a7983f859eafb2677d7ff386a023bc40-xsltml_2.1.2.zip
@@ -107,7 +108,8 @@
             'c463654a73ecfbc242ff109726fb4faecdbfb3d91affafe919b24bea65afb563'
             'd0be8099cbee3c9dfda694a828149b881c345b204ab68826f317580aafb50879'
             'cd1b25ff390e436c6bffa65c6e12382236e3ccbf8d3aae51b1b59bcaed79fd8a'
-            'de20f36d45f0fecc2d94176dd3ec7226ab07fa8ffb9b0bc73c200349a9273de1')
+            'de20f36d45f0fecc2d94176dd3ec7226ab07fa8ffb9b0bc73c200349a9273de1'
+            'a392afabeb1490245a22ec55dab8c475fb29c46e45c8dd9d2090924bdfcf3204')
 
 prepare() {
 
@@ -128,6 +130,10 @@
 	# fix not upstreamable pyuno paths - FS#54250
 	patch -Np1 -i "${srcdir}"/make-pyuno-work-with-system-wide-module-install.diff
 
+	# fix calc recalculation; FS#68181
+	# https://bugs.documentfoundation.org/show_bug.cgi?id=137248
+	patch -Np1 -i ../calc-recalculation.diff
+
 	#use the CFLAGS but remove the LibO overridden ones
 	for i in $CFLAGS; do
 		case "$i" in

Added: calc-recalculation.diff
===================================================================
--- calc-recalculation.diff	                        (rev 0)
+++ calc-recalculation.diff	2020-10-17 12:55:59 UTC (rev 398495)
@@ -0,0 +1,70 @@
+From 701008631ee257b4c7714ac9e2689c5ecc45bff8 Mon Sep 17 00:00:00 2001
+From: Eike Rathke <erack at redhat.com>
+Date: Tue, 13 Oct 2020 23:56:28 +0200
+Subject: Resolves: tdf#137248 Fix wrong condition breaking non-group interpret
+
+Regression from
+
+    commit 4f36f2ccab6286ec09480caea602c0fa19195736
+    CommitDate: Thu Sep 10 11:15:47 2020 +0200
+
+        detect if a cell still needs interpreting after Interpret()
+
+The bool return from ScFormulaCell::Interpret() does not indicate
+if it was succesful but whether a group interpret was done. As
+both calls here happen in a non-group context bailing out on that
+if false (no group interpret) is wrong. Instead, ask the cell if
+it still needs to be interpreted after having been interpreted.
+
+Change-Id: I40eeeef65e1da3d729cb3fef550620b1ea0a5741
+Reviewed-on: https://gerrit.libreoffice.org/c/core/+/104261
+Tested-by: Jenkins
+Reviewed-by: Eike Rathke <erack at redhat.com>
+(cherry picked from commit 59f86333f3fce091177d1cfb9363aa81686aa497)
+Reviewed-on: https://gerrit.libreoffice.org/c/core/+/104289
+Reviewed-by: Xisco Fauli <xiscofauli at libreoffice.org>
+---
+ sc/source/core/data/column4.cxx | 8 ++++----
+ 1 file changed, 4 insertions(+), 4 deletions(-)
+
+diff --git a/sc/source/core/data/column4.cxx b/sc/source/core/data/column4.cxx
+index 73adaf72dd71..950b38766c44 100644
+--- a/sc/source/core/data/column4.cxx
++++ b/sc/source/core/data/column4.cxx
+@@ -1690,14 +1690,14 @@ static bool lcl_InterpretSpan(sc::formula_block::const_iterator& rSpanIter, SCRO
+                 ++itSpanStart;
+                 for (SCROW nIdx = nSpanStart+1; nIdx <= nSpanEnd; ++nIdx, ++itSpanStart)
+                 {
+-                    if( !(*itSpanStart)->Interpret()) // We know for sure that this cell is dirty so directly call Interpret().
++                    (*itSpanStart)->Interpret(); // We know for sure that this cell is dirty so directly call Interpret().
++                    if ((*itSpanStart)->NeedsInterpret())
+                     {
+                         SAL_WARN("sc.core.formulagroup", "Internal error, cell " << (*itSpanStart)->aPos
+                             << " failed running Interpret(), not allowing threading");
+                         bAllowThreading = false;
+                         return bAnyDirty;
+                     }
+-                    assert(!(*itSpanStart)->NeedsInterpret());
+ 
+                     // Allow early exit like above.
+                     if ((mxParentGroup && mxParentGroup->mbPartOfCycle) || !rRecursionHelper.AreGroupsIndependent())
+@@ -1804,14 +1804,14 @@ static void lcl_EvalDirty(sc::CellStoreType& rCells, SCROW nRow1, SCROW nRow2, S
+                         if( (*itCell)->NeedsInterpret())
+                         {
+                             bDirtyFlag = true;
+-                            if(!(*itCell)->Interpret())
++                            (*itCell)->Interpret();
++                            if ((*itCell)->NeedsInterpret())
+                             {
+                                 SAL_WARN("sc.core.formulagroup", "Internal error, cell " << (*itCell)->aPos
+                                     << " failed running Interpret(), not allowing threading");
+                                 bAllowThreading = false;
+                                 return;
+                             }
+-                            assert(!(*itCell)->NeedsInterpret());
+                         }
+                         bIsDirty = bIsDirty || bDirtyFlag;
+ 
+-- 
+cgit v1.2.1
+



More information about the arch-commits mailing list