chart2/source/controller/main/ChartController.cxx  |    3 +
 download.lst                                       |    4 -
 external/nss/nss.vs2015.patch                      |   10 ++++
 oox/source/vml/vmlshape.cxx                        |    2 
 reportdesign/source/ui/report/ReportController.cxx |    9 +++-
 sc/qa/unit/subsequent_export-test.cxx              |    5 +-
 sc/source/filter/html/htmlimp.cxx                  |    2 
 sc/source/ui/app/inputhdl.cxx                      |    7 +--
 sc/source/ui/unoobj/PivotTableDataProvider.cxx     |    2 
 sc/source/ui/view/viewfunc.cxx                     |    4 +
 sw/source/core/unocore/unochart.cxx                |   47 +++++++--------------
 sw/source/core/unocore/unotbl.cxx                  |   22 +++++----
 sw/source/filter/ww8/ww8scan.cxx                   |   39 +++++------------
 sw/source/filter/ww8/ww8scan.hxx                   |    2 
 writerfilter/source/ooxml/OOXMLDocumentImpl.cxx    |    6 ++
 xmlsecurity/source/xmlsec/nss/nssinitializer.cxx   |   14 ++++++
 16 files changed, 99 insertions(+), 79 deletions(-)

New commits:
commit fc69b5a73d0523a9313b2d9f5f0add866ecfcba9
Author:     Caolán McNamara <caol...@redhat.com>
AuthorDate: Mon Aug 13 16:41:31 2018 +0100
Commit:     Andras Timar <andras.ti...@collabora.com>
CommitDate: Tue Aug 21 10:53:47 2018 +0200

    ofz: check sequence length before use
    
    Change-Id: I137a9de49c5a73eb5f277dc1519e5e036abba31c
    Reviewed-on: https://gerrit.libreoffice.org/58947
    Tested-by: Jenkins
    Reviewed-by: Andras Timar <andras.ti...@collabora.com>
    (cherry picked from commit 379bf687d1bbbcab5ee308089c1270dc95b2b410)

diff --git a/writerfilter/source/ooxml/OOXMLDocumentImpl.cxx 
b/writerfilter/source/ooxml/OOXMLDocumentImpl.cxx
index 6cf6e7489466..b0e1653c9835 100644
--- a/writerfilter/source/ooxml/OOXMLDocumentImpl.cxx
+++ b/writerfilter/source/ooxml/OOXMLDocumentImpl.cxx
@@ -633,6 +633,12 @@ void OOXMLDocumentImpl::resolveGlossaryStream(Stream & 
/*rStream*/)
               OOXMLStream::Pointer_t gStream;
               uno::Sequence< beans::StringPair > aSeq = aSeqs[j];
               //Follows following aSeq[0] is Id, aSeq[1] is Type, aSeq[2] is 
Target
+              if (aSeq.getLength() < 3)
+              {
+                  SAL_WARN("writerfilter.ooxml", "too short sequence");
+                  continue;
+              }
+
               OUString gId(aSeq[0].Second);
               OUString gType(aSeq[1].Second);
               OUString gTarget(aSeq[2].Second);
commit d3ffdd1e7fa391911c2396af375beb2f569c3481
Author:     Caolán McNamara <caol...@redhat.com>
AuthorDate: Wed Aug 15 17:28:41 2018 +0100
Commit:     Andras Timar <andras.ti...@collabora.com>
CommitDate: Tue Aug 21 10:53:47 2018 +0200

    ofz#9917 use a WW8SprmIter to find the sprm
    
    extend WW8SprmIter to support the needed paramater match feature and
    drop the custom WW8PLCFx_SEPX::HasSprm logic
    
    Change-Id: I5893e04402ed03493add398f0939a578807561ef
    Reviewed-on: https://gerrit.libreoffice.org/59120
    Tested-by: Jenkins
    Reviewed-by: Michael Stahl <michael.st...@cib.de>
    (cherry picked from commit c57538b2b3c9ffbb206590089c0a5ca69056304d)

diff --git a/sw/source/filter/ww8/ww8scan.cxx b/sw/source/filter/ww8/ww8scan.cxx
index 6a90d83e8e3c..6e5e863767c7 100644
--- a/sw/source/filter/ww8/ww8scan.cxx
+++ b/sw/source/filter/ww8/ww8scan.cxx
@@ -917,7 +917,7 @@ void WW8SprmIter::UpdateMyMembers()
     }
 }
 
-SprmResult WW8SprmIter::FindSprm(sal_uInt16 nId)
+SprmResult WW8SprmIter::FindSprm(sal_uInt16 nId, sal_uInt8* pNextByteMatch)
 {
     while (GetSprms())
     {
@@ -925,7 +925,13 @@ SprmResult WW8SprmIter::FindSprm(sal_uInt16 nId)
         {
             sal_uInt16 nFixedLen =  mrSprmParser.DistanceToData(nId);
             sal_uInt16 nL = mrSprmParser.GetSprmSize(nId, GetSprms(), 
GetRemLen());
-            return SprmResult(GetAktParams(), nL - nFixedLen); // SPRM found!
+            SprmResult aRet(GetAktParams(), nL - nFixedLen); // SPRM found!
+            // typically pNextByteMatch is nullptr and we just return the 
first match
+            if (!pNextByteMatch)
+                return aRet;
+            // very occasionally we want one with a specific following byte
+            if (aRet.nRemainingData >= 1 && *aRet.pSprm == *pNextByteMatch)
+                return aRet;
         }
         advance();
     }
@@ -3769,32 +3775,13 @@ bool WW8PLCFx_SEPX::Find4Sprms(sal_uInt16 
nId1,sal_uInt16 nId2,sal_uInt16 nId3,s
 
 SprmResult WW8PLCFx_SEPX::HasSprm( sal_uInt16 nId, sal_uInt8 n2nd ) const
 {
-    if (!pPLCF)
-        return SprmResult();
-
-    sal_uInt8* pSp = pSprms.get();
-    size_t i = 0;
-    while (i + maSprmParser.MinSprmLen() <= nSprmSiz)
+    SprmResult aRet;
+    if (pPLCF)
     {
-        // Sprm found?
-        const sal_uInt16 nAktId = maSprmParser.GetSprmId(pSp);
-        const sal_uInt16 x = maSprmParser.GetSprmSize(nAktId, pSp, nSprmSiz - 
i);
-        if (nAktId == nId)
-        {
-            sal_uInt16 nFixedLen =  maSprmParser.DistanceToData(nId);
-            const sal_uInt8 *pRet = pSp + nFixedLen;
-            SprmResult aRet(pRet, x - nFixedLen);
-            if (aRet.nRemainingData >= 1 && *aRet.pSprm == n2nd)
-            {
-                return aRet;
-            }
-        }
-        // increment pointer so that it points to next SPRM
-        i += x;
-        pSp += x;
+        WW8SprmIter aIter(pSprms.get(), nSprmSiz, maSprmParser);
+        aRet = aIter.FindSprm(nId, &n2nd);
     }
-
-    return SprmResult();   // Sprm not found
+    return aRet;
 }
 
 WW8PLCFx_SubDoc::WW8PLCFx_SubDoc(SvStream* pSt, const WW8Fib& rFib,
diff --git a/sw/source/filter/ww8/ww8scan.hxx b/sw/source/filter/ww8/ww8scan.hxx
index ff2246155899..841067d2a241 100644
--- a/sw/source/filter/ww8/ww8scan.hxx
+++ b/sw/source/filter/ww8/ww8scan.hxx
@@ -281,7 +281,7 @@ public:
     explicit WW8SprmIter(const sal_uInt8* pSprms_, sal_Int32 nLen_,
         const wwSprmParser &rSprmParser);
     void  SetSprms(const sal_uInt8* pSprms_, sal_Int32 nLen_);
-    SprmResult FindSprm(sal_uInt16 nId);
+    SprmResult FindSprm(sal_uInt16 nId, sal_uInt8* pNextByteMatch = nullptr);
     void  advance();
     const sal_uInt8* GetSprms() const
         { return ( pSprms && (0 < nRemLen) ) ? pSprms : nullptr; }
commit 589133a43f199d9638cd3cb3a24d3557a407134e
Author:     Maxim Monastirsky <momonas...@gmail.com>
AuthorDate: Mon Aug 6 23:50:21 2018 +0300
Commit:     Andras Timar <andras.ti...@collabora.com>
CommitDate: Tue Aug 21 10:53:46 2018 +0200

    tdf#119128 toggle INSERT/OVERWRITE is broken
    
    Regression of 632bc11ce8fab1c4046ab24810b90a7ce9ac5914
    ("tdf#117017 Pasting into the formula bar shouldn't
    retain formatting"). Toggling the overwrite mode sets
    the EVControlBits::OVERWRITE bit from inside the editeng
    keyboard handler, so make sure to not override it.
    
    Change-Id: I2b5e3fe9cb885ed20e7528fdfe2fd59f5ef05f42
    Reviewed-on: https://gerrit.libreoffice.org/58658
    Tested-by: Jenkins
    Reviewed-by: Maxim Monastirsky <momonas...@gmail.com>
    (cherry picked from commit 92a4e4eac7520541a433e40836cafa4e29edf47f)
    Reviewed-on: https://gerrit.libreoffice.org/58718
    Reviewed-by: Eike Rathke <er...@redhat.com>
    (cherry picked from commit 319db92f96c9b886cecee97136175e12e94da547)

diff --git a/sc/source/ui/app/inputhdl.cxx b/sc/source/ui/app/inputhdl.cxx
index 435d22b8595e..2077b42d2433 100644
--- a/sc/source/ui/app/inputhdl.cxx
+++ b/sc/source/ui/app/inputhdl.cxx
@@ -3411,15 +3411,14 @@ bool ScInputHandler::KeyInput( const KeyEvent& rKEvt, 
bool bStartEdit /* = false
                 {
                     if (pTableView)
                     {
-                        EVControlBits nControl = pTableView->GetControlWord();
                         if (pTopView)
-                            pTableView->SetControlWord(nControl | 
EVControlBits::SINGLELINEPASTE);
+                            
pTableView->SetControlWord(pTableView->GetControlWord() | 
EVControlBits::SINGLELINEPASTE);
 
                         vcl::Window* pFrameWin = pActiveViewSh ? 
pActiveViewSh->GetFrameWin() : nullptr;
                         if ( pTableView->PostKeyEvent( rKEvt, pFrameWin ) )
                             bUsed = true;
 
-                        pTableView->SetControlWord(nControl);
+                        
pTableView->SetControlWord(pTableView->GetControlWord() & 
~EVControlBits::SINGLELINEPASTE);
                     }
                     if (pTopView)
                         if ( pTopView->PostKeyEvent( rKEvt ) )
commit 446b659868a3ef4fd6bc8bcddf8df9aa5ce40b6c
Author:     Julien Nabet <serval2...@yahoo.fr>
AuthorDate: Tue Aug 14 22:01:42 2018 +0200
Commit:     Andras Timar <andras.ti...@collabora.com>
CommitDate: Tue Aug 21 10:53:45 2018 +0200

    Related tdf#118547: Lock mark on protected sheet tab
    
    Fix opposite case, see 
https://bugs.documentfoundation.org/show_bug.cgi?id=118547#c10
    
    Reviewed-on: https://gerrit.libreoffice.org/59035
    Tested-by: Jenkins
    Reviewed-by: Julien Nabet <serval2...@yahoo.fr>
    (cherry picked from commit d064ced9e9db3f924dd954b86c40f21addab1c68)
    
    Change-Id: I2c4e55f8929b1979e71a4040dfac1ba7cff51aeb
    Reviewed-on: https://gerrit.libreoffice.org/59041
    Reviewed-by: Eike Rathke <er...@redhat.com>
    Tested-by: Jenkins
    (cherry picked from commit fb63a622cb843d2d0178bc26ff35d9b17deaee5a)

diff --git a/sc/source/ui/view/viewfunc.cxx b/sc/source/ui/view/viewfunc.cxx
index c9281c60761f..f024bc5b93a5 100644
--- a/sc/source/ui/view/viewfunc.cxx
+++ b/sc/source/ui/view/viewfunc.cxx
@@ -2545,7 +2545,11 @@ bool ScViewFunc::Unprotect( SCTAB nTab, const OUString& 
rPassword )
     bool bUndo (rDoc.IsUndoEnabled());
 
     if ( nTab == TABLEID_DOC || rMark.GetSelectCount() <= 1 )
+    {
         bChanged = rFunc.Unprotect( nTab, rPassword, false );
+        if (bChanged && nTab != TABLEID_DOC)
+            SetTabProtectionSymbol(nTab, false);
+    }
     else
     {
         //  modifying several tabs is handled here
commit 07cbb5b31403a299426dbea1980ac573b6e7a9e2
Author:     Julien Nabet <serval2...@yahoo.fr>
AuthorDate: Sun Aug 12 11:39:04 2018 +0200
Commit:     Andras Timar <andras.ti...@collabora.com>
CommitDate: Tue Aug 21 10:53:44 2018 +0200

    tdf#117795: not all elements have ChartFontName property
    
    See bt https://bugs.documentfoundation.org/attachment.cgi?id=144114
    In this bugtracker we tried to apply a change of fontname on 
reportdesign::OFixedLine
    
    Change-Id: I60ee5ca9f967fc71939e2f57ecd9de7edd680958
    Reviewed-on: https://gerrit.libreoffice.org/58895
    Reviewed-by: Julien Nabet <serval2...@yahoo.fr>
    (cherry picked from commit 3512079dc42a6472136f9c229fc9ea0b0033ebf9)
    Reviewed-on: https://gerrit.libreoffice.org/59151
    Reviewed-by: Noel Grandin <noel.gran...@collabora.co.uk>
    Reviewed-by: Lionel Elie Mamane <lio...@mamane.lu>
    Tested-by: Jenkins
    Reviewed-by: Caolán McNamara <caol...@redhat.com>
    Tested-by: Caolán McNamara <caol...@redhat.com>
    (cherry picked from commit 1f7bbcfa7fc55437f11f0d8b93848d9c71f9b3cc)

diff --git a/reportdesign/source/ui/report/ReportController.cxx 
b/reportdesign/source/ui/report/ReportController.cxx
index 9b47422943b7..34b86170620a 100644
--- a/reportdesign/source/ui/report/ReportController.cxx
+++ b/reportdesign/source/ui/report/ReportController.cxx
@@ -4140,7 +4140,14 @@ bool 
OReportController::impl_setPropertyAtControls_throw(const char* pUndoResId,
     {
         const uno::Reference< beans::XPropertySet > 
xControlModel(*aIter,uno::UNO_QUERY);
         if ( xControlModel.is() )
-            xControlModel->setPropertyValue(_sProperty,_aValue);
+            try
+            {
+                xControlModel->setPropertyValue(_sProperty,_aValue);
+            }
+            catch(const UnknownPropertyException& e)
+            {
+                SAL_WARN("reportdesign", "UnknowPropertyException:" << e);
+            }
     }
 
     return !aSelection.empty();
commit 74de907344923a9f9575927fca8d43260f86f4c9
Author:     Caolán McNamara <caol...@redhat.com>
AuthorDate: Wed Aug 15 14:13:02 2018 +0100
Commit:     Andras Timar <andras.ti...@collabora.com>
CommitDate: Tue Aug 21 10:53:43 2018 +0200

    outer loop unrelated to inner loop
    
    since original checkin of...
    
    commit 9cddf9da7fb256418e1bc3b4719abb55e3b0604c
    Date:   Tue May 22 15:33:44 2007 +0000
    
        INTEGRATION: CWS chart2mst3 (1.1.2); FILE ADDED
    ...
        2006/12/13 12:31:03 tl 1.1.2.38: #i71244# update charts in writer
    
    where I think this LockUnlockAllCharts chart2 loop was modelled on
    the previous chart[1] styles loop of e.g. DoUpdateAllCharts which
    loop over tables.
    
    chart2 objects are unrelated to these tables, so remove the outer
    loop, which then means the ofz#9689 ofz#9856 ofz9874 crashes that
    made me look at it will get fixed
    
    Change-Id: I7d7ba0a2aa257b5aa399f20d902f01306fbaecff
    Reviewed-on: https://gerrit.libreoffice.org/59112
    Tested-by: Jenkins
    Reviewed-by: Michael Stahl <michael.st...@cib.de>
    (cherry picked from commit eadf6f4551416430b58efc42a5756556df0a237d)

diff --git a/sw/source/core/unocore/unochart.cxx 
b/sw/source/core/unocore/unochart.cxx
index 1d06634c6950..0ffe06c6df05 100644
--- a/sw/source/core/unocore/unochart.cxx
+++ b/sw/source/core/unocore/unochart.cxx
@@ -117,43 +117,30 @@ void SwChartLockController_Helper::LockUnlockAllCharts( 
bool bLock )
     if (!pDoc)
         return;
 
-    const SwFrameFormats& rTableFormats = *pDoc->GetTableFrameFormats();
-    for( size_t n = 0; n < rTableFormats.size(); ++n )
+    uno::Reference< frame::XModel > xRes;
+    SwOLENode *pONd;
+    SwStartNode *pStNd;
+    SwNodeIndex aIdx( 
*pDoc->GetNodes().GetEndOfAutotext().StartOfSectionNode(), 1 );
+    while( nullptr != (pStNd = aIdx.GetNode().GetStartNode()) )
     {
-        SwTable* pTmpTable;
-        const SwTableNode* pTableNd;
-        const SwFrameFormat* pFormat = rTableFormats[ n ];
-
-        if( nullptr != ( pTmpTable = SwTable::FindTable( pFormat ) ) &&
-            nullptr != ( pTableNd = pTmpTable->GetTableNode() ) &&
-            pTableNd->GetNodes().IsDocNodes() )
+        ++aIdx;
+        if (nullptr != ( pONd = aIdx.GetNode().GetOLENode() ) &&
+            !pONd->GetChartTableName().isEmpty() /* is chart object? */)
         {
-            uno::Reference< frame::XModel > xRes;
-            SwOLENode *pONd;
-            SwStartNode *pStNd;
-            SwNodeIndex aIdx( 
*pDoc->GetNodes().GetEndOfAutotext().StartOfSectionNode(), 1 );
-            while( nullptr != (pStNd = aIdx.GetNode().GetStartNode()) )
+            uno::Reference < embed::XEmbeddedObject > xIP = 
pONd->GetOLEObj().GetOleRef();
+            if ( svt::EmbeddedObjectRef::TryRunningState( xIP ) )
             {
-                ++aIdx;
-                if (nullptr != ( pONd = aIdx.GetNode().GetOLENode() ) &&
-                    !pONd->GetChartTableName().isEmpty() /* is chart object? 
*/)
+                xRes.set( xIP->getComponent(), uno::UNO_QUERY );
+                if (xRes.is())
                 {
-                    uno::Reference < embed::XEmbeddedObject > xIP = 
pONd->GetOLEObj().GetOleRef();
-                    if ( svt::EmbeddedObjectRef::TryRunningState( xIP ) )
-                    {
-                        xRes.set( xIP->getComponent(), uno::UNO_QUERY );
-                        if (xRes.is())
-                        {
-                            if (bLock)
-                                xRes->lockControllers();
-                            else
-                                xRes->unlockControllers();
-                        }
-                    }
+                    if (bLock)
+                        xRes->lockControllers();
+                    else
+                        xRes->unlockControllers();
                 }
-                aIdx.Assign( *pStNd->EndOfSectionNode(), + 1 );
             }
         }
+        aIdx.Assign( *pStNd->EndOfSectionNode(), + 1 );
     }
 
     bIsLocked = bLock;
commit 15fe097e7adf8dfae1732a7e5ab9b1024fdc68b7
Author:     Caolán McNamara <caol...@redhat.com>
AuthorDate: Tue Aug 14 12:30:36 2018 +0100
Commit:     Andras Timar <andras.ti...@collabora.com>
CommitDate: Tue Aug 21 10:53:43 2018 +0200

    tdf#117127 crash on inspecting value describing a table
    
    since...
    
    commit f86d0413f7cedf096b285c2eb6698653dd99c21e
    Date:   Mon Mar 30 01:26:21 2015 +0200
    
        SwXCellRange:: and SwXTextTable::getDataArray() do the same
    
    which used to have more checks than its replacement
    
    Change-Id: Id931882ef7c749ffa18ef3474e3e661ba8614ab0
    Reviewed-on: https://gerrit.libreoffice.org/58978
    Tested-by: Jenkins
    Tested-by: Xisco Faulí <xiscofa...@libreoffice.org>
    Reviewed-by: Caolán McNamara <caol...@redhat.com>
    Tested-by: Caolán McNamara <caol...@redhat.com>
    (cherry picked from commit 30be37d5919024992a81603494a81f0fb1d8f775)

diff --git a/sw/source/core/unocore/unotbl.cxx 
b/sw/source/core/unocore/unotbl.cxx
index de6adc6a2130..d16986b65248 100644
--- a/sw/source/core/unocore/unotbl.cxx
+++ b/sw/source/core/unocore/unotbl.cxx
@@ -2316,7 +2316,7 @@ uno::Sequence< uno::Sequence< uno::Any > > SAL_CALL 
SwXTextTable::getDataArray()
     std::pair<sal_uInt16, sal_uInt16> const 
RowsAndColumns(SwXTextTable::Impl::ThrowIfComplex(*this));
     uno::Reference<sheet::XCellRangeData> const xAllRange(
         getCellRangeByPosition(0, 0, RowsAndColumns.second-1, 
RowsAndColumns.first-1),
-        uno::UNO_QUERY);
+        uno::UNO_QUERY_THROW);
     return xAllRange->getDataArray();
 }
 
@@ -2326,7 +2326,7 @@ void SAL_CALL SwXTextTable::setDataArray(const 
uno::Sequence< uno::Sequence< uno
     std::pair<sal_uInt16, sal_uInt16> const 
RowsAndColumns(SwXTextTable::Impl::ThrowIfComplex(*this));
     uno::Reference<sheet::XCellRangeData> const xAllRange(
         getCellRangeByPosition(0, 0, RowsAndColumns.second-1, 
RowsAndColumns.first-1),
-        uno::UNO_QUERY);
+        uno::UNO_QUERY_THROW);
     return xAllRange->setDataArray(rArray);
 }
 
@@ -2336,7 +2336,7 @@ uno::Sequence< uno::Sequence< double > > 
SwXTextTable::getData()
     std::pair<sal_uInt16, sal_uInt16> const 
RowsAndColumns(SwXTextTable::Impl::ThrowIfComplex(*this));
     uno::Reference<chart::XChartDataArray> const xAllRange(
         getCellRangeByPosition(0, 0, RowsAndColumns.second-1, 
RowsAndColumns.first-1),
-        uno::UNO_QUERY);
+        uno::UNO_QUERY_THROW);
     static_cast<SwXCellRange*>(xAllRange.get())->SetLabels(
             m_pImpl->m_bFirstRowAsLabel, m_pImpl->m_bFirstColumnAsLabel);
     return xAllRange->getData();
@@ -2348,7 +2348,7 @@ void SwXTextTable::setData(const uno::Sequence< 
uno::Sequence< double > >& rData
     std::pair<sal_uInt16, sal_uInt16> const 
RowsAndColumns(SwXTextTable::Impl::ThrowIfComplex(*this));
     uno::Reference<chart::XChartDataArray> const xAllRange(
         getCellRangeByPosition(0, 0, RowsAndColumns.second-1, 
RowsAndColumns.first-1),
-        uno::UNO_QUERY);
+        uno::UNO_QUERY_THROW);
     static_cast<SwXCellRange*>(xAllRange.get())->SetLabels(
             m_pImpl->m_bFirstRowAsLabel, m_pImpl->m_bFirstColumnAsLabel);
     xAllRange->setData(rData);
@@ -2362,7 +2362,7 @@ uno::Sequence<OUString> SwXTextTable::getRowDescriptions()
     std::pair<sal_uInt16, sal_uInt16> const 
RowsAndColumns(SwXTextTable::Impl::ThrowIfComplex(*this));
     uno::Reference<chart::XChartDataArray> const xAllRange(
         getCellRangeByPosition(0, 0, RowsAndColumns.second-1, 
RowsAndColumns.first-1),
-        uno::UNO_QUERY);
+        uno::UNO_QUERY_THROW);
     static_cast<SwXCellRange*>(xAllRange.get())->SetLabels(
             m_pImpl->m_bFirstRowAsLabel, m_pImpl->m_bFirstColumnAsLabel);
     return xAllRange->getRowDescriptions();
@@ -2374,7 +2374,7 @@ void SwXTextTable::setRowDescriptions(const 
uno::Sequence<OUString>& rRowDesc)
     std::pair<sal_uInt16, sal_uInt16> const 
RowsAndColumns(SwXTextTable::Impl::ThrowIfComplex(*this));
     uno::Reference<chart::XChartDataArray> const xAllRange(
         getCellRangeByPosition(0, 0, RowsAndColumns.second-1, 
RowsAndColumns.first-1),
-        uno::UNO_QUERY);
+        uno::UNO_QUERY_THROW);
     static_cast<SwXCellRange*>(xAllRange.get())->SetLabels(
             m_pImpl->m_bFirstRowAsLabel, m_pImpl->m_bFirstColumnAsLabel);
     xAllRange->setRowDescriptions(rRowDesc);
@@ -2386,7 +2386,7 @@ uno::Sequence<OUString> 
SwXTextTable::getColumnDescriptions()
     std::pair<sal_uInt16, sal_uInt16> const 
RowsAndColumns(SwXTextTable::Impl::ThrowIfComplex(*this));
     uno::Reference<chart::XChartDataArray> const xAllRange(
         getCellRangeByPosition(0, 0, RowsAndColumns.second-1, 
RowsAndColumns.first-1),
-        uno::UNO_QUERY);
+        uno::UNO_QUERY_THROW);
     static_cast<SwXCellRange*>(xAllRange.get())->SetLabels(
             m_pImpl->m_bFirstRowAsLabel, m_pImpl->m_bFirstColumnAsLabel);
     return xAllRange->getColumnDescriptions();
@@ -2398,7 +2398,7 @@ void SwXTextTable::setColumnDescriptions(const 
uno::Sequence<OUString>& rColumnD
     std::pair<sal_uInt16, sal_uInt16> const 
RowsAndColumns(SwXTextTable::Impl::ThrowIfComplex(*this));
     uno::Reference<chart::XChartDataArray> const xAllRange(
         getCellRangeByPosition(0, 0, RowsAndColumns.second-1, 
RowsAndColumns.first-1),
-        uno::UNO_QUERY);
+        uno::UNO_QUERY_THROW);
     static_cast<SwXCellRange*>(xAllRange.get())->SetLabels(
             m_pImpl->m_bFirstRowAsLabel, m_pImpl->m_bFirstColumnAsLabel);
     return xAllRange->setColumnDescriptions(rColumnDesc);
@@ -3661,7 +3661,7 @@ SwXCellRange::getData()
         uno::Reference<chart::XChartDataArray> const xDataRange(
                 getCellRangeByPosition((m_pImpl->m_bFirstColumnAsLabel) ? 1 : 
0,
                                        (m_pImpl->m_bFirstRowAsLabel) ? 1 : 0,
-            nColCount-1, nRowCount-1), uno::UNO_QUERY);
+            nColCount-1, nRowCount-1), uno::UNO_QUERY_THROW);
         return xDataRange->getData();
     }
     uno::Sequence< uno::Sequence< double > > vRows(nRowCount);
@@ -3694,7 +3694,7 @@ SwXCellRange::setData(const uno::Sequence< 
uno::Sequence<double> >& rData)
         uno::Reference<chart::XChartDataArray> const xDataRange(
                 getCellRangeByPosition((m_pImpl->m_bFirstColumnAsLabel) ? 1 : 
0,
                                        (m_pImpl->m_bFirstRowAsLabel) ? 1 : 0,
-            nColCount-1, nRowCount-1), uno::UNO_QUERY);
+            nColCount-1, nRowCount-1), uno::UNO_QUERY_THROW);
         return xDataRange->setData(rData);
     }
     lcl_EnsureCoreConnected(m_pImpl->GetFrameFormat(), 
static_cast<cppu::OWeakObject*>(this));
@@ -3773,6 +3773,8 @@ void 
SwXCellRange::Impl::SetLabelDescriptions(SwXCellRange & rThis,
     if(!nRight && !nBottom)
         throw uno::RuntimeException("Table too complex", 
static_cast<cppu::OWeakObject*>(&rThis));
     auto xLabelRange(rThis.getCellRangeByPosition(nLeft, nTop, nRight, 
nBottom));
+    if (!xLabelRange.is())
+        throw uno::RuntimeException("Missing Cell Range", 
static_cast<cppu::OWeakObject*>(&rThis));
     auto vCells(static_cast<SwXCellRange*>(xLabelRange.get())->GetCells());
     if (sal::static_int_cast<sal_uInt32>(rDesc.getLength()) != vCells.size())
         throw uno::RuntimeException("Too few or too many descriptions", 
static_cast<cppu::OWeakObject*>(&rThis));
commit b066a08cf53f846eee1bce3eeba33c996170572a
Author:     Justin Luth <justin_l...@sil.org>
AuthorDate: Thu Aug 9 15:04:20 2018 +0300
Commit:     Andras Timar <andras.ti...@collabora.com>
CommitDate: Tue Aug 21 10:53:42 2018 +0200

    tdf#119141 Revert "sc htmlimp: non-global sheet range names"
    
    This reverts commit 5720c85ccea9f1481bd604b806c5be728e59a13f,
    which was made in response to the suggestion in
    comment 6 of bug 114487 and backported to 6.0.6.
    
    But ScAreaLink::FindExtRange doesn't bother to search the
    local rangenames, and the Links to External Files dialog also
    doesn't give non-global variables as options.
    
    Since this was just a "logical" change, simply revert it
    to repair the regression. Any attempt to support local rangenames
    is something bigger that isn't appropriate for backport to stable.
    
    Change-Id: I8bd4dcc6492da2712e13b2e54cf81609cdc5936e
    Reviewed-on: https://gerrit.libreoffice.org/58761
    Reviewed-by: Justin Luth <justin_l...@sil.org>
    Tested-by: Justin Luth <justin_l...@sil.org>
    Reviewed-by: Eike Rathke <er...@redhat.com>
    (cherry picked from commit 1597dbb5ba5d68b5807236c1d045f5215f221c91)
    Reviewed-on: https://gerrit.libreoffice.org/59065
    Tested-by: Jenkins
    (cherry picked from commit 8b2b2010f98e4e5997b3d4ecb83a1c5b0c9e49ab)

diff --git a/sc/qa/unit/subsequent_export-test.cxx 
b/sc/qa/unit/subsequent_export-test.cxx
index 2370836399a8..8a2a2d169da3 100644
--- a/sc/qa/unit/subsequent_export-test.cxx
+++ b/sc/qa/unit/subsequent_export-test.cxx
@@ -3343,9 +3343,10 @@ void ScExportTest::testAbsNamedRangeHTML()
     xDocSh2->DoHardRecalc();
 
     ScDocument& rDoc = xDocSh2->GetDocument();
-    ScRangeData* pRangeData = 
rDoc.GetRangeName(0)->findByUpperName(OUString("HTML_1"));
+    ScRangeData* pRangeData = 
rDoc.GetRangeName()->findByUpperName(OUString("HTML_1"));
     ScSingleRefData* pRef = 
pRangeData->GetCode()->FirstToken()->GetSingleRef();
-    CPPUNIT_ASSERT_MESSAGE("Sheet1.HTML_1 is an absolute 
reference",!pRef->IsTabRel());
+    // see tdf#119141 for the reason why this isn't Sheet1.HTML_1
+    CPPUNIT_ASSERT_MESSAGE("HTML_1 is an absolute 
reference",!pRef->IsTabRel());
 }
 
 void ScExportTest::testSheetLocalRangeNameXLS()
diff --git a/sc/source/filter/html/htmlimp.cxx 
b/sc/source/filter/html/htmlimp.cxx
index a4d79d21ae14..f601903bfde9 100644
--- a/sc/source/filter/html/htmlimp.cxx
+++ b/sc/source/filter/html/htmlimp.cxx
@@ -107,7 +107,7 @@ void ScHTMLImport::InsertRangeName( ScDocument* pDoc, const 
OUString& rName, con
     ScTokenArray aTokArray;
     aTokArray.AddDoubleReference( aRefData );
     ScRangeData* pRangeData = new ScRangeData( pDoc, rName, aTokArray );
-    pDoc->GetRangeName( rRange.aStart.Tab() )->insert( pRangeData );
+    pDoc->GetRangeName()->insert( pRangeData );
 }
 
 void ScHTMLImport::WriteToDocument(
commit d8ce5e308c3eb6e862ba4d29b52e3519bdc457ed
Author:     Caolán McNamara <caol...@redhat.com>
AuthorDate: Wed Aug 15 10:42:33 2018 +0100
Commit:     Andras Timar <andras.ti...@collabora.com>
CommitDate: Tue Aug 21 10:53:41 2018 +0200

    tdf#115086 crash in assignLabelsToDataSequence
    
    since...
    
    commit c45358e928b9b9419bba10a0fcb661696cb7647a
    Date:   Mon Apr 24 00:09:08 2017 +0200
    
        preserve "Total" label on round-trip, remove code duplication
    
    Change-Id: I83ed20e1cab8d67f2f5aedcaf862756d9548bf9f
    Reviewed-on: https://gerrit.libreoffice.org/59062
    Tested-by: Jenkins
    Reviewed-by: Markus Mohrhard <markus.mohrh...@googlemail.com>
    (cherry picked from commit ff16f75a474533187253a190557d6e2195a7e4cb)

diff --git a/sc/source/ui/unoobj/PivotTableDataProvider.cxx 
b/sc/source/ui/unoobj/PivotTableDataProvider.cxx
index cfdea1bed39e..12f432a19085 100644
--- a/sc/source/ui/unoobj/PivotTableDataProvider.cxx
+++ b/sc/source/ui/unoobj/PivotTableDataProvider.cxx
@@ -617,7 +617,7 @@ PivotTableDataProvider::assignLabelsToDataSequence(size_t 
nIndex)
     {
         aLabel = ScGlobal::GetRscString(STR_PIVOT_TOTAL);
     }
-    else
+    else if (nIndex < m_aLabels.size())
     {
         for (ValueAndFormat const & rItem : m_aLabels[nIndex])
         {
commit 1f6c57ccd0b3cf7d21877b0e29d5e3fc5f36d96c
Author:     Caolán McNamara <caol...@redhat.com>
AuthorDate: Wed Aug 15 09:11:26 2018 +0100
Commit:     Andras Timar <andras.ti...@collabora.com>
CommitDate: Tue Aug 21 10:53:40 2018 +0200

    Resolves: tdf#118609 crash in calc after some manipulation through basic
    
    Change-Id: I518b15359b29c845604d2e9cde64bdb637078ba1
    Reviewed-on: https://gerrit.libreoffice.org/59054
    Tested-by: Jenkins
    Reviewed-by: Markus Mohrhard <markus.mohrh...@googlemail.com>
    (cherry picked from commit d1ce7f60c7ce7721a41093bebcbe7e87cb800688)

diff --git a/sc/source/ui/app/inputhdl.cxx b/sc/source/ui/app/inputhdl.cxx
index 4eb7cb37694e..435d22b8595e 100644
--- a/sc/source/ui/app/inputhdl.cxx
+++ b/sc/source/ui/app/inputhdl.cxx
@@ -1908,7 +1908,7 @@ void ScInputHandler::SetInputWindow(  ScInputWindow* pNew 
)
 
 void ScInputHandler::StopInputWinEngine( bool bAll )
 {
-    if (pInputWin)
+    if (pInputWin && !pInputWin->IsDisposed())
         pInputWin->StopEditEngine( bAll );
 
     pTopView = nullptr; // invalid now
commit b1858a85a45dfa838f7f5cedefa0eba2336ff0fd
Author:     Michael Stahl <michael.st...@cib.de>
AuthorDate: Thu Aug 9 11:55:09 2018 +0200
Commit:     Andras Timar <andras.ti...@collabora.com>
CommitDate: Tue Aug 21 10:53:40 2018 +0200

    xmlsecurity: nsscrypto_initialize: try to avoid profile migration
    
    
https://developer.mozilla.org/en-US/docs/Mozilla/Projects/NSS/NSS_3.35_release_notes
    
    NSS 3.35 and later will automatically migrate migrate profiles from the
    old "dbm:" BDB format to the new "sql:" SQLite format.
    
    The new format can be read by NSS 3.12 and later, which is old enough that
    it can be assumed to be available.
    
    However LibreOffice still shouldn't migrate the profile on its own:
    LO typically uses a Mozilla Firefox or Thunderbird profile, and if it is
    a system Firefox with system NSS libraries, then it's probably a bad
    idea for LO to migrate the profile under Firefox's nose, particularly
    considering the "partial migration" scenario if the profile is
    password-protected.
    
    Try to avoid this by checking if the profile is the old format and
    explicitly using the "dbm:" prefix to prevent the migration.
    
    Change-Id: I06480522f830ce74e2fb7bf79fee84ad80979b82
    Reviewed-on: https://gerrit.libreoffice.org/58756
    Tested-by: Jenkins
    Reviewed-by: Miklos Vajna <vmik...@collabora.co.uk>
    (cherry picked from commit 61688aa1abd9db9adbb8dc5d5aacc6269b21fd27)
    Reviewed-on: https://gerrit.libreoffice.org/58974
    (cherry picked from commit dc5474b2e2f361eec981c6955630dbb020442eae)

diff --git a/xmlsecurity/source/xmlsec/nss/nssinitializer.cxx 
b/xmlsecurity/source/xmlsec/nss/nssinitializer.cxx
index 14722cb8b474..575be2a2702c 100644
--- a/xmlsecurity/source/xmlsec/nss/nssinitializer.cxx
+++ b/xmlsecurity/source/xmlsec/nss/nssinitializer.cxx
@@ -253,6 +253,20 @@ bool nsscrypto_initialize( const css::uno::Reference< 
css::uno::XComponentContex
     // there might be no profile
     if ( !sCertDir.isEmpty() )
     {
+        if (sCertDir.indexOf(':') == -1) //might be env var with explicit 
prefix
+        {
+            OUString sCertDirURL;
+            osl::FileBase::getFileURLFromSystemPath(
+                OStringToOUString(sCertDir, osl_getThreadTextEncoding()),
+                sCertDirURL);
+            osl::DirectoryItem item;
+            if (osl::FileBase::E_NOENT != osl::DirectoryItem::get(sCertDirURL 
+ "/cert8.db", item) &&
+                osl::FileBase::E_NOENT == osl::DirectoryItem::get(sCertDirURL 
+ "/cert9.db", item))
+            {
+                SAL_INFO("xmlsecurity.xmlsec", "nsscrypto_initialize: trying 
to avoid profile migration");
+                sCertDir = "dbm:" + sCertDir;
+            }
+        }
         if( NSS_InitReadWrite( sCertDir.getStr() ) != SECSuccess )
         {
             SAL_INFO("xmlsecurity.xmlsec", "Initializing NSS with profile 
failed.");
commit e83b5fbb0273899f55cdb1026035c994b4212adb
Author:     Michael Stahl <michael.st...@cib.de>
AuthorDate: Tue Aug 7 18:11:41 2018 +0200
Commit:     Andras Timar <andras.ti...@collabora.com>
CommitDate: Tue Aug 21 10:53:39 2018 +0200

    nss: upgrade to release 3.38
    
    Fixes CVE-2018-0495 and "the ASN.1 code".
    
    (Remove one hunk of nss-android.patch.1 that should be obsolete with the
    current Android toolchain baseline (but that hunk didn't exist in
    libreoffice-6-0 or older anyway).)
    
    Change-Id: I5516edec17b72f53acd2749e8840805eead077bc
    Reviewed-on: https://gerrit.libreoffice.org/58697
    Tested-by: Jenkins
    Reviewed-by: Michael Stahl <michael.st...@cib.de>
    (cherry picked from commit 3ef76067bfa1f9f60ec3989bd6b40a5760137903)
    Reviewed-on: https://gerrit.libreoffice.org/58722
    Reviewed-by: Miklos Vajna <vmik...@collabora.co.uk>
    (cherry picked from commit e4874f777048535650a2bb1ce875e1a6e3e4b7ef)

diff --git a/download.lst b/download.lst
index 8880f5e3ae84..afec547166e9 100644
--- a/download.lst
+++ b/download.lst
@@ -197,8 +197,8 @@ export MYTHES_SHA256SUM := 
1e81f395d8c851c3e4e75b568e20fa2fa549354e75ab397f9de4b
 export MYTHES_TARBALL := a8c2c5b8f09e7ede322d5c602ff6a4b6-mythes-1.2.4.tar.gz
 export NEON_SHA256SUM := 
db0bd8cdec329b48f53a6f00199c92d5ba40b0f015b153718d1b15d3d967fbca
 export NEON_TARBALL := neon-0.30.2.tar.gz
-export NSS_SHA256SUM := 
878d505ec0be577c45990c57eb5d2e5c8696bfa3412bd0fae193b275297bf5c4
-export NSS_TARBALL := nss-3.33-with-nspr-4.17.tar.gz
+export NSS_SHA256SUM := 
f271ec73291fa3e4bd4b59109f8035cc3a192fc33886f40ed4f9ee4b31c746e9
+export NSS_TARBALL := nss-3.38-with-nspr-4.19.tar.gz
 export ODFGEN_SHA256SUM := 
2c7b21892f84a4c67546f84611eccdad6259875c971e98ddb027da66ea0ac9c2
 export ODFGEN_VERSION_MICRO := 6
 export ODFGEN_TARBALL := libodfgen-0.1.$(ODFGEN_VERSION_MICRO).tar.bz2
diff --git a/external/nss/nss.vs2015.patch b/external/nss/nss.vs2015.patch
index de4f8762fd5b..c3e6b5a5acaa 100644
--- a/external/nss/nss.vs2015.patch
+++ b/external/nss/nss.vs2015.patch
@@ -10,3 +10,13 @@ diff -ru nss.org/nss/coreconf/WIN32.mk 
nss/nss/coreconf/WIN32.mk
      ifeq ($(_MSC_VER_GE_12),1)
        OS_CFLAGS += -FS
      endif
+--- a/nss/nss/gtests/nss_bogo_shim/nss_bogo_shim.cc    2018-08-08 
11:08:42.922939267 +0200
++++ b/nss/nss/gtests/nss_bogo_shim/nss_bogo_shim.cc    2018-08-08 
11:08:47.778929835 +0200
+@@ -6,6 +6,7 @@
+ #include "config.h"
+ 
+ #include <algorithm>
++#include <iterator>
+ #include <cstdlib>
+ #include <iostream>
+ #include <memory>
commit d0a1cf01c6b40127c6dfdb455224b56fe86718e5
Author:     Noel Grandin <noel.gran...@collabora.co.uk>
AuthorDate: Tue Aug 14 15:08:57 2018 +0200
Commit:     Andras Timar <andras.ti...@collabora.com>
CommitDate: Tue Aug 21 10:53:38 2018 +0200

    tdf#119234 OOXML Shapes from Word fail to render
    
    regression from
            commit 65e4a776e8315fd61fd67ad00d28985b11f0b79e
            simplify some OUString::copy calls
    I got the params switched around
    
    Change-Id: I68da0ae681f2b886e35f74bd72de0c482c843ae9
    Reviewed-on: https://gerrit.libreoffice.org/58986
    Tested-by: Jenkins
    Reviewed-by: Noel Grandin <noel.gran...@collabora.co.uk>
    (cherry picked from commit df71ea1b01c3fd35d959053c84f615f661b69f8a)
    Reviewed-on: https://gerrit.libreoffice.org/59000
    (cherry picked from commit a05df1744a9da71f255b9b413df59f321d81bb33)

diff --git a/oox/source/vml/vmlshape.cxx b/oox/source/vml/vmlshape.cxx
index e4a2823cb398..5868c9a57880 100644
--- a/oox/source/vml/vmlshape.cxx
+++ b/oox/source/vml/vmlshape.cxx
@@ -1015,7 +1015,7 @@ Reference< XShape > BezierShape::implConvertAndInsert( 
const Reference< XShapes
 {
     // If we have an 'x' in the last part of the path it means it is closed...
     sal_Int32 nPos = maShapeModel.maVmlPath.lastIndexOf(',');
-    if ( nPos != -1 && maShapeModel.maVmlPath.indexOf(nPos, 'x') != -1 )
+    if ( nPos != -1 && maShapeModel.maVmlPath.indexOf('x', nPos) != -1 )
     {
         const_cast<BezierShape*>( this )->setService( 
"com.sun.star.drawing.ClosedBezierShape" );
     }
commit 46a377f8e33e4a12bce72f6df6737a0445174ecf
Author:     Caolán McNamara <caol...@redhat.com>
AuthorDate: Tue Aug 14 15:48:12 2018 +0100
Commit:     Andras Timar <andras.ti...@collabora.com>
CommitDate: Tue Aug 21 10:53:37 2018 +0200

    Resolves: tdf#117069 crash double clicking in certain chart
    
    Change-Id: I4506a3517eff7f73cf793195e9d605d450b84fda
    Reviewed-on: https://gerrit.libreoffice.org/58997
    Reviewed-by: Markus Mohrhard <markus.mohrh...@googlemail.com>
    Tested-by: Jenkins
    (cherry picked from commit d12a200e69d4bedb4228c7632ec648e4fdc21fc2)

diff --git a/chart2/source/controller/main/ChartController.cxx 
b/chart2/source/controller/main/ChartController.cxx
index a505335cfa9a..702c84a2f53c 100644
--- a/chart2/source/controller/main/ChartController.cxx
+++ b/chart2/source/controller/main/ChartController.cxx
@@ -265,6 +265,9 @@ css::uno::Reference<css::chart2::XChartType> getChartType(
     Reference< chart2::XCoordinateSystemContainer > xCooSysContainer( 
xDiagram, uno::UNO_QUERY_THROW );
 
     Sequence< Reference< chart2::XCoordinateSystem > > xCooSysSequence( 
xCooSysContainer->getCoordinateSystems());
+    if (!xCooSysSequence.getLength()) {
+        return css::uno::Reference<css::chart2::XChartType>();
+    }
 
     Reference< chart2::XChartTypeContainer > xChartTypeContainer( 
xCooSysSequence[0], uno::UNO_QUERY_THROW );
 
_______________________________________________
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits

Reply via email to