download.lst                                    |    4 ++--
 external/curl/curl-7.26.0_win-proxy.patch       |    9 +++------
 external/curl/curl-msvc-schannel.patch.1        |    4 ++--
 external/nss/UnpackedTarball_nss.mk             |    2 ++
 external/nss/nss-winXP-sdk.patch.1              |    9 +++++++++
 lotuswordpro/qa/cppunit/data/fail/recurse-1.lwp |binary
 lotuswordpro/qa/cppunit/data/fail/recurse-2.lwp |binary
 lotuswordpro/source/filter/lwpfootnote.cxx      |    2 +-
 lotuswordpro/source/filter/lwpframelayout.cxx   |    4 ++--
 lotuswordpro/source/filter/lwpfribframe.cxx     |    2 +-
 lotuswordpro/source/filter/lwplayout.cxx        |    5 +++--
 lotuswordpro/source/filter/lwplayout.hxx        |   16 +++++++++++++---
 lotuswordpro/source/filter/lwpnotes.cxx         |    4 ++--
 lotuswordpro/source/filter/lwpobj.cxx           |    1 +
 lotuswordpro/source/filter/lwpobj.hxx           |   14 ++++++++++++--
 lotuswordpro/source/filter/lwppagelayout.cxx    |    4 ++--
 lotuswordpro/source/filter/lwpstory.cxx         |    8 ++++----
 17 files changed, 59 insertions(+), 29 deletions(-)

New commits:
commit 4bcadb95a3eabe0ca64de3b6478e1bff679987cc
Author: Michael Stahl <mst...@redhat.com>
Date:   Wed Jul 1 00:04:32 2015 +0200

    curl: upgrade to release 7.43.0
    
    Change-Id: Ic16111f21625fc510e79bba8122eaa60662f7a59
    (cherry picked from commit 65327d615b64f487842e4c5d0ee7290f9c823a0f)
    Reviewed-on: https://gerrit.libreoffice.org/16726
    Tested-by: Jenkins <c...@libreoffice.org>
    Reviewed-by: Caolán McNamara <caol...@redhat.com>
    Tested-by: Caolán McNamara <caol...@redhat.com>

diff --git a/download.lst b/download.lst
index 7ef2c0f..e6eb5c6 100644
--- a/download.lst
+++ b/download.lst
@@ -26,8 +26,8 @@ export COINMP_TARBALL := CoinMP-1.7.6.tgz
 export COLLADA2GLTF_TARBALL := 
4b87018f7fff1d054939d19920b751a0-collada2gltf-master-cb1d97788a.tar.bz2
 export CPPUNIT_TARBALL := 
ac4781e01619be13461bb2d562b94a7b-cppunit-1.13.1.tar.gz
 export CT2N_TARBALL := 
451ccf439a36a568653b024534669971-ConvertTextToNumber-1.3.2.oxt
-export CURL_MD5SUM := e6d1f9d1b59da5062109ffe14e0569a4
-export CURL_TARBALL := curl-7.36.0.tar.bz2
+export CURL_MD5SUM := 11bddbb452a8b766b932f859aaeeed39
+export CURL_TARBALL := curl-7.43.0.tar.bz2
 export DBGHELP_DLL := 13fbc2e8b37ddf28181dd6d8081c2b8e-dbghelp.dll
 export EBOOK_MD5SUM := c25a881d21abc5b4da19205db513cc22
 export EBOOK_TARBALL := libe-book-0.1.1.tar.bz2
diff --git a/external/curl/curl-7.26.0_win-proxy.patch 
b/external/curl/curl-7.26.0_win-proxy.patch
index 26c42f7..99402a4 100644
--- a/external/curl/curl-7.26.0_win-proxy.patch
+++ b/external/curl/curl-7.26.0_win-proxy.patch
@@ -117,14 +117,11 @@
    char proxy_env[128];
  
    no_proxy=curl_getenv("no_proxy");
-@@ -4189,9 +4265,9 @@ static char *detect_proxy(struct connectdata *conn)
+@@ -4189,6 +4265,7 @@ static char *detect_proxy(struct connectdata *conn)
      }
    } /* if(!check_noproxy(conn->host.name, no_proxy)) - it wasn't specified
         non-proxy */
 +#endif /* WIN32 */
-   if(no_proxy)
-     free(no_proxy);
--
- #else /* !CURL_DISABLE_HTTP */
+   free(no_proxy);
  
-   (void)conn;
+ #else /* !CURL_DISABLE_HTTP */
diff --git a/external/curl/curl-msvc-schannel.patch.1 
b/external/curl/curl-msvc-schannel.patch.1
index 68af66d..1091a76 100644
--- a/external/curl/curl-msvc-schannel.patch.1
+++ b/external/curl/curl-msvc-schannel.patch.1
@@ -11,11 +11,11 @@ MSVC: use WNT native Schannel SSL/TLS implementation
  CFGSET = TRUE
  RESOURCE = $(DIROBJ)\libcurl.res
  !ENDIF
-@@ -411,7 +411,7 @@
+@@ -427,7 +427,7 @@
  TARGET = $(LIBCURL_DYN_LIB_DBG)
  DIROBJ = $(CFG)
  LNK    = $(LNKDLL) $(WINLIBS) /DEBUG /out:$(DIROBJ)\$(TARGET) 
/IMPLIB:$(DIROBJ)\$(LIBCURL_IMP_LIB_DBG) /PDB:$(DIROBJ)\$(LIBCURL_DYN_LIB_PDB)
--CC     = $(CCDEBUG) $(RTLIBD) 
+-CC     = $(CCDEBUG) $(RTLIBD)
 +CC     = $(CCDEBUG) $(RTLIBD) $(CFLAGSWINSSL)
  CFGSET = TRUE
  RESOURCE = $(DIROBJ)\libcurl.res
commit b773478512dbcadc270d81217af618a11220ecc9
Author: Christian Lohmaier <lohmaier+libreoff...@googlemail.com>
Date:   Tue Mar 15 15:09:45 2016 +0100

    fix nss build when targeting windows XP (using 7.1A SDK)
    
    otherwise build fails because of macro redefinitions warnings (that are
    now fatal because of warnings=errors)
    
    (cherry picked from commit 09e201fcf2813152335d50588dae0c38adc88d51)
    
    Change-Id: I0a15083d9ffd032c48ab491695319309f3053fb7
    Reviewed-on: https://gerrit.libreoffice.org/23272
    Tested-by: Jenkins <c...@libreoffice.org>
    Reviewed-by: Miklos Vajna <vmik...@collabora.co.uk>
    (cherry picked from commit 74c4ae75c06068f8c208973636825603ca49a00e)

diff --git a/external/nss/UnpackedTarball_nss.mk 
b/external/nss/UnpackedTarball_nss.mk
index ba358cb..383fd71 100644
--- a/external/nss/UnpackedTarball_nss.mk
+++ b/external/nss/UnpackedTarball_nss.mk
@@ -29,6 +29,8 @@ $(eval $(call gb_UnpackedTarball_add_patches,nss,\
         external/nss/nss-ios.patch) \
        $(if $(filter MSC-INTEL,$(COM)-$(CPUNAME)), \
                external/nss/nss.cygwin64.in32bit.patch) \
+    $(if $(findstring 120_70,$(VCVER)_$(WINDOWS_SDK_VERSION)), \
+        external/nss/nss-winXP-sdk.patch.1) \
 ))
 
 # nss-pem is only needed for internal curl to read the NSS CA database
diff --git a/external/nss/nss-winXP-sdk.patch.1 
b/external/nss/nss-winXP-sdk.patch.1
new file mode 100644
index 0000000..2c81892
--- /dev/null
+++ b/external/nss/nss-winXP-sdk.patch.1
@@ -0,0 +1,9 @@
+diff -ur nss.org/nss/coreconf/config.mk nss/nss/coreconf/config.mk
+--- nss.org/nss/coreconf/config.mk     2016-03-15 14:52:19.706093300 +0100
++++ nss/nss/coreconf/config.mk 2016-03-15 14:56:51.549914800 +0100
+@@ -188,3 +188,5 @@
+ 
+ # Hide old, deprecated, TLS cipher suite names when building NSS
+ DEFINES += -DSSL_DISABLE_DEPRECATED_CIPHER_SUITE_NAMES
++# build with 7.1A SDK for winXP compatibility
++DEFINES += -D_USING_V110_SDK71_
commit 7514c3bf6b13c4492cfbc5e3d72b4d5b8148fab7
Author: Caolán McNamara <caol...@redhat.com>
Date:   Tue Mar 15 09:21:10 2016 +0000

    recurse protection for XFConvert
    
    Change-Id: Ib6008d4b07159acad26c7baeb775702119c12e3b
    (cherry picked from commit 9e0004f2cc64ffa23ecd5c7c82016624eb8a5a20)
    Reviewed-on: https://gerrit.libreoffice.org/23259
    Reviewed-by: David Tardon <dtar...@redhat.com>
    Tested-by: David Tardon <dtar...@redhat.com>
    (cherry picked from commit 8978c75cb0fdb1a5cddbe25545f0455074afecf6)

diff --git a/lotuswordpro/qa/cppunit/data/fail/recurse-2.lwp 
b/lotuswordpro/qa/cppunit/data/fail/recurse-2.lwp
new file mode 100644
index 0000000..f19b0d7
Binary files /dev/null and b/lotuswordpro/qa/cppunit/data/fail/recurse-2.lwp 
differ
diff --git a/lotuswordpro/source/filter/lwpfootnote.cxx 
b/lotuswordpro/source/filter/lwpfootnote.cxx
index 0964eda..8c53f39 100644
--- a/lotuswordpro/source/filter/lwpfootnote.cxx
+++ b/lotuswordpro/source/filter/lwpfootnote.cxx
@@ -194,7 +194,7 @@ void LwpFootnote::XFConvert(XFContentContainer * pCont)
     LwpContent* pContent = FindFootnoteContent();
     if(pContent)
     {
-        pContent->XFConvert(pCont);
+        pContent->DoXFConvert(pCont);
     }
 }
 
diff --git a/lotuswordpro/source/filter/lwpframelayout.cxx 
b/lotuswordpro/source/filter/lwpframelayout.cxx
index 19944f7..28dc34e 100644
--- a/lotuswordpro/source/filter/lwpframelayout.cxx
+++ b/lotuswordpro/source/filter/lwpframelayout.cxx
@@ -840,7 +840,7 @@ void LwpFrameLayout::XFConvertFrame(XFContentContainer* 
pCont, sal_Int32 nStart
             rtl::Reference<LwpObject> content = m_Content.obj();
             if (content.is())
             {
-                content->XFConvert(pXFFrame);
+                content->DoXFConvert(pXFFrame);
                 //set frame size according to ole size
                 ApplyGraphicSize(pXFFrame);
             }
@@ -1107,7 +1107,7 @@ void LwpGroupLayout::XFConvertFrame(XFContentContainer* 
pCont, sal_Int32 nStart
         LwpVirtualLayout* pLayout = 
dynamic_cast<LwpVirtualLayout*>(GetChildHead().obj().get());
         while(pLayout)
         {
-            pLayout->XFConvert(pXFFrame);
+            pLayout->DoXFConvert(pXFFrame);
             pLayout = 
dynamic_cast<LwpVirtualLayout*>(pLayout->GetNext().obj().get());
         }
 
diff --git a/lotuswordpro/source/filter/lwpfribframe.cxx 
b/lotuswordpro/source/filter/lwpfribframe.cxx
index 6b1d5f8..2d7e91c 100644
--- a/lotuswordpro/source/filter/lwpfribframe.cxx
+++ b/lotuswordpro/source/filter/lwpfribframe.cxx
@@ -186,7 +186,7 @@ void LwpFribFrame::XFConvert(XFContentContainer* pCont)
         }
     }
 
-    pLayout->XFConvert(pXFContentContainer);
+    pLayout->DoXFConvert(pXFContentContainer);
 
     if(m_bRevisionFlag)
     {
diff --git a/lotuswordpro/source/filter/lwpnotes.cxx 
b/lotuswordpro/source/filter/lwpnotes.cxx
index bd16ae9..d85b545 100644
--- a/lotuswordpro/source/filter/lwpnotes.cxx
+++ b/lotuswordpro/source/filter/lwpnotes.cxx
@@ -184,7 +184,7 @@ void LwpNoteLayout::XFConvert(XFContentContainer * pCont)
     LwpVirtualLayout* pTextLayout = GetTextLayout();
     if(pTextLayout)
     {
-        pTextLayout->XFConvert(pCont);
+        pTextLayout->DoXFConvert(pCont);
     }
 }
 
@@ -293,7 +293,7 @@ void LwpNoteTextLayout::XFConvert(XFContentContainer * 
pCont)
     rtl::Reference<LwpObject> pContent = m_Content.obj();
     if(pContent.is())
     {
-        pContent->XFConvert(pCont);
+        pContent->DoXFConvert(pCont);
     }
 }
 
diff --git a/lotuswordpro/source/filter/lwpobj.cxx 
b/lotuswordpro/source/filter/lwpobj.cxx
index be9a07f..919e392 100644
--- a/lotuswordpro/source/filter/lwpobj.cxx
+++ b/lotuswordpro/source/filter/lwpobj.cxx
@@ -66,6 +66,7 @@
 LwpObject::LwpObject(LwpObjectHeader objHdr, LwpSvStream* pStrm)
     : m_ObjHdr(objHdr), m_pObjStrm(nullptr), m_pFoundry(nullptr)
     , m_pStrm(pStrm), m_bRegisteringStyle(false), m_bParsingStyle(false)
+    , m_bConvertingContent(false)
 {
     m_pObjStrm = new LwpObjectStream(pStrm, m_ObjHdr.IsCompressed(),
             static_cast<sal_uInt16>(m_ObjHdr.GetSize()) );
diff --git a/lotuswordpro/source/filter/lwpobj.hxx 
b/lotuswordpro/source/filter/lwpobj.hxx
index 978bc49..4b2e7b1 100644
--- a/lotuswordpro/source/filter/lwpobj.hxx
+++ b/lotuswordpro/source/filter/lwpobj.hxx
@@ -96,10 +96,12 @@ protected:
     LwpSvStream* m_pStrm;
     bool m_bRegisteringStyle;
     bool m_bParsingStyle;
+    bool m_bConvertingContent;
 protected:
     virtual void Read();
     virtual void RegisterStyle();
     virtual void Parse(IXFStream* pOutputStream);
+    virtual void XFConvert(XFContentContainer* pCont);
 public:
     void QuickRead();
     //calls RegisterStyle but bails if DoRegisterStyle is called
@@ -122,8 +124,16 @@ public:
         Parse(pOutputStream);
         m_bParsingStyle = false;
     }
-
-    virtual void XFConvert(XFContentContainer* pCont);
+    //calls XFConvert but bails if DoXFConvert is called
+    //on the same object recursively
+    void DoXFConvert(XFContentContainer* pCont)
+    {
+        if (m_bConvertingContent)
+            throw std::runtime_error("recursion in parsing");
+        m_bConvertingContent = true;
+        XFConvert(pCont);
+        m_bConvertingContent = false;
+    }
 
     LwpFoundry* GetFoundry(){return m_pFoundry;}
     void SetFoundry(LwpFoundry* pFoundry){m_pFoundry = pFoundry;}
diff --git a/lotuswordpro/source/filter/lwppagelayout.cxx 
b/lotuswordpro/source/filter/lwppagelayout.cxx
index a62d750..9560b24 100644
--- a/lotuswordpro/source/filter/lwppagelayout.cxx
+++ b/lotuswordpro/source/filter/lwppagelayout.cxx
@@ -892,7 +892,7 @@ void LwpHeaderLayout::RegisterStyle(XFMasterPage* mp1)
         RegisterChildStyle();
         //End
         pChangeMgr->SetHeadFootChange(pHeader);
-        pStory->XFConvert(pHeader);
+        pStory->DoXFConvert(pHeader);
 
         pChangeMgr->SetHeadFootFribMap(false);
     }
@@ -1046,7 +1046,7 @@ void LwpFooterLayout::RegisterStyle(XFMasterPage* mp1)
 
         pChangeMgr->SetHeadFootChange(pFooter);//add by ,7/6
 
-        pStory->XFConvert(pFooter);
+        pStory->DoXFConvert(pFooter);
 
         pChangeMgr->SetHeadFootFribMap(false);
     }
diff --git a/lotuswordpro/source/filter/lwpstory.cxx 
b/lotuswordpro/source/filter/lwpstory.cxx
index 64c2555..1722127 100644
--- a/lotuswordpro/source/filter/lwpstory.cxx
+++ b/lotuswordpro/source/filter/lwpstory.cxx
@@ -334,7 +334,7 @@ void LwpStory::XFConvertFrameInCell(XFContentContainer* 
pCont)
                     pCont->FindFirstContent(enumXFContentPara));
                 XFContentContainer* pXFFirtPara = 
static_cast<XFContentContainer*>(first.get());
                 if(pXFFirtPara)
-                    xFrameLayout->XFConvert(pXFFirtPara);
+                    xFrameLayout->DoXFConvert(pXFFirtPara);
             }
             
xFrameLayout.set(dynamic_cast<LwpVirtualLayout*>(xFrameLayout->GetNext().obj().get()));
         }
@@ -361,7 +361,7 @@ void LwpStory::XFConvertFrameInPage(XFContentContainer* 
pCont)
                       || xFrameLayout->IsSuperTable()
                       || xFrameLayout->IsGroupHead())))
             {
-                xFrameLayout->XFConvert(pCont);
+                xFrameLayout->DoXFConvert(pCont);
             }
             
xFrameLayout.set(dynamic_cast<LwpVirtualLayout*>(xFrameLayout->GetNext().obj().get()));
         }
@@ -384,7 +384,7 @@ void LwpStory::XFConvertFrameInFrame(XFContentContainer* 
pCont)
         {
             if (xFrameLayout->IsAnchorFrame())
             {
-                xFrameLayout->XFConvert(pCont);
+                xFrameLayout->DoXFConvert(pCont);
             }
             
xFrameLayout.set(dynamic_cast<LwpVirtualLayout*>(xFrameLayout->GetNext().obj().get()));
         }
@@ -412,7 +412,7 @@ void 
LwpStory::XFConvertFrameInHeaderFooter(XFContentContainer* pCont)
                     pCont->FindFirstContent(enumXFContentPara));
                 XFContentContainer* pXFFirtPara = 
static_cast<XFContentContainer*>(first.get());
                 if(pXFFirtPara)
-                    xFrameLayout->XFConvert(pXFFirtPara);
+                    xFrameLayout->DoXFConvert(pXFFirtPara);
             }
             
xFrameLayout.set(dynamic_cast<LwpVirtualLayout*>(xFrameLayout->GetNext().obj().get()));
         }
commit f14f77899f158b5e723f00a0736921a9481b10b0
Author: Caolán McNamara <caol...@redhat.com>
Date:   Fri Mar 11 10:38:46 2016 +0000

    treat ExtMargins with same recurse protection as Margins
    
    (cherry picked from commit bcecf9b13b7eee0e7c60a6827a310f8b38d13f69)
    
    Change-Id: I24640971ea6ca89878043966293492a991f01008
    Reviewed-on: https://gerrit.libreoffice.org/23146
    Tested-by: Jenkins <c...@libreoffice.org>
    Reviewed-by: David Tardon <dtar...@redhat.com>
    (cherry picked from commit 8ff93a55256e96e1903bfc69b439238d43cabd26)

diff --git a/lotuswordpro/qa/cppunit/data/fail/recurse-1.lwp 
b/lotuswordpro/qa/cppunit/data/fail/recurse-1.lwp
new file mode 100644
index 0000000..ffc7a44
Binary files /dev/null and b/lotuswordpro/qa/cppunit/data/fail/recurse-1.lwp 
differ
diff --git a/lotuswordpro/source/filter/lwplayout.cxx 
b/lotuswordpro/source/filter/lwplayout.cxx
index de77f9c..f8631da 100644
--- a/lotuswordpro/source/filter/lwplayout.cxx
+++ b/lotuswordpro/source/filter/lwplayout.cxx
@@ -83,6 +83,7 @@ LwpVirtualLayout::LwpVirtualLayout(LwpObjectHeader &objHdr, 
LwpSvStream* pStrm)
     , m_bGettingHasProtection(false)
     , m_bGettingIsProtected(false)
     , m_bGettingMarginsValue(false)
+    , m_bGettingExtMarginsValue(false)
     , m_nAttributes(0)
     , m_nAttributes2(0)
     , m_nAttributes3(0)
@@ -776,7 +777,7 @@ double LwpMiddleLayout::MarginsValue(const sal_uInt8 
&nWhichSide)
  * @param:
  * @return:
 */
-double LwpMiddleLayout::GetExtMarginsValue(const sal_uInt8 &nWhichSide)
+double LwpMiddleLayout::ExtMarginsValue(const sal_uInt8 &nWhichSide)
 {
     double fValue = 0;
     if(m_nOverrideFlag & OVER_MARGINS)
@@ -794,7 +795,7 @@ double LwpMiddleLayout::GetExtMarginsValue(const sal_uInt8 
&nWhichSide)
         fValue = pStyle->GetExtMarginsValue(nWhichSide);
         return fValue;
     }
-    return LwpVirtualLayout::GetExtMarginsValue(nWhichSide);
+    return LwpVirtualLayout::ExtMarginsValue(nWhichSide);
 }
 /**
  * @descr:  Get the LwpBorderStuff object according to m_LayBorderStuff id.
diff --git a/lotuswordpro/source/filter/lwplayout.hxx 
b/lotuswordpro/source/filter/lwplayout.hxx
index ee46b3d5..6102b07 100644
--- a/lotuswordpro/source/filter/lwplayout.hxx
+++ b/lotuswordpro/source/filter/lwplayout.hxx
@@ -103,7 +103,6 @@ public:
     inline virtual sal_uInt16 GetNumCols(){return 1;}
     virtual double GetColWidth(sal_uInt16 nIndex);
     virtual double GetColGap(sal_uInt16 nIndex);
-    virtual double GetExtMarginsValue(const sal_uInt8& /*nWhichSide*/){return 
0;}
     virtual bool IsAutoGrow(){ return false;}
     virtual bool IsAutoGrowUp(){ return false;}
     virtual bool IsAutoGrowDown(){ return false;}
@@ -158,6 +157,15 @@ public:
         m_bGettingMarginsValue = false;
         return fRet;
     }
+    double GetExtMarginsValue(const sal_uInt8& nWhichSide)
+    {
+        if (m_bGettingExtMarginsValue)
+            throw std::runtime_error("recursion in layout");
+        m_bGettingExtMarginsValue = true;
+        auto fRet = ExtMarginsValue(nWhichSide);
+        m_bGettingExtMarginsValue = false;
+        return fRet;
+    }
     OUString GetStyleName(){ return m_StyleName;}
     bool IsComplex();
     virtual bool IsAnchorPage(){ return false;}
@@ -211,6 +219,7 @@ protected:
     virtual bool HonorProtection();
     virtual bool IsProtected();
     virtual double MarginsValue(const sal_uInt8& /*nWhichSide*/){return 0;}
+    virtual double ExtMarginsValue(const sal_uInt8& /*nWhichSide*/){return 0;}
     virtual bool MarginsSameAsParent();
 protected:
     bool m_bGettingHonorProtection;
@@ -218,6 +227,7 @@ protected:
     bool m_bGettingHasProtection;
     bool m_bGettingIsProtected;
     bool m_bGettingMarginsValue;
+    bool m_bGettingExtMarginsValue;
     sal_uInt32 m_nAttributes;
     sal_uInt32 m_nAttributes2;
     sal_uInt32 m_nAttributes3;
@@ -328,8 +338,6 @@ class LwpMiddleLayout : public LwpVirtualLayout
 public:
     LwpMiddleLayout( LwpObjectHeader &objHdr, LwpSvStream* pStrm );
     virtual ~LwpMiddleLayout();
-    virtual double MarginsValue(const sal_uInt8& nWhichSide) SAL_OVERRIDE;
-    virtual double GetExtMarginsValue(const sal_uInt8& nWhichSide) 
SAL_OVERRIDE;
     LwpLayoutGeometry* GetGeometry()
     {
         if (m_bGettingGeometry)
@@ -385,6 +393,8 @@ public:
 protected:
     void Read() SAL_OVERRIDE;
     virtual bool MarginsSameAsParent() SAL_OVERRIDE;
+    virtual double MarginsValue(const sal_uInt8& nWhichSide) SAL_OVERRIDE;
+    virtual double ExtMarginsValue(const sal_uInt8& nWhichSide) SAL_OVERRIDE;
 private:
     LwpObjectID m_BasedOnStyle;
     LwpLayoutGeometry* Geometry();
_______________________________________________
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits

Reply via email to