[arch-commits] Commit in libreoffice-fresh/trunk (6 files)

Andreas Radke andyrtr at archlinux.org
Thu Feb 7 15:00:31 UTC 2019


    Date: Thursday, February 7, 2019 @ 15:00:30
  Author: andyrtr
Revision: 345605

upgpkg: libreoffice-fresh 6.2.0-1

upstream update 6.2.0

Modified:
  libreoffice-fresh/trunk/PKGBUILD
Deleted:
  libreoffice-fresh/trunk/0001-Update-mdds-to-1.4.1.patch
  libreoffice-fresh/trunk/0001-Update-orcus-to-0.14.0.patch
  libreoffice-fresh/trunk/libreoffice-poppler-0.71.patch
  libreoffice-fresh/trunk/libreoffice-poppler-0.72.patch
  libreoffice-fresh/trunk/libreoffice-poppler-0.73.patch

-----------------------------------+
 0001-Update-mdds-to-1.4.1.patch   |  694 -------------------------------
 0001-Update-orcus-to-0.14.0.patch |  802 ------------------------------------
 PKGBUILD                          |   59 --
 libreoffice-poppler-0.71.patch    |  271 ------------
 libreoffice-poppler-0.72.patch    |   51 --
 libreoffice-poppler-0.73.patch    |  302 -------------
 6 files changed, 21 insertions(+), 2158 deletions(-)

Deleted: 0001-Update-mdds-to-1.4.1.patch
===================================================================
--- 0001-Update-mdds-to-1.4.1.patch	2019-02-07 14:37:32 UTC (rev 345604)
+++ 0001-Update-mdds-to-1.4.1.patch	2019-02-07 15:00:30 UTC (rev 345605)
@@ -1,694 +0,0 @@
-From 3debd23d47d1fcbef76033c739a0b7003824d4ca Mon Sep 17 00:00:00 2001
-From: Noel Grandin <noel.grandin at collabora.co.uk>
-Date: Sat, 11 Aug 2018 13:25:09 +0200
-Subject: [PATCH] Update mdds to 1.4.1
-
-loplugin:constantparam
-
-Reviewed-on: https://gerrit.libreoffice.org/58875
-Tested-by: Jenkins
-Reviewed-by: Noel Grandin <noel.grandin at collabora.co.uk>
-(cherry picked from commit bb6f2b12e8f0bbc99a5ca93141d35fd40b043e55)
-
-Update mdds to 1.4.1.
-
-The largest change in 1.4.x relevant to the calc code is that the
-multi_type_matrix::walk() methods now take a copy of the function
-object rather than a reference, to allow for it to take an inline
-lambda function.  Instead, it does return a instance of the input
-function object, similar to how std::for_each() behaves.
-
-In case the function object contains a large data member, try to
-make it a moveable so that it will get moved rather than copied
-when going through one of the walk() methods.
-
-Reviewed-on: https://gerrit.libreoffice.org/59584
-Tested-by: Jenkins
-Reviewed-by: Kohei Yoshida <libreoffice at kohei.us>
-(cherry picked from commit 51f73f35ea61dd81dd3194af50394b98ff1bf8e9)
-
-mdds 1.4.1 is now a minimum requirement.
-
-Reviewed-on: https://gerrit.libreoffice.org/59614
-Tested-by: Jenkins
-Reviewed-by: Kohei Yoshida <libreoffice at kohei.us>
-(cherry picked from commit 4d1f735fcf064b18ef2848cc1f5a2a0616b0b33d)
-
-fd08fc4a2ed75039e5292a35ff08726e0126c77f
-647bcfbdd8e0417990ed93b25c1bca00f60df709
-
-Change-Id: I676a8408e97cc8134009f764736cad68513c89ad
----
- configure.ac                          |   2 +-
- download.lst                          |   4 +-
- external/mdds/UnpackedTarball_mdds.mk |   3 -
- external/mdds/c++17.patch             |  22 ---
- sc/inc/scmatrix.hxx                   |   6 +-
- sc/source/core/tool/interpr3.cxx      |   4 +-
- sc/source/core/tool/scmatrix.cxx      | 208 +++++++++++++++++++-------
- 7 files changed, 161 insertions(+), 88 deletions(-)
- delete mode 100644 external/mdds/c++17.patch
-
-diff --git a/configure.ac b/configure.ac
-index 735ebf2e360a..3ff574a3f24f 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -8883,7 +8883,7 @@ AC_SUBST(SYSTEM_BOOST)
- dnl ===================================================================
- dnl Check for system mdds
- dnl ===================================================================
--libo_CHECK_SYSTEM_MODULE([mdds], [MDDS], [mdds-1.2 >= 1.2.3], ["-I${WORKDIR}/UnpackedTarball/mdds/include"])
-+libo_CHECK_SYSTEM_MODULE([mdds], [MDDS], [mdds-1.4 >= 1.4.1], ["-I${WORKDIR}/UnpackedTarball/mdds/include"])
- 
- dnl ===================================================================
- dnl Check for system glm
-diff --git a/download.lst b/download.lst
-index c40bece90e26..d4c145a0cfc9 100644
---- a/download.lst
-+++ b/download.lst
-@@ -166,8 +166,8 @@ export LXML_SHA256SUM := 940caef1ec7c78e0c34b0f6b94fe42d0f2022915ffc78643d28538a
- export LXML_TARBALL := lxml-4.1.1.tgz
- export MARIADB_CONNECTOR_C_SHA256SUM := fd2f751dea049c1907735eb236aeace1d811d6a8218118b00bbaa9b84dc5cd60
- export MARIADB_CONNECTOR_C_TARBALL := a233181e03d3c307668b4c722d881661-mariadb_client-2.0.0-src.tar.gz
--export MDDS_SHA256SUM := dcb8cd2425567a5a5ec164afea475bce57784bca3e352ad4cbdd3d1a7e08e5a1
--export MDDS_TARBALL := mdds-1.3.1.tar.bz2
-+export MDDS_SHA256SUM := 9ac690c37f5f06dc88551405d5daf9d9ad25edf65aae6325b59e905c2ba444c3
-+export MDDS_TARBALL := mdds-1.4.1.tar.bz2
- export MDNSRESPONDER_SHA256SUM := 4737cb51378377e11d0edb7bcdd1bec79cbdaa7b27ea09c13e3006e58f8d92c0
- export MDNSRESPONDER_TARBALL := mDNSResponder-576.30.4.tar.gz
- export MSPUB_SHA256SUM := ef36c1a1aabb2ba3b0bedaaafe717bf4480be2ba8de6f3894be5fd3702b013ba
-diff --git a/external/mdds/UnpackedTarball_mdds.mk b/external/mdds/UnpackedTarball_mdds.mk
-index 4f6db6b24e7b..c015f4c13f5a 100644
---- a/external/mdds/UnpackedTarball_mdds.mk
-+++ b/external/mdds/UnpackedTarball_mdds.mk
-@@ -13,10 +13,7 @@ $(eval $(call gb_UnpackedTarball_set_tarball,mdds,$(MDDS_TARBALL)))
- 
- $(eval $(call gb_UnpackedTarball_set_patchlevel,mdds,0))
- 
--# c++17.patch upstreamed as <https://gitlab.com/mdds/mdds/merge_requests/11> "Remove some
--# unnecessary uses of obsolete std::unary_function":
- $(eval $(call gb_UnpackedTarball_add_patches,mdds,\
--    external/mdds/c++17.patch \
- ))
- 
- # vim: set noet sw=4 ts=4:
-diff --git a/external/mdds/c++17.patch b/external/mdds/c++17.patch
-deleted file mode 100644
-index d96910f34e68..000000000000
---- a/external/mdds/c++17.patch
-+++ /dev/null
-@@ -1,22 +0,0 @@
----- include/mdds/multi_type_matrix.hpp
--+++ include/mdds/multi_type_matrix.hpp
--@@ -149,7 +149,7 @@
-- 
-- private:
--     template<typename _Func>
---    struct walk_func : std::unary_function<typename store_type::const_iterator::value_type, void>
--+    struct walk_func
--     {
--         _Func& m_func;
--         walk_func(_Func& func) : m_func(func) {}
----- include/mdds/multi_type_vector.hpp
--+++ include/mdds/multi_type_vector.hpp
--@@ -139,7 +139,7 @@
--         block& operator=(block);
--     };
-- 
---    struct element_block_deleter : public std::unary_function<void, const element_block_type*>
--+    struct element_block_deleter
--     {
--         void operator() (const element_block_type* p)
--         {
-diff --git a/sc/inc/scmatrix.hxx b/sc/inc/scmatrix.hxx
-index 9be335fbc06b..b1bc5e0e3047 100644
---- a/sc/inc/scmatrix.hxx
-+++ b/sc/inc/scmatrix.hxx
-@@ -399,7 +399,7 @@ public:
-     virtual void DivOp(bool bFlag, double fVal, ScMatrix& rMat) = 0;
-     virtual void PowOp(bool bFlag, double fVal, ScMatrix& rMat) = 0;
- 
--    virtual std::vector<ScMatrix::IterateResult> Collect(bool bTextAsZero, const std::vector<std::unique_ptr<sc::op::Op>>& aOp) = 0;
-+    virtual std::vector<ScMatrix::IterateResult> Collect(const std::vector<std::unique_ptr<sc::op::Op>>& aOp) = 0;
- 
-     virtual void ExecuteOperation(const std::pair<size_t, size_t>& rStartPos, const std::pair<size_t, size_t>& rEndPos,
-             DoubleOpFunction aDoubleFunc, BoolOpFunction aBoolFunc, StringOpFunction aStringFunc,
-@@ -617,7 +617,7 @@ public:
-     virtual void DivOp(bool bFlag, double fVal, ScMatrix& rMat) override;
-     virtual void PowOp(bool bFlag, double fVal, ScMatrix& rMat) override;
- 
--    virtual std::vector<ScMatrix::IterateResult> Collect(bool bTextAsZero, const std::vector<std::unique_ptr<sc::op::Op>>& aOp) override;
-+    virtual std::vector<ScMatrix::IterateResult> Collect(const std::vector<std::unique_ptr<sc::op::Op>>& aOp) override;
- 
-     virtual void ExecuteOperation(const std::pair<size_t, size_t>& rStartPos, const std::pair<size_t, size_t>& rEndPos,
-             DoubleOpFunction aDoubleFunc, BoolOpFunction aBoolFunc, StringOpFunction aStringFunc,
-@@ -837,7 +837,7 @@ public:
-     virtual void DivOp(bool bFlag, double fVal, ScMatrix& rMat) override;
-     virtual void PowOp(bool bFlag, double fVal, ScMatrix& rMat) override;
- 
--    virtual std::vector<ScMatrix::IterateResult> Collect(bool bTextAsZero, const std::vector<std::unique_ptr<sc::op::Op>>& aOp) override;
-+    virtual std::vector<ScMatrix::IterateResult> Collect(const std::vector<std::unique_ptr<sc::op::Op>>& aOp) override;
- 
-     virtual void ExecuteOperation(const std::pair<size_t, size_t>& rStartPos, const std::pair<size_t, size_t>& rEndPos,
-             DoubleOpFunction aDoubleFunc, BoolOpFunction aBoolFunc, StringOpFunction aStringFunc,
-diff --git a/sc/source/core/tool/interpr3.cxx b/sc/source/core/tool/interpr3.cxx
-index 28e8cd9a9c48..88c0d8353783 100644
---- a/sc/source/core/tool/interpr3.cxx
-+++ b/sc/source/core/tool/interpr3.cxx
-@@ -2745,12 +2745,12 @@ void ScInterpreter::ScFTest()
-     aOp.emplace_back(new sc::op::Op(0.0, [](double& rAccum, double fVal){rAccum += fVal;}));
-     aOp.emplace_back(new sc::op::Op(0.0, [](double& rAccum, double fVal){rAccum += fVal * fVal;}));
- 
--    auto aVal1 = pMat1->Collect(false, aOp);
-+    auto aVal1 = pMat1->Collect(aOp);
-     fSum1 = aVal1[0].mfFirst + aVal1[0].mfRest;
-     fSumSqr1 = aVal1[1].mfFirst + aVal1[1].mfRest;
-     fCount1 = aVal1[2].mnCount;
- 
--    auto aVal2 = pMat2->Collect(false, aOp);
-+    auto aVal2 = pMat2->Collect(aOp);
-     fSum2 = aVal2[0].mfFirst + aVal2[0].mfRest;
-     fSumSqr2 = aVal2[1].mfFirst + aVal2[1].mfRest;
-     fCount2 = aVal2[2].mnCount;
-diff --git a/sc/source/core/tool/scmatrix.cxx b/sc/source/core/tool/scmatrix.cxx
-index 7f8c8767e917..7dadec9f0b57 100644
---- a/sc/source/core/tool/scmatrix.cxx
-+++ b/sc/source/core/tool/scmatrix.cxx
-@@ -160,6 +160,12 @@ public:
-         maNewMatValues.reserve(nRow*nCol);
-     }
- 
-+    CompareMatrixElemFunc( const CompareMatrixElemFunc& ) = delete;
-+    CompareMatrixElemFunc& operator= ( const CompareMatrixElemFunc& ) = delete;
-+
-+    CompareMatrixElemFunc( CompareMatrixElemFunc&& ) = default;
-+    CompareMatrixElemFunc& operator= ( CompareMatrixElemFunc&& ) = default;
-+
-     void operator() (const MatrixImplType::element_block_node_type& node)
-     {
-         switch (node.type)
-@@ -323,7 +329,7 @@ public:
-             const ScFullMatrix::EmptyOpFunction& aEmptyFunc) const;
- 
-     template<typename T>
--    std::vector<ScMatrix::IterateResult> ApplyCollectOperation(bool bTextAsZero, const std::vector<std::unique_ptr<T>>& aOp);
-+    std::vector<ScMatrix::IterateResult> ApplyCollectOperation(const std::vector<std::unique_ptr<T>>& aOp);
- 
-     void MatConcat(SCSIZE nMaxCol, SCSIZE nMaxRow, const ScMatrixRef& xMat1, const ScMatrixRef& xMat2,
-             SvNumberFormatter& rFormatter, svl::SharedStringPool& rPool);
-@@ -979,7 +985,7 @@ void ScMatrixImpl::CompareEqual()
- {
-     MatrixImplType::size_pair_type aSize = maMat.size();
-     CompareMatrixElemFunc<ElemEqualZero> aFunc(aSize.row, aSize.column);
--    maMat.walk(aFunc);
-+    aFunc = maMat.walk(std::move(aFunc));
-     aFunc.swap(maMat);
- }
- 
-@@ -987,7 +993,7 @@ void ScMatrixImpl::CompareNotEqual()
- {
-     MatrixImplType::size_pair_type aSize = maMat.size();
-     CompareMatrixElemFunc<ElemNotEqualZero> aFunc(aSize.row, aSize.column);
--    maMat.walk(aFunc);
-+    aFunc = maMat.walk(std::move(aFunc));
-     aFunc.swap(maMat);
- }
- 
-@@ -995,7 +1001,7 @@ void ScMatrixImpl::CompareLess()
- {
-     MatrixImplType::size_pair_type aSize = maMat.size();
-     CompareMatrixElemFunc<ElemLessZero> aFunc(aSize.row, aSize.column);
--    maMat.walk(aFunc);
-+    aFunc = maMat.walk(std::move(aFunc));
-     aFunc.swap(maMat);
- }
- 
-@@ -1003,7 +1009,7 @@ void ScMatrixImpl::CompareGreater()
- {
-     MatrixImplType::size_pair_type aSize = maMat.size();
-     CompareMatrixElemFunc<ElemGreaterZero> aFunc(aSize.row, aSize.column);
--    maMat.walk(aFunc);
-+    aFunc = maMat.walk(std::move(aFunc));
-     aFunc.swap(maMat);
- }
- 
-@@ -1011,7 +1017,7 @@ void ScMatrixImpl::CompareLessEqual()
- {
-     MatrixImplType::size_pair_type aSize = maMat.size();
-     CompareMatrixElemFunc<ElemLessEqualZero> aFunc(aSize.row, aSize.column);
--    maMat.walk(aFunc);
-+    aFunc = maMat.walk(std::move(aFunc));
-     aFunc.swap(maMat);
- }
- 
-@@ -1019,7 +1025,7 @@ void ScMatrixImpl::CompareGreaterEqual()
- {
-     MatrixImplType::size_pair_type aSize = maMat.size();
-     CompareMatrixElemFunc<ElemGreaterEqualZero> aFunc(aSize.row, aSize.column);
--    maMat.walk(aFunc);
-+    aFunc = maMat.walk(std::move(aFunc));
-     aFunc.swap(maMat);
- }
- 
-@@ -1174,21 +1180,34 @@ public:
- template<typename Op>
- class WalkElementBlocksMultipleValues
- {
--    const std::vector<std::unique_ptr<Op>>& maOp;
-+    const std::vector<std::unique_ptr<Op>>* mpOp;
-     std::vector<ScMatrix::IterateResult> maRes;
-     bool mbFirst:1;
--    bool mbTextAsZero:1;
- public:
--    WalkElementBlocksMultipleValues(bool bTextAsZero, const std::vector<std::unique_ptr<Op>>& aOp) :
--        maOp(aOp), mbFirst(true), mbTextAsZero(bTextAsZero)
-+    WalkElementBlocksMultipleValues(const std::vector<std::unique_ptr<Op>>& aOp) :
-+        mpOp(&aOp), mbFirst(true)
-     {
--        for (const auto& rpOp : maOp)
-+        for (const auto& rpOp : *mpOp)
-         {
-             maRes.emplace_back(rpOp->mInitVal, rpOp->mInitVal, 0);
-         }
-         maRes.emplace_back(0.0, 0.0, 0); // count
-     }
- 
-+    WalkElementBlocksMultipleValues( const WalkElementBlocksMultipleValues& ) = delete;
-+    WalkElementBlocksMultipleValues& operator= ( const WalkElementBlocksMultipleValues& ) = delete;
-+
-+    WalkElementBlocksMultipleValues( WalkElementBlocksMultipleValues&& r ) :
-+        mpOp(r.mpOp), maRes(std::move(r.maRes)), mbFirst(r.mbFirst) {}
-+
-+    WalkElementBlocksMultipleValues& operator= ( WalkElementBlocksMultipleValues&& r )
-+    {
-+        mpOp = r.mpOp;
-+        maRes = std::move(r.maRes);
-+        mbFirst = r.mbFirst;
-+        return *this;
-+    }
-+
-     const std::vector<ScMatrix::IterateResult>& getResult() const { return maRes; }
- 
-     void operator() (const MatrixImplType::element_block_node_type& node)
-@@ -1205,17 +1224,17 @@ public:
-                 {
-                     if (mbFirst)
-                     {
--                        for (auto i = 0u; i < maOp.size(); ++i)
-+                        for (auto i = 0u; i < mpOp->size(); ++i)
-                         {
--                            (*maOp[i])(maRes[i].mfFirst, *it);
-+                            (*(*mpOp)[i])(maRes[i].mfFirst, *it);
-                         }
-                         mbFirst = false;
-                     }
-                     else
-                     {
--                        for (auto i = 0u; i < maOp.size(); ++i)
-+                        for (auto i = 0u; i < mpOp->size(); ++i)
-                         {
--                            (*maOp[i])(maRes[i].mfRest, *it);
-+                            (*(*mpOp)[i])(maRes[i].mfRest, *it);
-                         }
-                     }
-                 }
-@@ -1232,17 +1251,17 @@ public:
-                 {
-                     if (mbFirst)
-                     {
--                        for (auto i = 0u; i < maOp.size(); ++i)
-+                        for (auto i = 0u; i < mpOp->size(); ++i)
-                         {
--                            (*maOp[i])(maRes[i].mfFirst, *it);
-+                            (*(*mpOp)[i])(maRes[i].mfFirst, *it);
-                         }
-                         mbFirst = false;
-                     }
-                     else
-                     {
--                        for (auto i = 0u; i < maOp.size(); ++i)
-+                        for (auto i = 0u; i < mpOp->size(); ++i)
-                         {
--                            (*maOp[i])(maRes[i].mfRest, *it);
-+                            (*(*mpOp)[i])(maRes[i].mfRest, *it);
-                         }
-                     }
-                 }
-@@ -1250,9 +1269,6 @@ public:
-             }
-             break;
-             case mdds::mtm::element_string:
--                if (mbTextAsZero)
--                    maRes.back().mnCount += node.size;
--            break;
-             case mdds::mtm::element_empty:
-             default:
-                 ;
-@@ -1310,8 +1326,8 @@ template<typename Type>
- class WalkAndMatchElements
- {
-     Type maMatchValue;
--    const size_t mnStartIndex;
--    const size_t mnStopIndex;
-+    size_t mnStartIndex;
-+    size_t mnStopIndex;
-     size_t mnResult;
-     size_t mnIndex;
- 
-@@ -1669,6 +1685,24 @@ public:
-         maResValues.reserve(nResSize);
-     }
- 
-+    CompareMatrixFunc( const CompareMatrixFunc& ) = delete;
-+    CompareMatrixFunc& operator= ( const CompareMatrixFunc& ) = delete;
-+
-+    CompareMatrixFunc( CompareMatrixFunc&& r ) :
-+        mrComp(r.mrComp),
-+        mnMatPos(r.mnMatPos),
-+        mpOptions(r.mpOptions),
-+        maResValues(std::move(r.maResValues)) {}
-+
-+    CompareMatrixFunc& operator= ( CompareMatrixFunc&& r )
-+    {
-+        mrComp = r.mrComp;
-+        mnMatPos = r.mnMatPos;
-+        mpOptions = r.mpOptions;
-+        maResValues = std::move(r.maResValues);
-+        return *this;
-+    }
-+
-     void operator() (const MatrixImplType::element_block_node_type& node)
-     {
-         sc::Compare::Cell& rCell = mrComp.maCells[mnMatPos];
-@@ -1777,6 +1811,24 @@ public:
-         maResValues.reserve(nResSize);
-     }
- 
-+    CompareMatrixToNumericFunc( const CompareMatrixToNumericFunc& ) = delete;
-+    CompareMatrixToNumericFunc& operator= ( const CompareMatrixToNumericFunc& ) = delete;
-+
-+    CompareMatrixToNumericFunc( CompareMatrixToNumericFunc&& r ) :
-+        mrComp(r.mrComp),
-+        mfRightValue(r.mfRightValue),
-+        mpOptions(r.mpOptions),
-+        maResValues(std::move(r.maResValues)) {}
-+
-+    CompareMatrixToNumericFunc& operator= ( CompareMatrixToNumericFunc&& r )
-+    {
-+        mrComp = r.mrComp;
-+        mfRightValue = r.mfRightValue;
-+        mpOptions = r.mpOptions;
-+        maResValues = std::move(r.maResValues);
-+        return *this;
-+    }
-+
-     void operator() (const MatrixImplType::element_block_node_type& node)
-     {
-         sc::Compare::Cell& rCell = mrComp.maCells[0];
-@@ -1840,6 +1892,17 @@ class ToDoubleArray
-     double mfNaN;
-     bool mbEmptyAsZero;
- 
-+    void moveArray( ToDoubleArray& r )
-+    {
-+        // Re-create the iterator from the new array after the array has been
-+        // moved, to ensure that the iterator points to a valid array
-+        // position.
-+        size_t n = std::distance(r.maArray.begin(), r.miPos);
-+        maArray = std::move(r.maArray);
-+        miPos = maArray.begin();
-+        std::advance(miPos, n);
-+    }
-+
- public:
-     ToDoubleArray( size_t nSize, bool bEmptyAsZero ) :
-         maArray(nSize, 0.0), miPos(maArray.begin()), mbEmptyAsZero(bEmptyAsZero)
-@@ -1847,6 +1910,23 @@ public:
-         mfNaN = CreateDoubleError( FormulaError::ElementNaN);
-     }
- 
-+    ToDoubleArray( const ToDoubleArray& ) = delete;
-+    ToDoubleArray& operator= ( const ToDoubleArray& ) = delete;
-+
-+    ToDoubleArray( ToDoubleArray&& r ) :
-+        mfNaN(r.mfNaN), mbEmptyAsZero(r.mbEmptyAsZero)
-+    {
-+        moveArray(r);
-+    }
-+
-+    ToDoubleArray& operator= ( ToDoubleArray&& r )
-+    {
-+        mfNaN = r.mfNaN;
-+        mbEmptyAsZero = r.mbEmptyAsZero;
-+        moveArray(r);
-+        return *this;
-+    }
-+
-     void operator() (const MatrixImplType::element_block_node_type& node)
-     {
-         using namespace mdds::mtv;
-@@ -1917,6 +1997,12 @@ public:
-         mfNaN = CreateDoubleError( FormulaError::ElementNaN);
-     }
- 
-+    MergeDoubleArrayFunc( const MergeDoubleArrayFunc& ) = delete;
-+    MergeDoubleArrayFunc& operator= ( const MergeDoubleArrayFunc& ) = delete;
-+
-+    MergeDoubleArrayFunc( MergeDoubleArrayFunc&& ) = default;
-+    MergeDoubleArrayFunc& operator= ( MergeDoubleArrayFunc&& ) = default;
-+
-     void operator() (const MatrixImplType::element_block_node_type& node)
-     {
-         using namespace mdds::mtv;
-@@ -1982,7 +2068,7 @@ template<typename TOp>
- ScMatrix::IterateResult GetValueWithCount(bool bTextAsZero, const MatrixImplType& maMat)
- {
-     WalkElementBlocks<TOp> aFunc(bTextAsZero);
--    maMat.walk(aFunc);
-+    aFunc = maMat.walk(aFunc);
-     return aFunc.getResult();
- }
- 
-@@ -2006,49 +2092,49 @@ ScMatrix::IterateResult ScMatrixImpl::Product(bool bTextAsZero) const
- size_t ScMatrixImpl::Count(bool bCountStrings, bool bCountErrors) const
- {
-     CountElements aFunc(bCountStrings, bCountErrors);
--    maMat.walk(aFunc);
-+    aFunc = maMat.walk(aFunc);
-     return aFunc.getCount();
- }
- 
- size_t ScMatrixImpl::MatchDoubleInColumns(double fValue, size_t nCol1, size_t nCol2) const
- {
-     WalkAndMatchElements<double> aFunc(fValue, maMat.size(), nCol1, nCol2);
--    maMat.walk(aFunc);
-+    aFunc = maMat.walk(aFunc);
-     return aFunc.getMatching();
- }
- 
- size_t ScMatrixImpl::MatchStringInColumns(const svl::SharedString& rStr, size_t nCol1, size_t nCol2) const
- {
-     WalkAndMatchElements<svl::SharedString> aFunc(rStr, maMat.size(), nCol1, nCol2);
--    maMat.walk(aFunc);
-+    aFunc = maMat.walk(aFunc);
-     return aFunc.getMatching();
- }
- 
- double ScMatrixImpl::GetMaxValue( bool bTextAsZero ) const
- {
-     CalcMaxMinValue<MaxOp> aFunc(bTextAsZero);
--    maMat.walk(aFunc);
-+    aFunc = maMat.walk(aFunc);
-     return aFunc.getValue();
- }
- 
- double ScMatrixImpl::GetMinValue( bool bTextAsZero ) const
- {
-     CalcMaxMinValue<MinOp> aFunc(bTextAsZero);
--    maMat.walk(aFunc);
-+    aFunc = maMat.walk(aFunc);
-     return aFunc.getValue();
- }
- 
- double ScMatrixImpl::GetGcd() const
- {
-     CalcGcdLcm<Gcd> aFunc;
--    maMat.walk(aFunc);
-+    aFunc = maMat.walk(aFunc);
-     return aFunc.getResult();
- }
- 
- double ScMatrixImpl::GetLcm() const
- {
-     CalcGcdLcm<Lcm> aFunc;
--    maMat.walk(aFunc);
-+    aFunc = maMat.walk(aFunc);
-     return aFunc.getResult();
- }
- 
-@@ -2065,7 +2151,7 @@ ScMatrixRef ScMatrixImpl::CompareMatrix(
-             // function object that has much less branching for much better
-             // performance.
-             CompareMatrixToNumericFunc aFunc(nSize, rComp, rComp.maCells[1].mfValue, pOptions);
--            maMat.walk(aFunc);
-+            aFunc = maMat.walk(std::move(aFunc));
- 
-             // We assume the result matrix has the same dimension as this matrix.
-             const std::vector<double>& rResVal = aFunc.getValues();
-@@ -2077,7 +2163,7 @@ ScMatrixRef ScMatrixImpl::CompareMatrix(
-     }
- 
-     CompareMatrixFunc aFunc(nSize, rComp, nMatPos, pOptions);
--    maMat.walk(aFunc);
-+    aFunc = maMat.walk(std::move(aFunc));
- 
-     // We assume the result matrix has the same dimension as this matrix.
-     const std::vector<double>& rResVal = aFunc.getValues();
-@@ -2091,7 +2177,7 @@ void ScMatrixImpl::GetDoubleArray( std::vector<double>& rArray, bool bEmptyAsZer
- {
-     MatrixImplType::size_pair_type aSize = maMat.size();
-     ToDoubleArray aFunc(aSize.row*aSize.column, bEmptyAsZero);
--    maMat.walk(aFunc);
-+    aFunc = maMat.walk(std::move(aFunc));
-     aFunc.swap(rArray);
- }
- 
-@@ -2107,7 +2193,7 @@ void ScMatrixImpl::MergeDoubleArray( std::vector<double>& rArray, ScFullMatrix::
-         case ScFullMatrix::Mul:
-         {
-             MergeDoubleArrayFunc<ArrayMul> aFunc(rArray);
--            maMat.walk(aFunc);
-+            aFunc = maMat.walk(std::move(aFunc));
-         }
-         break;
-         default:
-@@ -2329,16 +2415,26 @@ struct MatrixOpWrapper
- private:
-     MatrixImplType& mrMat;
-     MatrixImplType::position_type pos;
--    T maOp;
-+    const T* mpOp;
- 
- public:
--    MatrixOpWrapper(MatrixImplType& rMat, T const & aOp):
-+    MatrixOpWrapper(MatrixImplType& rMat, const T& aOp):
-         mrMat(rMat),
-         pos(rMat.position(0,0)),
--        maOp(aOp)
-+        mpOp(&aOp)
-     {
-     }
- 
-+    MatrixOpWrapper( const MatrixOpWrapper& r ) : mrMat(r.mrMat), pos(r.pos), mpOp(r.mpOp) {}
-+
-+    MatrixOpWrapper& operator= ( const MatrixOpWrapper& r )
-+    {
-+        mrMat = r.mrMat;
-+        pos = r.pos;
-+        mpOp = r.mpOp;
-+        return *this;
-+    }
-+
-     void operator()(const MatrixImplType::element_block_node_type& node)
-     {
-         switch (node.type)
-@@ -2349,7 +2445,7 @@ public:
- 
-                 block_type::const_iterator it = block_type::begin(*node.data);
-                 block_type::const_iterator itEnd = block_type::end(*node.data);
--                MatrixIteratorWrapper<block_type, T, typename T::number_value_type> aFunc(it, itEnd, maOp);
-+                MatrixIteratorWrapper<block_type, T, typename T::number_value_type> aFunc(it, itEnd, *mpOp);
-                 pos = mrMat.set(pos,aFunc.begin(), aFunc.end());
-             }
-             break;
-@@ -2360,7 +2456,7 @@ public:
-                 block_type::const_iterator it = block_type::begin(*node.data);
-                 block_type::const_iterator itEnd = block_type::end(*node.data);
- 
--                MatrixIteratorWrapper<block_type, T, typename T::number_value_type> aFunc(it, itEnd, maOp);
-+                MatrixIteratorWrapper<block_type, T, typename T::number_value_type> aFunc(it, itEnd, *mpOp);
-                 pos = mrMat.set(pos, aFunc.begin(), aFunc.end());
-             }
-             break;
-@@ -2371,17 +2467,17 @@ public:
-                 block_type::const_iterator it = block_type::begin(*node.data);
-                 block_type::const_iterator itEnd = block_type::end(*node.data);
- 
--                MatrixIteratorWrapper<block_type, T, typename T::number_value_type> aFunc(it, itEnd, maOp);
-+                MatrixIteratorWrapper<block_type, T, typename T::number_value_type> aFunc(it, itEnd, *mpOp);
-                 pos = mrMat.set(pos, aFunc.begin(), aFunc.end());
-             }
-             break;
-             case mdds::mtm::element_empty:
-             {
--                if (maOp.useFunctionForEmpty())
-+                if (mpOp->useFunctionForEmpty())
-                 {
-                     std::vector<char> aVec(node.size);
-                     MatrixIteratorWrapper<std::vector<char>, T, typename T::number_value_type>
--                        aFunc(aVec.begin(), aVec.end(), maOp);
-+                        aFunc(aVec.begin(), aVec.end(), *mpOp);
-                     pos = mrMat.set(pos, aFunc.begin(), aFunc.end());
-                 }
-             }
-@@ -2397,14 +2493,14 @@ template<typename T>
- void ScMatrixImpl::ApplyOperation(T aOp, ScMatrixImpl& rMat)
- {
-     MatrixOpWrapper<T> aFunc(rMat.maMat, aOp);
--    maMat.walk(aFunc);
-+    aFunc = maMat.walk(aFunc);
- }
- 
- template<typename T>
--std::vector<ScMatrix::IterateResult> ScMatrixImpl::ApplyCollectOperation(bool bTextAsZero, const std::vector<std::unique_ptr<T>>& aOp)
-+std::vector<ScMatrix::IterateResult> ScMatrixImpl::ApplyCollectOperation(const std::vector<std::unique_ptr<T>>& aOp)
- {
--    WalkElementBlocksMultipleValues<T> aFunc(bTextAsZero, aOp);
--    maMat.walk(aFunc);
-+    WalkElementBlocksMultipleValues<T> aFunc(aOp);
-+    aFunc = maMat.walk(std::move(aFunc));
-     return aFunc.getResult();
- }
- 
-@@ -2544,8 +2640,10 @@ void ScMatrixImpl::ExecuteOperation(const std::pair<size_t, size_t>& rStartPos,
- {
-     WalkElementBlockOperation aFunc(maMat.size().row,
-             aDoubleFunc, aBoolFunc, aStringFunc, aEmptyFunc);
--    maMat.walk(aFunc, MatrixImplType::size_pair_type(rStartPos.first, rStartPos.second),
--            MatrixImplType::size_pair_type(rEndPos.first, rEndPos.second));
-+    aFunc = maMat.walk(
-+        aFunc,
-+        MatrixImplType::size_pair_type(rStartPos.first, rStartPos.second),
-+        MatrixImplType::size_pair_type(rEndPos.first, rEndPos.second));
- }
- 
- #if DEBUG_MATRIX
-@@ -3452,9 +3550,9 @@ void ScFullMatrix::ExecuteOperation(const std::pair<size_t, size_t>& rStartPos,
-     pImpl->ExecuteOperation(rStartPos, rEndPos, aDoubleFunc, aBoolFunc, aStringFunc, aEmptyFunc);
- }
- 
--std::vector<ScMatrix::IterateResult> ScFullMatrix::Collect(bool bTextAsZero, const std::vector<std::unique_ptr<sc::op::Op>>& aOp)
-+std::vector<ScMatrix::IterateResult> ScFullMatrix::Collect(const std::vector<std::unique_ptr<sc::op::Op>>& aOp)
- {
--    return pImpl->ApplyCollectOperation(bTextAsZero, aOp);
-+    return pImpl->ApplyCollectOperation(aOp);
- }
- 
- ScFullMatrix& ScFullMatrix::operator+= ( const ScFullMatrix& r )
-@@ -4216,10 +4314,10 @@ void ScVectorRefMatrix::PowOp(bool bFlag, double fVal, ScMatrix& rMat)
-     mpFullMatrix->PowOp(bFlag, fVal, rMat);
- }
- 
--std::vector<ScMatrix::IterateResult> ScVectorRefMatrix::Collect(bool bTextAsZero, const std::vector<std::unique_ptr<sc::op::Op>>& aOp)
-+std::vector<ScMatrix::IterateResult> ScVectorRefMatrix::Collect(const std::vector<std::unique_ptr<sc::op::Op>>& aOp)
- {
-     ensureFullMatrix();
--    return mpFullMatrix->Collect(bTextAsZero, aOp);
-+    return mpFullMatrix->Collect(aOp);
- }
- 
- void ScVectorRefMatrix::ExecuteOperation(const std::pair<size_t, size_t>& rStartPos,
--- 
-2.17.1
-
-

Deleted: 0001-Update-orcus-to-0.14.0.patch
===================================================================
--- 0001-Update-orcus-to-0.14.0.patch	2019-02-07 14:37:32 UTC (rev 345604)
+++ 0001-Update-orcus-to-0.14.0.patch	2019-02-07 15:00:30 UTC (rev 345605)
@@ -1,802 +0,0 @@
-From 1d0727a104d76210814f41c1169df318e40c9d80 Mon Sep 17 00:00:00 2001
-From: Kohei Yoshida <kohei.yoshida at gmail.com>
-Date: Mon, 27 Aug 2018 11:06:17 -0400
-Subject: [PATCH] Update orcus to 0.14.0.
-
-And make all necessary adjustments for the new version of orcus.
-
-Change-Id: I0dc207162a3ddfaad6da198a3d13b65f530757d5
-Reviewed-on: https://gerrit.libreoffice.org/59884
-Tested-by: Jenkins
-Reviewed-by: Kohei Yoshida <libreoffice at kohei.us>
----
- RepositoryExternal.mk                         |   4 +-
- configure.ac                                  |   2 +-
- download.lst                                  |   4 +-
- .../0001-Missing-header-for-std-tolower.patch |  24 ++
- external/liborcus/ExternalPackage_liborcus.mk |   8 +-
- external/liborcus/ExternalProject_liborcus.mk |   4 +-
- external/liborcus/Library_orcus.mk            |   2 +
- external/liborcus/UnpackedTarball_liborcus.mk |   1 +
- external/liborcus/gcc9.patch.0                |   3 +-
- sc/source/filter/inc/orcusinterface.hxx       | 107 ++++--
- sc/source/filter/orcus/interface.cxx          | 322 +++++++++++++-----
- sc/source/filter/orcus/xmlcontext.cxx         |   5 +-
- 12 files changed, 360 insertions(+), 126 deletions(-)
- create mode 100644 external/liborcus/0001-Missing-header-for-std-tolower.patch
-
-diff --git a/RepositoryExternal.mk b/RepositoryExternal.mk
-index cec79cc105e8..f172765a84f8 100644
---- a/RepositoryExternal.mk
-+++ b/RepositoryExternal.mk
-@@ -3295,7 +3295,7 @@ $(call gb_LinkTarget_set_include,$(1),\
- )
- 
- $(call gb_LinkTarget_add_libs,$(1),\
--       -L$(call gb_UnpackedTarball_get_dir,liborcus)/src/liborcus/.libs -lorcus-0.13 \
-+       -L$(call gb_UnpackedTarball_get_dir,liborcus)/src/liborcus/.libs -lorcus-0.14 \
- )
- 
- $(if $(SYSTEM_BOOST), \
-@@ -3314,7 +3314,7 @@ $(call gb_LinkTarget_set_include,$(1),\
- )
- 
- $(call gb_LinkTarget_add_libs,$(1),\
--	-L$(call gb_UnpackedTarball_get_dir,liborcus)/src/parser/.libs -lorcus-parser-0.13 \
-+	-L$(call gb_UnpackedTarball_get_dir,liborcus)/src/parser/.libs -lorcus-parser-0.14 \
- )
- 
- endef
-diff --git a/configure.ac b/configure.ac
-index 3c9e5dc5e908..a60a3e72689f 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -9196,7 +9196,7 @@ AC_SUBST(ENABLE_FUZZERS)
- dnl ===================================================================
- dnl Orcus
- dnl ===================================================================
--libo_CHECK_SYSTEM_MODULE([orcus],[ORCUS],[liborcus-0.13 >= 0.13.3])
-+libo_CHECK_SYSTEM_MODULE([orcus],[ORCUS],[liborcus-0.14 >= 0.14.0])
- if test "$with_system_orcus" != "yes"; then
-     if test "$SYSTEM_BOOST" = "TRUE"; then
-         # ===========================================================
-diff --git a/download.lst b/download.lst
-index 1ed75b36f3b3..3532e2be3aa3 100644
---- a/download.lst
-+++ b/download.lst
-@@ -194,8 +194,8 @@ export OPENLDAP_SHA256SUM := cdd6cffdebcd95161a73305ec13fc7a78e9707b46ca9f84fb89
- export OPENLDAP_TARBALL := openldap-2.4.45.tgz
- export OPENSSL_SHA256SUM := 50a98e07b1a89eb8f6a99477f262df71c6fa7bef77df4dc83025a2845c827d00
- export OPENSSL_TARBALL := openssl-1.0.2p.tar.gz
--export ORCUS_SHA256SUM := bc01b1b3e9091416f498840d3c19a1aa2704b448100e7f6b80eefe88aab06d5b
--export ORCUS_TARBALL := liborcus-0.13.4.tar.gz
-+export ORCUS_SHA256SUM := 7bcfac3f4f490540292cfc87d3fde7b47eafa8450afa1e1a2c181d8293dcd4ef
-+export ORCUS_TARBALL := liborcus-0.14.0.tar.gz
- export OWNCLOUD_ANDROID_LIB_SHA256SUM := b18b3e3ef7fae6a79b62f2bb43cc47a5346b6330f6a383dc4be34439aca5e9fb
- export OWNCLOUD_ANDROID_LIB_TARBALL := owncloud-android-library-0.9.4-no-binary-deps.tar.gz
- export PAGEMAKER_SHA256SUM := 66adacd705a7d19895e08eac46d1e851332adf2e736c566bef1164e7a442519d
-diff --git a/external/liborcus/0001-Missing-header-for-std-tolower.patch b/external/liborcus/0001-Missing-header-for-std-tolower.patch
-new file mode 100644
-index 000000000000..2e00be92a872
---- /dev/null
-+++ b/external/liborcus/0001-Missing-header-for-std-tolower.patch
-@@ -0,0 +1,24 @@
-+From 3a6bb93a382b4d5f1463ee3fdd54cab7048ff996 Mon Sep 17 00:00:00 2001
-+From: Kohei Yoshida <kohei.yoshida at gmail.com>
-+Date: Fri, 31 Aug 2018 16:07:06 -0400
-+Subject: [PATCH] Missing header for std::tolower.
-+
-+---
-+ src/parser/sax_token_parser.cpp | 1 +
-+ 1 file changed, 1 insertion(+)
-+
-+diff --git a/src/parser/sax_token_parser.cpp b/src/parser/sax_token_parser.cpp
-+index 9790b498..44ba5844 100644
-+--- a/src/parser/sax_token_parser.cpp
-++++ b/src/parser/sax_token_parser.cpp
-+@@ -9,6 +9,7 @@
-+ #include "orcus/tokens.hpp"
-+ 
-+ #include <mdds/sorted_string_map.hpp>
-++#include <cctype>
-+ 
-+ namespace orcus {
-+ 
-+-- 
-+2.17.1
-+
-diff --git a/external/liborcus/ExternalPackage_liborcus.mk b/external/liborcus/ExternalPackage_liborcus.mk
-index 32382b7d89a1..ffa0b38bea19 100644
---- a/external/liborcus/ExternalPackage_liborcus.mk
-+++ b/external/liborcus/ExternalPackage_liborcus.mk
-@@ -12,11 +12,11 @@ $(eval $(call gb_ExternalPackage_ExternalPackage,liborcus,liborcus))
- $(eval $(call gb_ExternalPackage_use_external_project,liborcus,liborcus))
- 
- ifeq ($(OS),MACOSX)
--$(eval $(call gb_ExternalPackage_add_file,liborcus,$(LIBO_LIB_FOLDER)/liborcus-0.13.0.dylib,src/liborcus/.libs/liborcus-0.13.0.dylib))
--$(eval $(call gb_ExternalPackage_add_file,liborcus,$(LIBO_LIB_FOLDER)/liborcus-parser-0.13.0.dylib,src/parser/.libs/liborcus-parser-0.13.0.dylib))
-+$(eval $(call gb_ExternalPackage_add_file,liborcus,$(LIBO_LIB_FOLDER)/liborcus-0.14.0.dylib,src/liborcus/.libs/liborcus-0.14.0.dylib))
-+$(eval $(call gb_ExternalPackage_add_file,liborcus,$(LIBO_LIB_FOLDER)/liborcus-parser-0.14.0.dylib,src/parser/.libs/liborcus-parser-0.14.0.dylib))
- else ifeq ($(DISABLE_DYNLOADING),)
--$(eval $(call gb_ExternalPackage_add_file,liborcus,$(LIBO_LIB_FOLDER)/liborcus-0.13.so.0,src/liborcus/.libs/liborcus-0.13.so.0.0.0))
--$(eval $(call gb_ExternalPackage_add_file,liborcus,$(LIBO_LIB_FOLDER)/liborcus-parser-0.13.so.0,src/parser/.libs/liborcus-parser-0.13.so.0.0.0))
-+$(eval $(call gb_ExternalPackage_add_file,liborcus,$(LIBO_LIB_FOLDER)/liborcus-0.14.so.0,src/liborcus/.libs/liborcus-0.14.so.0.0.0))
-+$(eval $(call gb_ExternalPackage_add_file,liborcus,$(LIBO_LIB_FOLDER)/liborcus-parser-0.14.so.0,src/parser/.libs/liborcus-parser-0.14.so.0.0.0))
- endif
- 
- # vim: set noet sw=4 ts=4:
-diff --git a/external/liborcus/ExternalProject_liborcus.mk b/external/liborcus/ExternalProject_liborcus.mk
-index 928c78e3a267..1aa591228f40 100644
---- a/external/liborcus/ExternalProject_liborcus.mk
-+++ b/external/liborcus/ExternalProject_liborcus.mk
-@@ -114,8 +114,8 @@ $(call gb_ExternalProject_get_state_target,liborcus,build) :
- 		   $(MAKE) \
- 		$(if $(filter MACOSX,$(OS)),\
- 			&& $(PERL) $(SRCDIR)/solenv/bin/macosx-change-install-names.pl shl OOO \
--				$(EXTERNAL_WORKDIR)/src/liborcus/.libs/liborcus-0.13.0.dylib \
--				$(EXTERNAL_WORKDIR)/src/parser/.libs/liborcus-parser-0.13.0.dylib \
-+				$(EXTERNAL_WORKDIR)/src/liborcus/.libs/liborcus-0.14.0.dylib \
-+				$(EXTERNAL_WORKDIR)/src/parser/.libs/liborcus-parser-0.14.0.dylib \
- 		) \
- 	)
- 
-diff --git a/external/liborcus/Library_orcus.mk b/external/liborcus/Library_orcus.mk
-index 6457ec4afc0c..1f026c425244 100644
---- a/external/liborcus/Library_orcus.mk
-+++ b/external/liborcus/Library_orcus.mk
-@@ -55,6 +55,7 @@ $(eval $(call gb_Library_add_generated_exception_objects,orcus,\
- 	UnpackedTarball/liborcus/src/liborcus/detection_result \
- 	UnpackedTarball/liborcus/src/liborcus/dom_tree \
- 	UnpackedTarball/liborcus/src/liborcus/format_detection \
-+	UnpackedTarball/liborcus/src/liborcus/formula_result \
- 	UnpackedTarball/liborcus/src/liborcus/global \
- 	UnpackedTarball/liborcus/src/liborcus/gnumeric_cell_context \
- 	UnpackedTarball/liborcus/src/liborcus/gnumeric_context \
-@@ -96,6 +97,7 @@ $(eval $(call gb_Library_add_generated_exception_objects,orcus,\
- 	UnpackedTarball/liborcus/src/liborcus/orcus_xlsx \
- 	UnpackedTarball/liborcus/src/liborcus/orcus_xml \
- 	UnpackedTarball/liborcus/src/liborcus/session_context \
-+	UnpackedTarball/liborcus/src/liborcus/spreadsheet_iface_util \
- 	UnpackedTarball/liborcus/src/liborcus/spreadsheet_interface \
- 	UnpackedTarball/liborcus/src/liborcus/spreadsheet_types \
- 	UnpackedTarball/liborcus/src/liborcus/string_helper \
-diff --git a/external/liborcus/UnpackedTarball_liborcus.mk b/external/liborcus/UnpackedTarball_liborcus.mk
-index 215bd4b8cc15..f637cc73db46 100644
---- a/external/liborcus/UnpackedTarball_liborcus.mk
-+++ b/external/liborcus/UnpackedTarball_liborcus.mk
-@@ -19,5 +19,6 @@ $(eval $(call gb_UnpackedTarball_add_patches,liborcus,\
- 	external/liborcus/0001-workaround-a-linking-problem-on-windows.patch \
- 	external/liborcus/rpath.patch.0 \
-+	external/liborcus/0001-Missing-header-for-std-tolower.patch \
- ))
- 
- ifeq ($(OS),WNT)
-diff --git a/sc/source/filter/inc/orcusinterface.hxx b/sc/source/filter/inc/orcusinterface.hxx
-index 028fb4126f01..dce0d5b0a64e 100644
---- a/sc/source/filter/inc/orcusinterface.hxx
-+++ b/sc/source/filter/inc/orcusinterface.hxx
-@@ -54,6 +54,7 @@ public:
-     ScOrcusGlobalSettings(ScDocumentImport& rDoc);
- 
-     virtual void set_origin_date(int year, int month, int day) override;
-+    virtual void set_character_set(orcus::character_set_t cs) override;
- 
-     virtual void set_default_formula_grammar(orcus::spreadsheet::formula_grammar_t grammar) override;
-     virtual orcus::spreadsheet::formula_grammar_t get_default_formula_grammar() const override;
-@@ -181,7 +182,7 @@ public:
- 
-     virtual ~ScOrcusAutoFilter() override;
- 
--    virtual void set_range(const char* p_ref, size_t n_ref) override;
-+    virtual void set_range(const orcus::spreadsheet::range_t& range) override;
- 
-     virtual void set_column(orcus::spreadsheet::col_t col) override;
- 
-@@ -214,22 +215,95 @@ public:
-     virtual void set_merge_cell_range(const orcus::spreadsheet::range_t& range) override;
- };
- 
-+class ScOrcusSheet;
-+
-+class ScOrcusFormula : public orcus::spreadsheet::iface::import_formula
-+{
-+    enum class ResultType { NotSet, String, Value, Empty };
-+
-+    friend class ScOrcusSheet;
-+
-+    ScOrcusSheet& mrSheet;
-+
-+    SCCOL mnCol;
-+    SCROW mnRow;
-+    OUString maFormula;
-+    formula::FormulaGrammar::Grammar meGrammar;
-+    size_t mnSharedFormulaIndex;
-+    bool mbShared;
-+
-+    ResultType meResType;
-+    size_t mnResult; // result string index.
-+    double mfResult;
-+
-+    void reset();
-+
-+public:
-+    ScOrcusFormula( ScOrcusSheet& rSheet );
-+    virtual ~ScOrcusFormula() override;
-+
-+    virtual void set_position(orcus::spreadsheet::row_t row, orcus::spreadsheet::col_t col) override;
-+    virtual void set_formula(orcus::spreadsheet::formula_grammar_t grammar, const char* p, size_t n) override;
-+    virtual void set_shared_formula_index(size_t index) override;
-+    virtual void set_result_value(double value) override;
-+    virtual void set_result_string(size_t sindex) override;
-+    virtual void set_result_empty() override;
-+    virtual void set_result_bool(bool value) override;
-+    virtual void commit() override;
-+};
-+
-+class ScOrcusArrayFormula : public orcus::spreadsheet::iface::import_array_formula
-+{
-+    friend class ScOrcusSheet;
-+
-+    ScOrcusSheet& mrSheet;
-+
-+    SCCOL mnCol;
-+    SCROW mnRow;
-+    uint32_t mnColRange;
-+    uint32_t mnRowRange;
-+    OUString maFormula;
-+    formula::FormulaGrammar::Grammar meGrammar;
-+
-+    void reset();
-+
-+public:
-+    ScOrcusArrayFormula( ScOrcusSheet& rSheet );
-+    virtual ~ScOrcusArrayFormula() override;
-+
-+    virtual void set_range(const orcus::spreadsheet::range_t& range) override;
-+    virtual void set_formula(orcus::spreadsheet::formula_grammar_t grammar, const char* p, size_t n) override;
-+    virtual void set_result_value(orcus::spreadsheet::row_t row, orcus::spreadsheet::col_t col, double value) override;
-+    virtual void set_result_string(orcus::spreadsheet::row_t row, orcus::spreadsheet::col_t col, size_t sindex) override;
-+    virtual void set_result_empty(orcus::spreadsheet::row_t row, orcus::spreadsheet::col_t col) override;
-+    virtual void set_result_bool(orcus::spreadsheet::row_t row, orcus::spreadsheet::col_t col, bool value) override;
-+    virtual void commit() override;
-+};
-+
- class ScOrcusSheet : public orcus::spreadsheet::iface::import_sheet
- {
-+    friend class ScOrcusFormula;
-+    friend class ScOrcusArrayFormula;
-+
-     ScDocumentImport& mrDoc;
-     SCTAB mnTab;
-     ScOrcusFactory& mrFactory;
-     ScOrcusStyles& mrStyles;
-     sc::SharedFormulaGroups maFormulaGroups;
-+
-     ScOrcusAutoFilter maAutoFilter;
-     ScOrcusSheetProperties maProperties;
-     ScOrcusConditionalFormat maConditionalFormat;
-     ScOrcusNamedExpression maNamedExpressions;
-+    ScOrcusFormula maFormula;
-+    ScOrcusArrayFormula maArrayFormula;
- 
-     int mnCellCount;
- 
-     void cellInserted();
- 
-+    ScDocumentImport& getDoc();
-+
- public:
-     ScOrcusSheet(ScDocumentImport& rDoc, SCTAB nTab, ScOrcusFactory& rFactory);
- 
-@@ -238,6 +312,8 @@ public:
-     virtual orcus::spreadsheet::iface::import_sheet_properties* get_sheet_properties() override;
-     virtual orcus::spreadsheet::iface::import_conditional_format* get_conditional_format() override;
-     virtual orcus::spreadsheet::iface::import_named_expression* get_named_expression() override;
-+    virtual orcus::spreadsheet::iface::import_formula* get_formula() override;
-+    virtual orcus::spreadsheet::iface::import_array_formula* get_array_formula() override;
- 
-     // Orcus import interface
-     virtual void set_auto(orcus::spreadsheet::row_t row, orcus::spreadsheet::col_t col, const char* p, size_t n) override;
-@@ -251,33 +327,13 @@ public:
-     virtual void set_format(orcus::spreadsheet::row_t row_start, orcus::spreadsheet::col_t col_start,
-             orcus::spreadsheet::row_t row_end, orcus::spreadsheet::col_t col_end, size_t xf_index) override;
- 
--    virtual void set_formula(orcus::spreadsheet::row_t row, orcus::spreadsheet::col_t col, orcus::spreadsheet::formula_grammar_t grammar, const char* p, size_t n) override;
--    virtual void set_formula_result(orcus::spreadsheet::row_t row, orcus::spreadsheet::col_t col, const char* p, size_t n) override;
--    virtual void set_formula_result(orcus::spreadsheet::row_t row, orcus::spreadsheet::col_t col, double val) override;
--
--    virtual void set_shared_formula(
--        orcus::spreadsheet::row_t row, orcus::spreadsheet::col_t col, orcus::spreadsheet::formula_grammar_t grammar, size_t sindex,
--        const char* p_formula, size_t n_formula) override;
--
--    virtual void set_shared_formula(
--        orcus::spreadsheet::row_t row, orcus::spreadsheet::col_t col, orcus::spreadsheet::formula_grammar_t grammar, size_t sindex,
--        const char* p_formula, size_t n_formula, const char* p_range, size_t n_range) override;
--
--    virtual void set_shared_formula(orcus::spreadsheet::row_t row, orcus::spreadsheet::col_t col, size_t sindex) override;
--
--    virtual void set_array_formula(
--        orcus::spreadsheet::row_t row, orcus::spreadsheet::col_t col, orcus::spreadsheet::formula_grammar_t grammar,
--        const char* p, size_t n, orcus::spreadsheet::row_t array_rows, orcus::spreadsheet::col_t array_cols) override;
--
--    virtual void set_array_formula(
--        orcus::spreadsheet::row_t row, orcus::spreadsheet::col_t col, orcus::spreadsheet::formula_grammar_t grammar,
--        const char* p, size_t n, const char* p_range, size_t n_range) override;
--
-     virtual orcus::spreadsheet::range_size_t get_sheet_size() const override;
- 
-     SCTAB getIndex() const { return mnTab; }
- 
-     const sc::SharedFormulaGroups& getSharedFormulaGroups() const;
-+    sc::SharedFormulaGroups& getSharedFormulaGroups();
-+    ScOrcusFactory& getFactory();
- };
- 
- class ScOrcusStyles : public orcus::spreadsheet::iface::import_styles
-@@ -312,7 +368,7 @@ private:
- 
-     struct fill
-     {
--        OUString maPattern;
-+        orcus::spreadsheet::fill_pattern_t mePattern;
-         Color maFgColor;
-         Color maBgColor;
- 
-@@ -446,7 +502,7 @@ public:
-     // fill
- 
-     virtual void set_fill_count(size_t n) override;
--    virtual void set_fill_pattern_type(const char* s, size_t n) override;
-+    virtual void set_fill_pattern_type(orcus::spreadsheet::fill_pattern_t fp) override;
-     virtual void set_fill_fg_color(orcus::spreadsheet::color_elem_t alpha, orcus::spreadsheet::color_elem_t red, orcus::spreadsheet::color_elem_t green, orcus::spreadsheet::color_elem_t blue) override;
-     virtual void set_fill_bg_color(orcus::spreadsheet::color_elem_t alpha, orcus::spreadsheet::color_elem_t red, orcus::spreadsheet::color_elem_t green, orcus::spreadsheet::color_elem_t blue) override;
-     virtual size_t commit_fill() override;
-@@ -580,6 +636,7 @@ public:
- 
-     size_t appendString(const OUString& rStr);
-     size_t addString(const OUString& rStr);
-+    const OUString* getString(size_t nIndex) const;
- 
-     void pushCellStoreAutoToken( const ScAddress& rPos, const OUString& rVal );
-     void pushCellStoreToken( const ScAddress& rPos, uint32_t nStrIndex );
-diff --git a/sc/source/filter/orcus/interface.cxx b/sc/source/filter/orcus/interface.cxx
-index dcf3e83d7eae..7b8425d3007d 100644
---- a/sc/source/filter/orcus/interface.cxx
-+++ b/sc/source/filter/orcus/interface.cxx
-@@ -101,6 +101,11 @@ void ScOrcusGlobalSettings::set_origin_date(int year, int month, int day)
-     mrDoc.setOriginDate(year, month, day);
- }
- 
-+void ScOrcusGlobalSettings::set_character_set(orcus::character_set_t /*cs*/)
-+{
-+    // TODO
-+}
-+
- void ScOrcusGlobalSettings::set_default_formula_grammar(os::formula_grammar_t grammar)
- {
-     meCalcGrammar = getCalcGrammarFromOrcus(grammar);
-@@ -463,6 +468,11 @@ size_t ScOrcusFactory::addString(const OUString& rStr)
-     return appendString(rStr);
- }
- 
-+const OUString* ScOrcusFactory::getString(size_t nIndex) const
-+{
-+    return nIndex < maStrings.size() ? &maStrings[nIndex] : nullptr;
-+}
-+
- void ScOrcusFactory::pushCellStoreAutoToken( const ScAddress& rPos, const OUString& rVal )
- {
-     maCellStoreTokens.emplace_back(rPos, CellStoreToken::Type::Auto);
-@@ -816,10 +826,197 @@ ScOrcusSheet::ScOrcusSheet(ScDocumentImport& rDoc, SCTAB nTab, ScOrcusFactory& r
-     maProperties(mnTab, mrDoc),
-     maConditionalFormat(mnTab, rDoc.getDoc()),
-     maNamedExpressions(rDoc, rFactory.getGlobalSettings(), nTab),
-+    maFormula(*this),
-+    maArrayFormula(*this),
-     mnCellCount(0)
- {
- }
- 
-+void ScOrcusFormula::reset()
-+{
-+    mnCol = -1;
-+    mnRow = -1;
-+    maFormula.clear();
-+    meGrammar = formula::FormulaGrammar::GRAM_UNSPECIFIED;
-+    mnSharedFormulaIndex = 0;
-+    mbShared = false;
-+    meResType = ResultType::NotSet;
-+    mnResult = 0;
-+    mfResult = 0.0;
-+}
-+
-+ScOrcusFormula::ScOrcusFormula( ScOrcusSheet& rSheet ) :
-+    mrSheet(rSheet),
-+    mnCol(-1),
-+    mnRow(-1),
-+    meGrammar(formula::FormulaGrammar::GRAM_UNSPECIFIED),
-+    mnSharedFormulaIndex(0),
-+    mbShared(false),
-+    meResType(ResultType::NotSet),
-+    mnResult(0),
-+    mfResult(0.0) {}
-+
-+ScOrcusFormula::~ScOrcusFormula() {}
-+
-+void ScOrcusFormula::set_position(os::row_t row, os::col_t col)
-+{
-+    mnCol = col;
-+    mnRow = row;
-+}
-+
-+void ScOrcusFormula::set_formula(os::formula_grammar_t grammar, const char* p, size_t n)
-+{
-+    maFormula = OUString(p, n, RTL_TEXTENCODING_UTF8);
-+    meGrammar = getCalcGrammarFromOrcus(grammar);
-+}
-+
-+void ScOrcusFormula::set_shared_formula_index(size_t index)
-+{
-+    mnSharedFormulaIndex = index;
-+    mbShared = true;
-+}
-+
-+void ScOrcusFormula::set_result_value(double value)
-+{
-+    meResType = ResultType::Value;
-+    mfResult = value;
-+}
-+
-+void ScOrcusFormula::set_result_string(size_t sindex)
-+{
-+    meResType = ResultType::String;
-+    mnResult = sindex;
-+}
-+
-+void ScOrcusFormula::set_result_empty()
-+{
-+    meResType = ResultType::Empty;
-+}
-+
-+void ScOrcusFormula::set_result_bool(bool value)
-+{
-+    meResType = ResultType::Value;
-+    mfResult = value ? 1.0 : 0.0;
-+}
-+
-+void ScOrcusFormula::commit()
-+{
-+    ScOrcusFactory& rFactory = mrSheet.getFactory();
-+    sc::SharedFormulaGroups& rGroups = mrSheet.getSharedFormulaGroups();
-+    ScAddress aPos(mnCol, mnRow, mrSheet.getIndex());
-+
-+    if (mbShared)
-+    {
-+        if (maFormula.isEmpty())
-+        {
-+            // shared formula that references existing formula token.
-+            const ScTokenArray* pArray = rGroups.get(mnSharedFormulaIndex);
-+            if (!pArray)
-+                return;
-+        }
-+        else
-+        {
-+            // topmost shared formula with new formula token.
-+
-+            // Compile the formula expression into tokens.
-+            ScCompiler aComp(&mrSheet.getDoc().getDoc(), aPos, meGrammar);
-+            ScTokenArray* pArray = aComp.CompileString(maFormula);
-+            if (!pArray)
-+                // Tokenization failed.
-+                return;
-+
-+            rGroups.set(mnSharedFormulaIndex, pArray);
-+        }
-+        rFactory.pushSharedFormulaToken(aPos, mnSharedFormulaIndex);
-+    }
-+    else
-+    {
-+        // non-shared formula
-+        rFactory.pushCellStoreToken(aPos, maFormula, meGrammar);
-+    }
-+
-+    switch (meResType)
-+    {
-+        case ResultType::String:
-+        {
-+            const OUString* pStr = rFactory.getString(mnResult);
-+            if (pStr)
-+                rFactory.pushFormulaResult(aPos, *pStr);
-+            break;
-+        }
-+        case ResultType::Value:
-+            rFactory.pushFormulaResult(aPos, mfResult);
-+            break;
-+        default:
-+            ;
-+    }
-+
-+    mrSheet.cellInserted();
-+}
-+
-+void ScOrcusArrayFormula::reset()
-+{
-+    mnCol = -1;
-+    mnRow = -1;
-+    mnColRange = 0;
-+    mnRowRange = 0;
-+
-+    maFormula.clear();
-+    meGrammar = formula::FormulaGrammar::GRAM_UNSPECIFIED;
-+}
-+
-+ScOrcusArrayFormula::ScOrcusArrayFormula( ScOrcusSheet& rSheet ) :
-+    mrSheet(rSheet),
-+    mnCol(-1),
-+    mnRow(-1),
-+    mnColRange(0),
-+    mnRowRange(0),
-+    meGrammar(formula::FormulaGrammar::GRAM_UNSPECIFIED) {}
-+
-+ScOrcusArrayFormula::~ScOrcusArrayFormula() {}
-+
-+void ScOrcusArrayFormula::set_range(const os::range_t& range)
-+{
-+    mnCol = range.first.column;
-+    mnRow = range.first.row;
-+
-+    mnColRange = range.last.column - range.first.column + 1;
-+    mnRowRange = range.last.row - range.first.column + 1;
-+}
-+
-+void ScOrcusArrayFormula::set_formula(os::formula_grammar_t grammar, const char* p, size_t n)
-+{
-+    meGrammar = getCalcGrammarFromOrcus(grammar);
-+    maFormula = OUString(p, n, RTL_TEXTENCODING_UTF8);
-+}
-+
-+void ScOrcusArrayFormula::set_result_value(os::row_t /*row*/, os::col_t /*col*/, double /*value*/)
-+{
-+    // TODO : implement result cache for matrix
-+}
-+
-+void ScOrcusArrayFormula::set_result_string(os::row_t /*row*/, os::col_t /*col*/, size_t /*sindex*/)
-+{
-+    // TODO : implement result cache for matrix
-+}
-+
-+void ScOrcusArrayFormula::set_result_empty(os::row_t /*row*/, os::col_t /*col*/)
-+{
-+    // TODO : implement result cache for matrix
-+}
-+
-+void ScOrcusArrayFormula::set_result_bool(os::row_t /*row*/, os::col_t /*col*/, bool /*value*/)
-+{
-+    // TODO : implement result cache for matrix
-+}
-+
-+void ScOrcusArrayFormula::commit()
-+{
-+    ScAddress aPos(mnCol, mnRow, mrSheet.getIndex());
-+    mrSheet.getFactory().pushMatrixFormulaToken(aPos, maFormula, meGrammar, mnRowRange, mnColRange);
-+    mrSheet.cellInserted();
-+}
-+
- void ScOrcusSheet::cellInserted()
- {
-     ++mnCellCount;
-@@ -830,6 +1027,11 @@ void ScOrcusSheet::cellInserted()
-     }
- }
- 
-+ScDocumentImport& ScOrcusSheet::getDoc()
-+{
-+    return mrDoc;
-+}
-+
- os::iface::import_auto_filter* ScOrcusSheet::get_auto_filter()
- {
-     return &maAutoFilter;
-@@ -855,6 +1057,18 @@ os::iface::import_named_expression* ScOrcusSheet::get_named_expression()
-     return &maNamedExpressions;
- }
- 
-+os::iface::import_formula* ScOrcusSheet::get_formula()
-+{
-+    maFormula.reset();
-+    return &maFormula;
-+}
-+
-+os::iface::import_array_formula* ScOrcusSheet::get_array_formula()
-+{
-+    maArrayFormula.reset();
-+    return &maArrayFormula;
-+}
-+
- void ScOrcusSheet::set_auto(os::row_t row, os::col_t col, const char* p, size_t n)
- {
-     OUString aVal(p, n, RTL_TEXTENCODING_UTF8);
-@@ -921,83 +1135,6 @@ void ScOrcusSheet::set_format(os::row_t row_start, os::col_t col_start,
-     mrDoc.getDoc().ApplyPatternAreaTab(col_start, row_start, col_end, row_end, mnTab, aPattern);
- }
- 
--void ScOrcusSheet::set_formula(
--    os::row_t row, os::col_t col, os::formula_grammar_t grammar, const char* p, size_t n)
--{
--    OUString aFormula(p, n, RTL_TEXTENCODING_UTF8);
--    mrFactory.pushCellStoreToken(
--        ScAddress(col, row, mnTab), aFormula, getCalcGrammarFromOrcus(grammar));
--    cellInserted();
--}
--
--void ScOrcusSheet::set_formula_result(os::row_t row, os::col_t col, const char* p, size_t n)
--{
--    OUString aResult( p, n, RTL_TEXTENCODING_UTF8);
--    mrFactory.pushFormulaResult(ScAddress(col, row, mnTab), aResult);
--}
--
--void ScOrcusSheet::set_formula_result(os::row_t row, os::col_t col, double val)
--{
--    mrFactory.pushFormulaResult(ScAddress(col, row, mnTab), val);
--}
--
--void ScOrcusSheet::set_shared_formula(
--    os::row_t row, os::col_t col, os::formula_grammar_t grammar, size_t sindex,
--    const char* p_formula, size_t n_formula)
--{
--    ScAddress aPos(col, row, mnTab);
--    OUString aFormula(p_formula, n_formula, RTL_TEXTENCODING_UTF8);
--    formula::FormulaGrammar::Grammar eGram = getCalcGrammarFromOrcus(grammar);
--
--    // Compile the formula expression into tokens.
--    ScCompiler aComp(&mrDoc.getDoc(), aPos, eGram);
--    ScTokenArray* pArray = aComp.CompileString(aFormula);
--    if (!pArray)
--        // Tokenization failed.
--        return;
--
--    maFormulaGroups.set(sindex, pArray);
--
--    mrFactory.pushSharedFormulaToken(aPos, sindex);
--    cellInserted();
--}
--
--void ScOrcusSheet::set_shared_formula(
--    os::row_t row, os::col_t col, os::formula_grammar_t grammar, size_t sindex,
--    const char* p_formula, size_t n_formula, const char* /*p_range*/, size_t /*n_range*/)
--{
--    set_shared_formula(row, col, grammar, sindex, p_formula, n_formula);
--}
--
--void ScOrcusSheet::set_shared_formula(os::row_t row, os::col_t col, size_t sindex)
--{
--    ScAddress aPos(col, row, mnTab);
--
--    const ScTokenArray* pArray = maFormulaGroups.get(sindex);
--    if (!pArray)
--        return;
--
--    mrFactory.pushSharedFormulaToken(aPos, sindex);
--    cellInserted();
--}
--
--void ScOrcusSheet::set_array_formula(
--    os::row_t row, os::col_t col, os::formula_grammar_t grammar,
--    const char* p, size_t n, os::row_t array_rows, os::col_t array_cols)
--{
--    OUString aFormula(p, n, RTL_TEXTENCODING_UTF8);
--    formula::FormulaGrammar::Grammar eGrammar = getCalcGrammarFromOrcus(grammar);
--
--    ScAddress aPos(col, row, mnTab);
--    mrFactory.pushMatrixFormulaToken(aPos, aFormula, eGrammar, array_rows, array_cols);
--}
--
--void ScOrcusSheet::set_array_formula(
--    os::row_t /*row*/, os::col_t /*col*/, os::formula_grammar_t /*grammar*/,
--    const char* /*p*/, size_t /*n*/, const char* /*p_range*/, size_t /*n_range*/)
--{
--}
--
- orcus::spreadsheet::range_size_t ScOrcusSheet::get_sheet_size() const
- {
-     orcus::spreadsheet::range_size_t ret;
-@@ -1012,6 +1149,16 @@ const sc::SharedFormulaGroups& ScOrcusSheet::getSharedFormulaGroups() const
-     return maFormulaGroups;
- }
- 
-+sc::SharedFormulaGroups& ScOrcusSheet::getSharedFormulaGroups()
-+{
-+    return maFormulaGroups;
-+}
-+
-+ScOrcusFactory& ScOrcusSheet::getFactory()
-+{
-+    return mrFactory;
-+}
-+
- ScOrcusSharedStrings::ScOrcusSharedStrings(ScOrcusFactory& rFactory) :
-     mrFactory(rFactory) {}
- 
-@@ -1087,7 +1234,7 @@ ScOrcusStyles::font::font():
- }
- 
- ScOrcusStyles::fill::fill():
--    maPattern(""),
-+    mePattern(orcus::spreadsheet::fill_pattern_t::none),
-     maFgColor(COL_WHITE),
-     maBgColor(COL_WHITE),
-     mbHasFillAttr(false)
-@@ -1143,13 +1290,13 @@ void ScOrcusStyles::font::applyToItemSet(SfxItemSet& rSet) const
- 
- void ScOrcusStyles::fill::applyToItemSet(SfxItemSet& rSet) const
- {
--    if (maPattern.equalsIgnoreAsciiCase("none"))
-+    if (mePattern == orcus::spreadsheet::fill_pattern_t::none)
-     {
-         SAL_INFO("sc.orcus.style", "no fill style");
-         return;
-     }
- 
--    if (maPattern.equalsIgnoreAsciiCase("solid"))
-+    if (mePattern == orcus::spreadsheet::fill_pattern_t::solid)
-         rSet.Put(SvxBrushItem(maFgColor, ATTR_BACKGROUND));
- }
- 
-@@ -1575,10 +1722,9 @@ void ScOrcusStyles::set_fill_count(size_t /*n*/)
-     // needed at all?
- }
- 
--void ScOrcusStyles::set_fill_pattern_type(const char* s, size_t n)
-+void ScOrcusStyles::set_fill_pattern_type(orcus::spreadsheet::fill_pattern_t fp)
- {
--    maCurrentFill.maPattern = OUString(s, n, RTL_TEXTENCODING_UTF8);
--    maCurrentFill.mbHasFillAttr = true;
-+    maCurrentFill.mePattern = fp;
- }
- 
- void ScOrcusStyles::set_fill_fg_color(
-@@ -1962,12 +2108,12 @@ ScOrcusAutoFilter::~ScOrcusAutoFilter()
- {
- }
- 
--void ScOrcusAutoFilter::set_range(const char* p_ref, size_t n_ref)
-+void ScOrcusAutoFilter::set_range(const orcus::spreadsheet::range_t& range)
- {
--    OUString aRange(p_ref, n_ref, RTL_TEXTENCODING_UTF8);
--    SAL_INFO("sc.orcus.autofilter", "set_range: " << aRange);
--
--    maRange.Parse(aRange);
-+    maRange.aStart.SetRow(range.first.row);
-+    maRange.aStart.SetCol(range.first.column);
-+    maRange.aEnd.SetRow(range.last.row);
-+    maRange.aEnd.SetCol(range.last.column);
- }
- 
- void ScOrcusAutoFilter::set_column(orcus::spreadsheet::col_t col)
-diff --git a/sc/source/filter/orcus/xmlcontext.cxx b/sc/source/filter/orcus/xmlcontext.cxx
-index e47b862c2138..5494ddefc434 100644
---- a/sc/source/filter/orcus/xmlcontext.cxx
-+++ b/sc/source/filter/orcus/xmlcontext.cxx
-@@ -24,6 +24,7 @@
- #include <orcus/orcus_xml.hpp>
- #include <orcus/global.hpp>
- #include <orcus/sax_parser_base.hpp>
-+#include <orcus/stream.hpp>
- 
- #include <com/sun/star/ucb/XCommandEnvironment.hpp>
- #include <comphelper/processfactory.hxx>
-@@ -289,7 +290,9 @@ void ScOrcusXMLContextImpl::importXML(const ScOrcusImportXMLParam& rParam)
-             }
-         }
- 
--        filter.read_file(path);
-+        std::string content = orcus::load_file_content(path);
-+        filter.read_stream(content.data(), content.size());
-+
-         aFactory.finalize();
-     }
-     catch (const std::exception&)
--- 
-2.17.1
-
-

Modified: PKGBUILD
===================================================================
--- PKGBUILD	2019-02-07 14:37:32 UTC (rev 345604)
+++ PKGBUILD	2019-02-07 15:00:30 UTC (rev 345605)
@@ -10,12 +10,12 @@
 
 pkgbase=libreoffice-fresh
 pkgname=('libreoffice-fresh-sdk' 'libreoffice-fresh')
-_LOver=6.1.4.2
-pkgver=6.1.4
-pkgrel=5
+_LOver=6.2.0.3
+pkgver=6.2.0
+pkgrel=1
 arch=('x86_64')
 license=('LGPL3')
-url="https://www.libreoffice.org/"
+url="http://www.libreoffice.org/"
 makedepends=('curl>=7.20.0' 'hunspell>=1.2.8' 'python>=3.7' 'libwpd>=0.9.2' 'libwps'
 	'neon>=0.28.6' 'pango' 'nspr' 'libjpeg' 'libxrandr' 'libgl' 'dbus-glib'
 	'libxslt' 'redland' 'hyphen' 'lpsolve' 'gcc-libs' 'sh' 'graphite' 'icu' 
@@ -22,15 +22,15 @@
 	'lcms2' 'poppler>=0.24.0' 'libvisio' 'libetonyek' 'libodfgen' 'libcdr'
 	'libmspub' 'harfbuzz-icu' 'nss' 'hicolor-icon-theme'
 	'desktop-file-utils' 'shared-mime-info' 'gtk2' 'gst-plugins-base-libs'
-	'sane' 'perl-archive-zip' 'zip' 'unzip' 'unixodbc' 'ant' 
+	'sane' 'perl-archive-zip' 'zip' 'unzip' 'unixodbc' 'ant'
 	'gperf' 'gtk3' 'qt5-base' 'plasma-framework' 'cppunit' 'beanshell' 'clucene'
-	'junit' 'libmythes' 'libwpg'  'java-environment=8' 'postgresql-libs' 'libgl'
-	'bluez-libs' 'gdb' 'doxygen'  'libatomic_ops' 'mdds'
+	'junit' 'libmythes' 'libwpg'  'java-environment=8' 'postgresql-libs' 'mariadb-libs' 'libgl'
+	'bluez-libs' 'gdb' 'doxygen'  'libatomic_ops'  'mdds'
 	'apr' 'serf' 'ttf-liberation' 'ttf-dejavu' 'ttf-carlito' 'libxinerama' 'libpagemaker' 'glm'
 	'libabw' 'libmwaw' 'libe-book' 'coin-or-mp' 'liblangtag' 'liborcus' 
 	'libexttextcat' 'libcmis' 'gobject-introspection' 'libfbclient'
 	'libtommath' 'libzmf' 'gpgme' 'xmlsec' 'rxvt-unicode' 
-	'libepubgen' 'libfreehand' 'libqxp' 'libstaroffice' 'boost' 'libnumbertext'
+	'libepubgen' 'libfreehand' 'libqxp' 'libstaroffice'  'boost' 'libnumbertext'
 )
 
 _mirror="https://download.documentfoundation.org/libreoffice/src/${pkgver}"
@@ -46,18 +46,14 @@
 	${_additional_source_url}/17410483b5b5f267aa18b7e00b65e6e0-hsqldb_1_8_0.zip
 	${_additional_source_url}/d8bd5eed178db6e2b18eeed243f85aa8-flute-1.1.6.zip
 	${_additional_source_url}/ba2930200c9f019c2d93a8c88c651a0f-flow-engine-0.9.4.zip
-	${_additional_source_url}/pdfium-3426.tar.bz2
+	${_additional_source_url}/pdfium-3550.tar.bz2
 	${_additional_source_url}/lxml-4.1.1.tgz
 	${_additional_source_url2}/8249374c274932a21846fa7629c2aa9b-officeotron-0.7.4-master.jar  # for test suite
-	${_additional_source_url2}/odfvalidator-1.2.0-incubating-SNAPSHOT-jar-with-dependencies+ODFTOOLKIT-460+ODFTOOLKIT-475.jar # for test suite
+	${_additional_source_url2}/odfvalidator-1.2.0-incubating-SNAPSHOT-jar-with-dependencies-971c54fd38a968f5860014b44301872706f9e540.jar # for test suite
+	${_additional_source_url2}/49a64f3bcf20a7909ba2751349231d6652ded9cd2840e961b5164d09de3ffa63-opens___.ttf
 	${_additional_source_url2}/185d60944ea767075d27247c3162b3bc-unowinreg.dll
 	make-pyuno-work-with-system-wide-module-install.diff
-	libreoffice-poppler-0.71.patch
-	libreoffice-poppler-0.72.patch
-	libreoffice-poppler-0.73.patch
 	libreoffice-boost-1.69.patch
-	0001-Update-mdds-to-1.4.1.patch
-	0001-Update-orcus-to-0.14.0.patch
 	libreoffice-fresh.sh libreoffice-fresh.csh)
 noextract=(35c94d2df8893241173de1d16b6034c0-swingExSrc.zip
            798b2ffdc8bcfe7bca2cf92b62caf685-rhino1_5R5.zip
@@ -67,18 +63,19 @@
            17410483b5b5f267aa18b7e00b65e6e0-hsqldb_1_8_0.zip
            d8bd5eed178db6e2b18eeed243f85aa8-flute-1.1.6.zip
            ba2930200c9f019c2d93a8c88c651a0f-flow-engine-0.9.4.zip
-           pdfium-3426.tar.bz2
+           pdfium-3550.tar.bz2
            lxml-4.1.1.tgz
            8249374c274932a21846fa7629c2aa9b-officeotron-0.7.4-master.jar  # for test suite
-           odfvalidator-1.2.0-incubating-SNAPSHOT-jar-with-dependencies+ODFTOOLKIT-460+ODFTOOLKIT-475.jar  # for test suite
+           odfvalidator-1.2.0-incubating-SNAPSHOT-jar-with-dependencies-971c54fd38a968f5860014b44301872706f9e540.jar  # for test suite
+           49a64f3bcf20a7909ba2751349231d6652ded9cd2840e961b5164d09de3ffa63-opens___.ttf
            185d60944ea767075d27247c3162b3bc-unowinreg.dll
 )
 validpgpkeys=('C2839ECAD9408FBE9531C3E9F434A1EFAFEEAEA3') # LibreOffice Build Team (CODE SIGNING KEY) <build at documentfoundation.org>
-sha256sums=('648fe9177e0813625a99e775dac1354a416eef2f3ef44eab4e770d08293b37fe'
+sha256sums=('87d0581afbc582fdccf5e95a749a38572c62979a4b1c7f144b4854b93d6b1ade'
             'SKIP'
-            'f5b21510942e63829744cf0dfdcf556ada854fced168e54a25105a3d3b484445'
+            'a6e7c7cf927182572405af1be100363abc9ca9fbbdd9999b4418f97e54d481cc'
             'SKIP'
-            '010505af211b9e4aa841c27443957297c58a7bb434ee8cce0d7ef2fa91b6fed1'
+            '9165c136e366a75a3a9403c2d1f0b1d48d708e72877f9180cbae25c0e33d7e03'
             'SKIP'
             '64585ac36a81291a58269ec5347e7e3e2e8596dbacb9221015c208191333c6e1'
             '1fb458d6aab06932693cc8a9b6e4e70944ee1ff052fa63606e3131df34e21753'
@@ -88,18 +85,14 @@
             'd30b13f4ba2e3b6a2d4f020c0dee0a9fb9fc6fbcc2d561f36b78da4bf3802370'
             '1b5b24f7bc543c0362b667692f78db8bab4ed6dafc6172f104d0bd3757d8a133'
             '233f66e8d25c5dd971716d4200203a612a407649686ef3b52075d04b4c9df0dd'
-            '80331b48166501a192d65476932f17044eeb5f10faa6ea50f4f175169475c957'
+            '572460f7f9e2f86d022a9c6a82f1e2ded6c3c29ba352d4b9fac60b87e2159679'
             '940caef1ec7c78e0c34b0f6b94fe42d0f2022915ffc78643d28538a5cfd0f40e'
             'f2443f27561af52324eee03a1892d9f569adc8db9e7bca55614898bc2a13a770'
-            '702413413a5d8076c17fe79c0808dfba145a7260020f6c8627ea529a0cf83769'
+            '984f2a479df79e27e7b01a5815ac53ae64e07746b882262d8a64566494515504'
+            '49a64f3bcf20a7909ba2751349231d6652ded9cd2840e961b5164d09de3ffa63'
             'eafde646a7dbe46d20c291685b0beac2382174d78d66ee990e229a1bf6e6cec6'
             'c463654a73ecfbc242ff109726fb4faecdbfb3d91affafe919b24bea65afb563'
-            'aeeb7d0b6e9a7c0eead9eb1f0d491ba26177a11417ed2b82b8286ea0bd081776'
-            '9a284e9be6bea6b207926cd340dad1ab5bfee730134126d7ca78109ca96e0217'
-            '521fdc2bd1032421c4dec2a241f41b97b55b5122986555e2a1d113b451d5ac05'
             '5099c5e7818a327b661c45c0bd218835c1e70b14861b5112525da1d48beebf8c'
-            '8e8460302a7febc9a29b32b98fb77c85910ccadc65c73e0e9997dc5aabaaeb2a'
-            '60560283a5e22acad7f341b16dff4a654559b36db5d49b1e59f3bb9ae9b2336c'
             '28c97effbe55e43a1370ab141c676cec9daba9e3dc408bec78136dfefc892a8b'
             '7af3113c804e4d58c7de3b5ed10f515fc46e349a580ba56eebfc6e891acbef89')
 
@@ -122,20 +115,10 @@
 	# fix not upstreamable pyuno paths - FS#54250
 	patch -Np1 -i ${srcdir}/make-pyuno-work-with-system-wide-module-install.diff
 
-	# fix build with poppler 0.71
-	patch -p1 -i ../libreoffice-poppler-0.71.patch
-	# fix build with poppler 0.72
-	patch -p1 -i ../libreoffice-poppler-0.72.patch
-	# fix build with poppler 0.73
-	patch -p1 -i ../libreoffice-poppler-0.73.patch
 
 	# fix build with boost 1.69 (freebsd)
 	patch -p0 -i ../libreoffice-boost-1.69.patch
 
-	# fix build with new mdds 1.4.x, liborcus 0.14.x
-	patch -Np1 -i ../0001-Update-mdds-to-1.4.1.patch
-	patch -Np1 -i ../0001-Update-orcus-to-0.14.0.patch
-
 	#use the CFLAGS but remove the LibO overridden ones
 	for i in $CFLAGS; do
 		case "$i" in
@@ -228,7 +211,6 @@
 		--with-system-mythes \
 		--with-system-headers \
 		--without-system-hsqldb \
-		--with-alloc=system \
 		--with-system-clucene \
 		--with-gdrive-client-id=${_google_default_client_id} \
 		--with-gdrive-client-secret=${_google_default_client_secret} \
@@ -297,6 +279,7 @@
 		'gst-plugins-base-libs: for multimedia content, e.g. in Impress'
 		'libpaper:         takes care of papersize'
 		'postgresql-libs:  for postgresql-connector'
+		'mariadb-libs:     for mysql-connector'
 		'coin-or-mp:	   required by the Calc solver'
 		'gtk2:             for GTK2 integration'
 		'gtk3:             for GTK3 integration'

Deleted: libreoffice-poppler-0.71.patch
===================================================================
--- libreoffice-poppler-0.71.patch	2019-02-07 14:37:32 UTC (rev 345604)
+++ libreoffice-poppler-0.71.patch	2019-02-07 15:00:30 UTC (rev 345605)
@@ -1,271 +0,0 @@
-From c85bd2c443b9a509b028a90ee9e766929e63089f Mon Sep 17 00:00:00 2001
-From: Mike Kaganski <mike.kaganski at collabora.com>
-Date: Tue, 20 Nov 2018 08:45:38 +0100
-Subject: poppler dropped GBool since 0.71
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-See https://lists.freedesktop.org/archives/libreoffice/2018-November/081410.html
-
-Change-Id: I258e08894486a925bed50a3a4232b6e805af6784
-Reviewed-on: https://gerrit.libreoffice.org/63625
-Tested-by: Jenkins
-Reviewed-by: Stephan Bergmann <sbergman at redhat.com>
-(cherry picked from commit 5e8bdd9203dd642111c62a6668ee665a20d4ba19)
-Reviewed-on: https://gerrit.libreoffice.org/66374
-Reviewed-by: Caolán McNamara <caolanm at redhat.com>
-Tested-by: Caolán McNamara <caolanm at redhat.com>
----
- .../pdfimport/xpdfwrapper/pdfioutdev_gpl.cxx       | 22 +++++++-------
- .../pdfimport/xpdfwrapper/pdfioutdev_gpl.hxx       | 35 +++++++++++++---------
- 2 files changed, 32 insertions(+), 25 deletions(-)
-
-diff --git a/sdext/source/pdfimport/xpdfwrapper/pdfioutdev_gpl.cxx b/sdext/source/pdfimport/xpdfwrapper/pdfioutdev_gpl.cxx
-index 06e4fae..6e4bf8a 100644
---- a/sdext/source/pdfimport/xpdfwrapper/pdfioutdev_gpl.cxx
-+++ b/sdext/source/pdfimport/xpdfwrapper/pdfioutdev_gpl.cxx
-@@ -514,7 +514,7 @@ void PDFOutDev::printPath( GfxPath* pPath )
- PDFOutDev::PDFOutDev( PDFDoc* pDoc ) :
-     m_pDoc( pDoc ),
-     m_aFontMap(),
--    m_pUtf8Map( new UnicodeMap("UTF-8", gTrue, &mapUTF8) ),
-+    m_pUtf8Map( new UnicodeMap("UTF-8", true, &mapUTF8) ),
-     m_bSkipImages(false)
- {
- }
-@@ -939,11 +939,11 @@ void PDFOutDev::endTextObject(GfxState*)
- }
- 
- void PDFOutDev::drawImageMask(GfxState* pState, Object*, Stream* str,
--                              int width, int height, GBool invert,
-+                              int width, int height, poppler_bool invert,
- #if POPPLER_CHECK_VERSION(0, 12, 0)
--                              GBool /*interpolate*/,
-+                              poppler_bool /*interpolate*/,
- #endif
--                              GBool /*inlineImg*/ )
-+                              poppler_bool /*inlineImg*/ )
- {
-     if (m_bSkipImages)
-         return;
-@@ -972,9 +972,9 @@ void PDFOutDev::drawImageMask(GfxState* pState, Object*, Stream* str,
- void PDFOutDev::drawImage(GfxState*, Object*, Stream* str,
-                           int width, int height, GfxImageColorMap* colorMap,
- #if POPPLER_CHECK_VERSION(0, 12, 0)
--                          GBool /*interpolate*/,
-+                          poppler_bool /*interpolate*/,
- #endif
--                          int* maskColors, GBool /*inlineImg*/ )
-+                          int* maskColors, poppler_bool /*inlineImg*/ )
- {
-     if (m_bSkipImages)
-         return;
-@@ -1023,13 +1023,13 @@ void PDFOutDev::drawMaskedImage(GfxState*, Object*, Stream* str,
-                                 int width, int height,
-                                 GfxImageColorMap* colorMap,
- #if POPPLER_CHECK_VERSION(0, 12, 0)
--                                GBool /*interpolate*/,
-+                                poppler_bool /*interpolate*/,
- #endif
-                                 Stream* maskStr,
-                                 int maskWidth, int maskHeight,
--                                GBool maskInvert
-+                                poppler_bool maskInvert
- #if POPPLER_CHECK_VERSION(0, 12, 0)
--                                , GBool /*maskInterpolate*/
-+                                , poppler_bool /*maskInterpolate*/
- #endif
-                                )
- {
-@@ -1045,13 +1045,13 @@ void PDFOutDev::drawSoftMaskedImage(GfxState*, Object*, Stream* str,
-                                     int width, int height,
-                                     GfxImageColorMap* colorMap,
- #if POPPLER_CHECK_VERSION(0, 12, 0)
--                                    GBool /*interpolate*/,
-+                                    poppler_bool /*interpolate*/,
- #endif
-                                     Stream* maskStr,
-                                     int maskWidth, int maskHeight,
-                                     GfxImageColorMap* maskColorMap
- #if POPPLER_CHECK_VERSION(0, 12, 0)
--                                    , GBool /*maskInterpolate*/
-+                                    , poppler_bool /*maskInterpolate*/
- #endif
-                                    )
- {
-diff --git a/sdext/source/pdfimport/xpdfwrapper/pdfioutdev_gpl.hxx b/sdext/source/pdfimport/xpdfwrapper/pdfioutdev_gpl.hxx
-index 7e65f08..88b8837 100644
---- a/sdext/source/pdfimport/xpdfwrapper/pdfioutdev_gpl.hxx
-+++ b/sdext/source/pdfimport/xpdfwrapper/pdfioutdev_gpl.hxx
-@@ -130,6 +130,13 @@ namespace pdfi
-         { return const_cast<GooString &>(familyName); }
-     };
- 
-+    // Versions before 0.15 defined GBool as int; 0.15 redefined it as bool; 0.71 dropped GBool
-+#if POPPLER_VERSION_MAJOR == 0 && POPPLER_VERSION_MINOR < 71
-+    typedef GBool poppler_bool;
-+#else
-+    typedef bool poppler_bool;
-+#endif
-+
-     class PDFOutDev : public OutputDev
-     {
-         // not owned by this class
-@@ -151,17 +158,17 @@ namespace pdfi
- 
-         // Does this device use upside-down coordinates?
-         // (Upside-down means (0,0) is the top left corner of the page.)
--        virtual GBool upsideDown() override { return gTrue; }
-+        virtual poppler_bool upsideDown() override { return true; }
- 
-         // Does this device use drawChar() or drawString()?
--        virtual GBool useDrawChar() override { return gTrue; }
-+        virtual poppler_bool useDrawChar() override { return true; }
- 
-         // Does this device use beginType3Char/endType3Char?  Otherwise,
-         // text in Type 3 fonts will be drawn with drawChar/drawString.
--        virtual GBool interpretType3Chars() override { return gFalse; }
-+        virtual poppler_bool interpretType3Chars() override { return false; }
- 
-         // Does this device need non-text content?
--        virtual GBool needNonText() override { return gTrue; }
-+        virtual poppler_bool needNonText() override { return true; }
- 
-         //----- initialization and control
- 
-@@ -233,40 +240,40 @@ namespace pdfi
- 
-         //----- image drawing
-         virtual void drawImageMask(GfxState *state, Object *ref, Stream *str,
--                                   int width, int height, GBool invert,
-+                                   int width, int height, poppler_bool invert,
- #if POPPLER_CHECK_VERSION(0, 12, 0)
--                                   GBool interpolate,
-+                                   poppler_bool interpolate,
- #endif
--                                   GBool inlineImg) override;
-+                                   poppler_bool inlineImg) override;
-         virtual void drawImage(GfxState *state, Object *ref, Stream *str,
-                                int width, int height, GfxImageColorMap *colorMap,
- #if POPPLER_CHECK_VERSION(0, 12, 0)
--                               GBool interpolate,
-+                               poppler_bool interpolate,
- #endif
--                               int *maskColors, GBool inlineImg) override;
-+                               int *maskColors, poppler_bool inlineImg) override;
-         virtual void drawMaskedImage(GfxState *state, Object *ref, Stream *str,
-                                      int width, int height,
-                                      GfxImageColorMap *colorMap,
- #if POPPLER_CHECK_VERSION(0, 12, 0)
--                                     GBool interpolate,
-+                                     poppler_bool interpolate,
- #endif
-                                      Stream *maskStr, int maskWidth, int maskHeight,
--                                     GBool maskInvert
-+                                     poppler_bool maskInvert
- #if POPPLER_CHECK_VERSION(0, 12, 0)
--                                     , GBool maskInterpolate
-+                                     , poppler_bool maskInterpolate
- #endif
-                                     ) override;
-         virtual void drawSoftMaskedImage(GfxState *state, Object *ref, Stream *str,
-                                          int width, int height,
-                                          GfxImageColorMap *colorMap,
- #if POPPLER_CHECK_VERSION(0, 12, 0)
--                                         GBool interpolate,
-+                                         poppler_bool interpolate,
- #endif
-                                          Stream *maskStr,
-                                          int maskWidth, int maskHeight,
-                                          GfxImageColorMap *maskColorMap
- #if POPPLER_CHECK_VERSION(0, 12, 0)
--                                         , GBool maskInterpolate
-+                                         , poppler_bool maskInterpolate
- #endif
-                                         ) override;
- 
--- 
-cgit v1.1
-
-From 704ff8be10ecfb39be064bd08b2f9c11312e3428 Mon Sep 17 00:00:00 2001
-From: Aleksei Nikiforov <darktemplar at basealt.ru>
-Date: Thu, 22 Nov 2018 17:54:00 +0300
-Subject: Fix build with poppler 0.71
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-Change-Id: I470ece9dc4766e10e1ccb5e99b25a8d8cc4cbf38
-Reviewed-on: https://gerrit.libreoffice.org/63860
-Tested-by: Jenkins
-Reviewed-by: Stephan Bergmann <sbergman at redhat.com>
-(cherry picked from commit 8ff41a26caf51544699863c89598d37d93dc1b21)
-Reviewed-on: https://gerrit.libreoffice.org/66375
-Reviewed-by: Aleksei Nikiforov <darktemplar at basealt.ru>
-Reviewed-by: Michael Stahl <Michael.Stahl at cib.de>
-Reviewed-by: Caolán McNamara <caolanm at redhat.com>
-Tested-by: Caolán McNamara <caolanm at redhat.com>
----
- sdext/source/pdfimport/xpdfwrapper/pdfioutdev_gpl.cxx | 4 ++++
- sdext/source/pdfimport/xpdfwrapper/pdfioutdev_gpl.hxx | 4 ++++
- sdext/source/pdfimport/xpdfwrapper/wrapper_gpl.cxx    | 4 ++--
- 3 files changed, 10 insertions(+), 2 deletions(-)
-
-diff --git a/sdext/source/pdfimport/xpdfwrapper/pdfioutdev_gpl.cxx b/sdext/source/pdfimport/xpdfwrapper/pdfioutdev_gpl.cxx
-index 6e4bf8a..df0288d 100644
---- a/sdext/source/pdfimport/xpdfwrapper/pdfioutdev_gpl.cxx
-+++ b/sdext/source/pdfimport/xpdfwrapper/pdfioutdev_gpl.cxx
-@@ -578,7 +578,11 @@ void PDFOutDev::restoreState(GfxState*)
-     printf( "restoreState\n" );
- }
- 
-+#if POPPLER_CHECK_VERSION(0, 71, 0)
-+void PDFOutDev::setDefaultCTM(const double *pMat)
-+#else
- void PDFOutDev::setDefaultCTM(double *pMat)
-+#endif
- {
-     assert(pMat);
- 
-diff --git a/sdext/source/pdfimport/xpdfwrapper/pdfioutdev_gpl.hxx b/sdext/source/pdfimport/xpdfwrapper/pdfioutdev_gpl.hxx
-index 88b8837..37a03bc 100644
---- a/sdext/source/pdfimport/xpdfwrapper/pdfioutdev_gpl.hxx
-+++ b/sdext/source/pdfimport/xpdfwrapper/pdfioutdev_gpl.hxx
-@@ -173,7 +173,11 @@ namespace pdfi
-         //----- initialization and control
- 
-         // Set default transform matrix.
-+#if POPPLER_CHECK_VERSION(0, 71, 0)
-+        virtual void setDefaultCTM(const double *ctm) override;
-+#else
-         virtual void setDefaultCTM(double *ctm) override;
-+#endif
- 
-         // Start a page.
-         virtual void startPage(int pageNum, GfxState *state
-diff --git a/sdext/source/pdfimport/xpdfwrapper/wrapper_gpl.cxx b/sdext/source/pdfimport/xpdfwrapper/wrapper_gpl.cxx
-index b536a71..f2049a6 100644
---- a/sdext/source/pdfimport/xpdfwrapper/wrapper_gpl.cxx
-+++ b/sdext/source/pdfimport/xpdfwrapper/wrapper_gpl.cxx
-@@ -69,7 +69,7 @@ int main(int argc, char **argv)
- 
-     // read config file
-     globalParams = new GlobalParams();
--    globalParams->setErrQuiet(gTrue);
-+    globalParams->setErrQuiet(true);
- #if defined(_MSC_VER)
-     globalParams->setupBaseFonts(nullptr);
- #endif
-@@ -145,7 +145,7 @@ int main(int argc, char **argv)
-                 i,
-                 PDFI_OUTDEV_RESOLUTION,
-                 PDFI_OUTDEV_RESOLUTION,
--                0, gTrue, gTrue, gTrue);
-+                0, true, true, true);
-         rDoc.processLinks(&aOutDev, i);
-     }
- 
--- 
-cgit v1.1
-

Deleted: libreoffice-poppler-0.72.patch
===================================================================
--- libreoffice-poppler-0.72.patch	2019-02-07 14:37:32 UTC (rev 345604)
+++ libreoffice-poppler-0.72.patch	2019-02-07 15:00:30 UTC (rev 345605)
@@ -1,51 +0,0 @@
-From a5a188d5bbb99f6e305dad6f81b9e3760aa32676 Mon Sep 17 00:00:00 2001
-From: Andreas Sturmlechner <asturm at gentoo.org>
-Date: Tue, 8 Jan 2019 11:24:40 +0100
-Subject: Fix build with poppler-0.72
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-Change-Id: I0664d1b39e97b7555c0a3cba442db52b84f37134
-Reviewed-on: https://gerrit.libreoffice.org/65960
-Tested-by: Jenkins
-Reviewed-by: Michael Stahl <Michael.Stahl at cib.de>
-(cherry picked from commit 65a6c9ae4791188ffcecf489073cf38873ce5e17)
-Reviewed-on: https://gerrit.libreoffice.org/66376
-Reviewed-by: Caolán McNamara <caolanm at redhat.com>
-Tested-by: Caolán McNamara <caolanm at redhat.com>
----
- sdext/source/pdfimport/xpdfwrapper/pdfioutdev_gpl.cxx | 8 ++++++++
- 1 file changed, 8 insertions(+)
-
-diff --git a/sdext/source/pdfimport/xpdfwrapper/pdfioutdev_gpl.cxx b/sdext/source/pdfimport/xpdfwrapper/pdfioutdev_gpl.cxx
-index df0288d..9c65fc2 100644
---- a/sdext/source/pdfimport/xpdfwrapper/pdfioutdev_gpl.cxx
-+++ b/sdext/source/pdfimport/xpdfwrapper/pdfioutdev_gpl.cxx
-@@ -555,7 +555,11 @@ void PDFOutDev::processLink(Link* link, Catalog*)
-     LinkAction* pAction = link->getAction();
-     if (pAction && pAction->getKind() == actionURI)
-     {
-+#if POPPLER_CHECK_VERSION(0, 72, 0)
-+        const char* pURI = static_cast<LinkURI*>(pAction)->getURI()->c_str();
-+#else
-         const char* pURI = static_cast<LinkURI*>(pAction)->getURI()->getCString();
-+#endif
- 
-         std::vector<char> aEsc( lcl_escapeLineFeeds(pURI) );
- 
-@@ -757,7 +761,11 @@ void PDFOutDev::updateFont(GfxState *state)
- 
-             aFont = it->second;
- 
-+#if POPPLER_CHECK_VERSION(0, 72, 0)
-+            std::vector<char> aEsc( lcl_escapeLineFeeds(aFont.familyName.c_str()) );
-+#else
-             std::vector<char> aEsc( lcl_escapeLineFeeds(aFont.familyName.getCString()) );
-+#endif
-             printf( " %d %d %d %d %f %d %s",
-                     aFont.isEmbedded,
-                     aFont.isBold,
--- 
-cgit v1.1
-

Deleted: libreoffice-poppler-0.73.patch
===================================================================
--- libreoffice-poppler-0.73.patch	2019-02-07 14:37:32 UTC (rev 345604)
+++ libreoffice-poppler-0.73.patch	2019-02-07 15:00:30 UTC (rev 345605)
@@ -1,302 +0,0 @@
-From b5698ac28a8a79105edf28ffc1db19bbcbecda3a Mon Sep 17 00:00:00 2001
-From: Michael Stahl <Michael.Stahl at cib.de>
-Date: Mon, 14 Jan 2019 15:08:42 +0100
-Subject: sdext: fix build with poppler 0.73
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-... which has removed Guchar, Gushort, Guint, Gulong...
-
-Change-Id: Ia54ad378031f167f6779f6ffe574b85c1e72f26d
-Reviewed-on: https://gerrit.libreoffice.org/66305
-Tested-by: Jenkins
-Reviewed-by: Michael Stahl <Michael.Stahl at cib.de>
-(cherry picked from commit 50d371ae08c66648d9f32f633b2245e1746e2bb6)
-Reviewed-on: https://gerrit.libreoffice.org/66363
-Reviewed-by: Caolán McNamara <caolanm at redhat.com>
-Tested-by: Caolán McNamara <caolanm at redhat.com>
----
- sdext/source/pdfimport/xpdfwrapper/pdfioutdev_gpl.cxx | 4 ++--
- sdext/source/pdfimport/xpdfwrapper/pdfioutdev_gpl.hxx | 6 +++++-
- sdext/source/pdfimport/xpdfwrapper/pnghelper.cxx      | 6 +++---
- 3 files changed, 10 insertions(+), 6 deletions(-)
-
-diff --git a/sdext/source/pdfimport/xpdfwrapper/pdfioutdev_gpl.cxx b/sdext/source/pdfimport/xpdfwrapper/pdfioutdev_gpl.cxx
-index 9c65fc2..9432755 100644
---- a/sdext/source/pdfimport/xpdfwrapper/pdfioutdev_gpl.cxx
-+++ b/sdext/source/pdfimport/xpdfwrapper/pdfioutdev_gpl.cxx
-@@ -298,7 +298,7 @@ void writePpm_( OutputBuffer&     o_rOutputBuf,
-     o_rOutputBuf.resize(header_size);
- 
-     // initialize stream
--    Guchar *p;
-+    unsigned char *p;
-     GfxRGB rgb;
-     std::unique_ptr<ImageStream> imgStr(
-         new ImageStream(str,
-@@ -401,7 +401,7 @@ void writeImage_( OutputBuffer&     o_rOutputBuf,
-                 oneColor = { byteToCol( 0xff ), byteToCol( 0xff ), byteToCol( 0xff ) };
-         if( colorMap->getColorSpace()->getMode() == csIndexed || colorMap->getColorSpace()->getMode() == csDeviceGray )
-         {
--            Guchar nIndex = 0;
-+            unsigned char nIndex = 0;
-             colorMap->getRGB( &nIndex, &zeroColor );
-             nIndex = 1;
-             colorMap->getRGB( &nIndex, &oneColor );
-diff --git a/sdext/source/pdfimport/xpdfwrapper/pdfioutdev_gpl.hxx b/sdext/source/pdfimport/xpdfwrapper/pdfioutdev_gpl.hxx
-index 37a03bc..533eb93 100644
---- a/sdext/source/pdfimport/xpdfwrapper/pdfioutdev_gpl.hxx
-+++ b/sdext/source/pdfimport/xpdfwrapper/pdfioutdev_gpl.hxx
-@@ -290,9 +290,13 @@ extern FILE* g_binary_out;
- 
- // note: if you ever change Output_t, please keep in mind that the current code
- // relies on it being of 8 bit size
--typedef Guchar Output_t;
-+typedef unsigned char Output_t;
- typedef std::vector< Output_t > OutputBuffer;
- 
-+#if !POPPLER_CHECK_VERSION(0, 73, 0)
-+static_assert(std::is_same<Guchar, unsigned char>::value, "unexpected typedef");
-+#endif
-+
- #endif // INCLUDED_SDEXT_SOURCE_PDFIMPORT_XPDFWRAPPER_PDFIOUTDEV_GPL_HXX
- 
- /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
-diff --git a/sdext/source/pdfimport/xpdfwrapper/pnghelper.cxx b/sdext/source/pdfimport/xpdfwrapper/pnghelper.cxx
-index 44f30c0..66c1751 100644
---- a/sdext/source/pdfimport/xpdfwrapper/pnghelper.cxx
-+++ b/sdext/source/pdfimport/xpdfwrapper/pnghelper.cxx
-@@ -242,7 +242,7 @@ void PngHelper::createPng( OutputBuffer& o_rOutputBuf,
-     appendIHDR( o_rOutputBuf, width, height, 8, 6 ); // RGBA image
- 
-     // initialize stream
--    Guchar *p, *pm;
-+    unsigned char *p, *pm;
-     GfxRGB rgb;
-     GfxGray alpha;
-     ImageStream* imgStr =
-@@ -328,7 +328,7 @@ void PngHelper::createPng( OutputBuffer& o_rOutputBuf,
-     appendIHDR( o_rOutputBuf, width, height, 8, 6 ); // RGBA image
- 
-     // initialize stream
--    Guchar *p;
-+    unsigned char *p;
-     GfxRGB rgb;
-     ImageStream* imgStr =
-         new ImageStream(str,
-@@ -374,7 +374,7 @@ void PngHelper::createPng( OutputBuffer& o_rOutputBuf,
-     {
-         for( int x = 0; x < maskWidth; ++x )
-         {
--            Guchar aPixel = 0;
-+            unsigned char aPixel = 0;
-             imgStrMask->getPixel( &aPixel );
-             int nIndex = (y*height/maskHeight) * (width*4+1) + // mapped line
-                          (x*width/maskWidth)*4 + 1  + 3        // mapped column
--- 
-cgit v1.1
-
-From 033ff5b3eb90deaf6fd5eb8a74100233aa5fe772 Mon Sep 17 00:00:00 2001
-From: Michael Stahl <Michael.Stahl at cib.de>
-Date: Mon, 14 Jan 2019 15:12:24 +0100
-Subject: poppler: upgrade to release 0.73.0
-
-Change-Id: If20998f8565b5534a96b3f29ccec572273edca1d
-Reviewed-on: https://gerrit.libreoffice.org/66306
-Tested-by: Jenkins
-Reviewed-by: Michael Stahl <Michael.Stahl at cib.de>
-(cherry picked from commit 0609ea4fc27f34367716bf41c0cdaa7785aed9da)
-Reviewed-on: https://gerrit.libreoffice.org/66369
-Reviewed-by: Christian Lohmaier <lohmaier+LibreOffice at googlemail.com>
----
- download.lst                                       |  4 +--
- external/poppler/StaticLibrary_poppler.mk          |  6 +----
- external/poppler/UnpackedTarball_poppler.mk        | 11 ++++++++
- external/poppler/poppler-c++11.patch.1             | 31 ++++++++++++++++++++++
- external/poppler/poppler-config.patch.1            | 12 ++++-----
- .../pdfimport/xpdfwrapper/pdfioutdev_gpl.hxx       |  1 +
- 6 files changed, 52 insertions(+), 13 deletions(-)
- create mode 100644 external/poppler/poppler-c++11.patch.1
-
-diff --git a/download.lst b/download.lst
-index 636ae69..3b526c2 100644
---- a/download.lst
-+++ b/download.lst
-@@ -206,8 +206,8 @@ export PIXMAN_SHA256SUM := 21b6b249b51c6800dc9553b65106e1e37d0e25df942c90531d4c3
- export PIXMAN_TARBALL := e80ebae4da01e77f68744319f01d52a3-pixman-0.34.0.tar.gz
- export LIBPNG_SHA256SUM := 2f1e960d92ce3b3abd03d06dfec9637dfbd22febf107a536b44f7a47c60659f6
- export LIBPNG_TARBALL := libpng-1.6.34.tar.xz
--export POPPLER_SHA256SUM := 2c096431adfb74bc2f53be466889b7646e1b599f28fa036094f3f7235cc9eae7
--export POPPLER_TARBALL := poppler-0.66.0.tar.xz
-+export POPPLER_SHA256SUM := e44b5543903128884ba4538c2a97d3bcc8889e97ffacc4636112101f0238db03
-+export POPPLER_TARBALL := poppler-0.73.0.tar.xz
- export POSTGRESQL_SHA256SUM := db61d498105a7d5fe46185e67ac830c878cdd7dc1f82a87f06b842217924c461
- export POSTGRESQL_TARBALL := c0b4799ea9850eae3ead14f0a60e9418-postgresql-9.2.1.tar.bz2
- export PYTHON_SHA256SUM := 063d2c3b0402d6191b90731e0f735c64830e7522348aeb7ed382a83165d45009
-diff --git a/external/poppler/StaticLibrary_poppler.mk b/external/poppler/StaticLibrary_poppler.mk
-index f145b7a..aa5ed69 100644
---- a/external/poppler/StaticLibrary_poppler.mk
-+++ b/external/poppler/StaticLibrary_poppler.mk
-@@ -53,11 +53,8 @@ $(eval $(call gb_StaticLibrary_set_generated_cxx_suffix,poppler,cc))
- 
- $(eval $(call gb_StaticLibrary_add_generated_exception_objects,poppler,\
- 	UnpackedTarball/poppler/goo/gfile \
--	UnpackedTarball/poppler/goo/gmempp \
--	UnpackedTarball/poppler/goo/GooList \
- 	UnpackedTarball/poppler/goo/GooTimer \
- 	UnpackedTarball/poppler/goo/GooString \
--	UnpackedTarball/poppler/goo/gmem \
- 	UnpackedTarball/poppler/goo/FixedPoint \
- 	UnpackedTarball/poppler/goo/NetPBMWriter \
- 	UnpackedTarball/poppler/goo/PNGWriter \
-@@ -80,6 +77,7 @@ $(eval $(call gb_StaticLibrary_add_generated_exception_objects,poppler,\
- 	UnpackedTarball/poppler/poppler/BuiltinFontTables \
- 	UnpackedTarball/poppler/poppler/CachedFile \
- 	UnpackedTarball/poppler/poppler/Catalog \
-+	UnpackedTarball/poppler/poppler/CertificateInfo \
- 	UnpackedTarball/poppler/poppler/CharCodeToUnicode \
- 	UnpackedTarball/poppler/poppler/CMap \
- 	UnpackedTarball/poppler/poppler/DateInfo \
-@@ -114,7 +112,6 @@ $(eval $(call gb_StaticLibrary_add_generated_exception_objects,poppler,\
- 	UnpackedTarball/poppler/poppler/PDFDoc \
- 	UnpackedTarball/poppler/poppler/PDFDocEncoding \
- 	UnpackedTarball/poppler/poppler/PDFDocFactory \
--	UnpackedTarball/poppler/poppler/PopplerCache \
- 	UnpackedTarball/poppler/poppler/ProfileData \
- 	UnpackedTarball/poppler/poppler/PreScanOutputDev \
- 	UnpackedTarball/poppler/poppler/PSTokenizer \
-@@ -135,7 +132,6 @@ $(eval $(call gb_StaticLibrary_add_generated_exception_objects,poppler,\
- 	UnpackedTarball/poppler/poppler/StdinPDFDocBuilder \
- 	UnpackedTarball/poppler/poppler/Sound \
- 	UnpackedTarball/poppler/poppler/ViewerPreferences \
--	UnpackedTarball/poppler/poppler/XpdfPluginAPI \
- 	UnpackedTarball/poppler/poppler/Movie \
- 	UnpackedTarball/poppler/poppler/Rendition \
- 	UnpackedTarball/poppler/poppler/DCTStream \
-diff --git a/external/poppler/UnpackedTarball_poppler.mk b/external/poppler/UnpackedTarball_poppler.mk
-index 68fd06d..5b91e16 100644
---- a/external/poppler/UnpackedTarball_poppler.mk
-+++ b/external/poppler/UnpackedTarball_poppler.mk
-@@ -13,6 +13,17 @@ $(eval $(call gb_UnpackedTarball_set_tarball,poppler,$(POPPLER_TARBALL),,poppler
- 
- $(eval $(call gb_UnpackedTarball_add_patches,poppler,\
- 	external/poppler/poppler-config.patch.1 \
-+	external/poppler/poppler-c++11.patch.1 \
- ))
- 
-+# std::make_unique is only available in C++14
-+# use "env -i" to avoid Cygwin "environment is too large for exec"
-+# Mac OS X sed says "sed: RE error: illegal byte sequence"; Apple clang should
-+# be happy with std::make_unique so just skip it
-+ifneq ($(OS_FOR_BUILD),MACOSX)
-+$(eval $(call gb_UnpackedTarball_set_post_action,poppler,\
-+	env -i PATH="$(PATH)" $(FIND) . -name '*.cc' -exec sed -i -e 's/std::make_unique/o3tl::make_unique/' {} \\; \
-+))
-+endif
-+
- # vim: set noet sw=4 ts=4:
-diff --git a/external/poppler/poppler-c++11.patch.1 b/external/poppler/poppler-c++11.patch.1
-new file mode 100644
-index 0000000..5a4d1a2
---- /dev/null
-+++ b/external/poppler/poppler-c++11.patch.1
-@@ -0,0 +1,31 @@
-+remove usage of newfangled C++ that baseline toolchains don't support
-+
-+--- poppler/goo/gfile.cc.orig	2019-01-16 11:02:21.112911552 +0100
-++++ poppler/goo/gfile.cc	2019-01-16 11:01:33.125975178 +0100
-+@@ -67,7 +67,7 @@
-+ 
-+ #ifndef _WIN32
-+ 
-+-using namespace std::string_literals;
-++//using namespace std::string_literals;
-+ 
-+ namespace {
-+ 
-+@@ -366,7 +366,7 @@
-+   }
-+ #else
-+   // First try to atomically open the file with CLOEXEC
-+-  const std::string modeStr = mode + "e"s;
-++  const std::string modeStr = mode + std::string("e");
-+   FILE *file = fopen(path, modeStr.c_str());
-+   if (file != nullptr)
-+     return file;
-+--- poppler/goo/gmem.h.orig	2019-01-16 11:25:28.161920038 +0100
-++++ poppler/goo/gmem.h	2019-01-16 11:25:53.756882295 +0100
-+@@ -177,4 +177,6 @@
-+   return std::strncpy(r, s, n);
-+ }
-+ 
-++#include <o3tl/make_unique.hxx>
-++
-+ #endif // GMEM_H
-diff --git a/external/poppler/poppler-config.patch.1 b/external/poppler/poppler-config.patch.1
-index 5328e68..e312573 100644
---- a/external/poppler/poppler-config.patch.1
-+++ b/external/poppler/poppler-config.patch.1
-@@ -195,7 +195,7 @@ index 0fbd336a..451213f8 100644
- +#define PACKAGE_NAME "poppler"
- +
- +/* Define to the full name and version of this package. */
--+#define PACKAGE_STRING "poppler 0.66.0"
-++#define PACKAGE_STRING "poppler 0.73.0"
- +
- +/* Define to the one symbol short name of this package. */
- +#define PACKAGE_TARNAME "poppler"
-@@ -204,7 +204,7 @@ index 0fbd336a..451213f8 100644
- +#define PACKAGE_URL ""
- +
- +/* Define to the version of this package. */
--+#define PACKAGE_VERSION "0.66.0"
-++#define PACKAGE_VERSION "0.73.0"
- +
- +/* Poppler data dir */
- +#define POPPLER_DATADIR "/usr/local/share/poppler"
-@@ -228,7 +228,7 @@ index 0fbd336a..451213f8 100644
- +/* #undef USE_FLOAT */
- +
- +/* Version number of package */
--+#define VERSION "0.66.0"
-++#define VERSION "0.73.0"
- +
- +#if defined(__APPLE__)
- +#elif defined (_WIN32)
-@@ -304,7 +304,7 @@ index 0fbd336a..451213f8 100644
- +
- +/* Defines the poppler version. */
- +#ifndef POPPLER_VERSION
--+#define POPPLER_VERSION "0.66.0"
-++#define POPPLER_VERSION "0.73.0"
- +#endif
- +
- +/* Enable multithreading support. */
-@@ -466,9 +466,9 @@ index 0fbd336a..451213f8 100644
- +
- +#include "poppler-global.h"
- +
--+#define POPPLER_VERSION "0.66.0"
-++#define POPPLER_VERSION "0.73.0"
- +#define POPPLER_VERSION_MAJOR 0
--+#define POPPLER_VERSION_MINOR 66
-++#define POPPLER_VERSION_MINOR 73
- +#define POPPLER_VERSION_MICRO 0
- +
- +namespace poppler
-diff --git a/sdext/source/pdfimport/xpdfwrapper/pdfioutdev_gpl.hxx b/sdext/source/pdfimport/xpdfwrapper/pdfioutdev_gpl.hxx
-index 533eb93..ced1a65 100644
---- a/sdext/source/pdfimport/xpdfwrapper/pdfioutdev_gpl.hxx
-+++ b/sdext/source/pdfimport/xpdfwrapper/pdfioutdev_gpl.hxx
-@@ -30,6 +30,7 @@
- #elif defined _MSC_VER
- #pragma warning(push)
- #pragma warning(disable : 4100) // unreferenced formal parameter
-+#pragma warning(disable : 4310) // cast truncates constant value
- #endif
- 
- #include <GfxState.h>
--- 
-cgit v1.1
-



More information about the arch-commits mailing list