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