From 27a3e87fe66ff4b88e06e25cce6c359d761be170 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Caol=C3=A1n=20McNamara?= Date: Thu, 30 May 2019 10:20:58 +0100 Subject: [PATCH] upgrade to 6.2.4 --- .gitignore | 12 +- ...02810-Prepare-for-upcoming-libebook-.patch | 32 -- 0001-no-home-as-templates.patch | 74 ---- ...libcxx_requires_subscript-enabled-in.patch | 400 ------------------ libreoffice.spec | 16 +- sources | 12 +- 6 files changed, 20 insertions(+), 526 deletions(-) delete mode 100644 0001-Resolves-rhbz-1702810-Prepare-for-upcoming-libebook-.patch delete mode 100644 0001-no-home-as-templates.patch delete mode 100644 0001-rhbz-1699347-__glibcxx_requires_subscript-enabled-in.patch diff --git a/.gitignore b/.gitignore index 486a8fe..17f5ada 100644 --- a/.gitignore +++ b/.gitignore @@ -5,9 +5,9 @@ /185d60944ea767075d27247c3162b3bc-unowinreg.dll /49a64f3bcf20a7909ba2751349231d6652ded9cd2840e961b5164d09de3ffa63-opens___.ttf /libreoffice-multiliblauncher.sh -/libreoffice-6.2.3.2.tar.xz -/libreoffice-6.2.3.2.tar.xz.asc -/libreoffice-help-6.2.3.2.tar.xz -/libreoffice-help-6.2.3.2.tar.xz.asc -/libreoffice-translations-6.2.3.2.tar.xz -/libreoffice-translations-6.2.3.2.tar.xz.asc +/libreoffice-6.2.4.2.tar.xz +/libreoffice-6.2.4.2.tar.xz.asc +/libreoffice-help-6.2.4.2.tar.xz +/libreoffice-help-6.2.4.2.tar.xz.asc +/libreoffice-translations-6.2.4.2.tar.xz +/libreoffice-translations-6.2.4.2.tar.xz.asc diff --git a/0001-Resolves-rhbz-1702810-Prepare-for-upcoming-libebook-.patch b/0001-Resolves-rhbz-1702810-Prepare-for-upcoming-libebook-.patch deleted file mode 100644 index 9dc9ce5..0000000 --- a/0001-Resolves-rhbz-1702810-Prepare-for-upcoming-libebook-.patch +++ /dev/null @@ -1,32 +0,0 @@ -From 222274828b6da2e90de857c0c40c343b9bdd5b2c Mon Sep 17 00:00:00 2001 -From: Milan Crha -Date: Thu, 25 Apr 2019 08:38:52 +0100 -Subject: [PATCH] Resolves: rhbz#1702810 Prepare for upcoming libebook soname - version bump - -as noted here: -https://mail.gnome.org/archives/desktop-devel-list/2019-April/msg00016.html - -wrt: -https://gitlab.gnome.org/GNOME/evolution-data-server/issues/33 - -Change-Id: I88f900b3adf12de545b1d2d16da67eae22fde748 ---- - connectivity/source/drivers/evoab2/EApi.cxx | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/connectivity/source/drivers/evoab2/EApi.cxx b/connectivity/source/drivers/evoab2/EApi.cxx -index 41bc62c9ab20..c802778cff2e 100644 ---- a/connectivity/source/drivers/evoab2/EApi.cxx -+++ b/connectivity/source/drivers/evoab2/EApi.cxx -@@ -21,6 +21,7 @@ - #define DECLARE_FN_POINTERS 1 - #include "EApi.h" - static const char *eBookLibNames[] = { -+ "libebook-1.2.so.20", // evolution-data-server 3.33.2+ - "libebook-1.2.so.19", // evolution-data-server 3.24+ - "libebook-1.2.so.16", - "libebook-1.2.so.15", --- -2.20.1 - diff --git a/0001-no-home-as-templates.patch b/0001-no-home-as-templates.patch deleted file mode 100644 index a2a17b7..0000000 --- a/0001-no-home-as-templates.patch +++ /dev/null @@ -1,74 +0,0 @@ -From 30d696d0a1b43b279a92d387557ade33b9212880 Mon Sep 17 00:00:00 2001 -From: Takeshi Abe -Date: Thu, 28 Mar 2019 19:04:30 +0900 -Subject: [PATCH] tdf#119890 followup: Forbid HOME to be the default dir - -... of user templates - -This is kludgy yet better than making innocent users waiting for -the template dialog ~forever as pointed out in the comments in -. - -Change-Id: I6dfdc0408effb06cc9175cd976ea6687e52a7136 ---- - .../backends/desktopbe/desktopbackend.cxx | 21 ++++++++++++------- - 1 file changed, 13 insertions(+), 8 deletions(-) - -diff --git a/shell/source/backends/desktopbe/desktopbackend.cxx b/shell/source/backends/desktopbe/desktopbackend.cxx -index 5923c6583fb7..4b1d0c44b182 100644 ---- a/shell/source/backends/desktopbe/desktopbackend.cxx -+++ b/shell/source/backends/desktopbe/desktopbackend.cxx -@@ -127,7 +127,7 @@ void Default::setPropertyValue(OUString const &, css::uno::Any const &) - static_cast< cppu::OWeakObject * >(this), -1); - } - --OUString xdg_user_dir_lookup (const char *type) -+OUString xdg_user_dir_lookup (const char *type, bool bAllowHomeDir) - { - size_t nLenType = strlen(type); - char *config_home; -@@ -218,16 +218,20 @@ OUString xdg_user_dir_lookup (const char *type) - if (aUserDirBuf.getLength()>0 && !bError) - { - aDocumentsDirURL = aUserDirBuf.makeStringAndClear(); -- osl::Directory aDocumentsDir( aDocumentsDirURL ); -- if( osl::FileBase::E_None == aDocumentsDir.open() ) -- return aDocumentsDirURL; -+ if ( bAllowHomeDir || -+ (aDocumentsDirURL != aHomeDirURL && aDocumentsDirURL != aHomeDirURL + "/") ) -+ { -+ osl::Directory aDocumentsDir( aDocumentsDirURL ); -+ if( osl::FileBase::E_None == aDocumentsDir.open() ) -+ return aDocumentsDirURL; -+ } - } - /* Use fallbacks historical compatibility if nothing else exists */ - return aHomeDirURL + "/" + OUString::createFromAscii(type); - } - --css::uno::Any xdgDirectoryIfExists(char const * type) { -- auto url = xdg_user_dir_lookup(type); -+css::uno::Any xdgDirectoryIfExists(char const * type, bool bAllowHomeDir) { -+ auto url = xdg_user_dir_lookup(type, bAllowHomeDir); - return css::uno::Any( - osl::Directory(url).open() == osl::FileBase::E_None - ? css::beans::Optional(true, css::uno::Any(url)) -@@ -238,12 +242,13 @@ css::uno::Any Default::getPropertyValue(OUString const & PropertyName) - { - if (PropertyName == "TemplatePathVariable") - { -- return xdgDirectoryIfExists("Templates"); -+ // Never pick up the HOME directory as the default location of user's templates -+ return xdgDirectoryIfExists("Templates", false); - } - - if (PropertyName == "WorkPathVariable") - { -- return xdgDirectoryIfExists("Documents"); -+ return xdgDirectoryIfExists("Documents", true); - } - - if ( PropertyName == "EnableATToolSupport" || --- -2.20.1 - diff --git a/0001-rhbz-1699347-__glibcxx_requires_subscript-enabled-in.patch b/0001-rhbz-1699347-__glibcxx_requires_subscript-enabled-in.patch deleted file mode 100644 index fa3e509..0000000 --- a/0001-rhbz-1699347-__glibcxx_requires_subscript-enabled-in.patch +++ /dev/null @@ -1,400 +0,0 @@ -From 42851fa1e6a0a9e117d73b53456f01c6ddf470b3 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Caol=C3=A1n=20McNamara?= -Date: Fri, 12 Apr 2019 15:59:02 +0100 -Subject: [PATCH] rhbz#1699347 __glibcxx_requires_subscript enabled in fedora - release builds - -and so triggering a crash and exit on trying to get address of 0th element of a -0 len vector - -Change-Id: I205478b6c2878d3758d91812db46fe8ad58e37df ---- - sw/source/filter/ww8/rtfsdrexport.cxx | 6 +++--- - sw/source/filter/ww8/wrtww8.cxx | 6 +++--- - sw/source/filter/ww8/ww8par2.cxx | 2 +- - sw/source/filter/ww8/ww8par3.cxx | 2 +- - sw/source/filter/ww8/ww8scan.cxx | 2 +- - sw/source/uibase/docvw/edtwin.cxx | 2 +- - vcl/source/gdi/pdfwriter_impl.cxx | 10 ++++----- - vcl/source/gdi/pdfwriter_impl2.cxx | 24 ++++++++++----------- - vcl/source/opengl/OpenGLHelper.cxx | 6 +++--- - vcl/unx/generic/fontmanager/fontmanager.cxx | 2 +- - vcl/unx/generic/gdi/gdiimpl.cxx | 6 +++--- - vcl/unx/generic/print/glyphset.cxx | 2 +- - vcl/unx/generic/window/salframe.cxx | 2 +- - vcl/unx/gtk/gtksalframe.cxx | 4 ++-- - vcl/unx/gtk3/gtk3gtkframe.cxx | 4 ++-- - 15 files changed, 40 insertions(+), 40 deletions(-) - -diff --git a/sw/source/filter/ww8/rtfsdrexport.cxx b/sw/source/filter/ww8/rtfsdrexport.cxx -index e8ac4018c3a9..67136300fe9d 100644 ---- a/sw/source/filter/ww8/rtfsdrexport.cxx -+++ b/sw/source/filter/ww8/rtfsdrexport.cxx -@@ -274,9 +274,9 @@ void RtfSdrExport::Commit(EscherPropertyContainer& rProps, const tools::Rectangl - && rProps.GetOpt(ESCHER_Prop_pSegmentInfo, aSegments) - && aVertices.nProp.size() >= 6 && aSegments.nProp.size() >= 6) - { -- const sal_uInt8* pVerticesIt = &aVertices.nProp[0] + 6; -+ const sal_uInt8* pVerticesIt = aVertices.nProp.data() + 6; - std::size_t nVerticesPos = 6; -- const sal_uInt8* pSegmentIt = &aSegments.nProp[0]; -+ const sal_uInt8* pSegmentIt = aSegments.nProp.data(); - - OStringBuffer aSegmentInfo(512); - OStringBuffer aVerticies(512); -@@ -434,7 +434,7 @@ void RtfSdrExport::Commit(EscherPropertyContainer& rProps, const tools::Rectangl - .append(SAL_NEWLINE_STRING); - int nHeaderSize - = 25; // The first bytes are WW8-specific, we're only interested in the PNG -- aBuf.append(msfilter::rtfutil::WriteHex(&rOpt.nProp[0] + nHeaderSize, -+ aBuf.append(msfilter::rtfutil::WriteHex(rOpt.nProp.data() + nHeaderSize, - rOpt.nProp.size() - nHeaderSize)); - aBuf.append('}'); - m_aShapeProps.insert( -diff --git a/sw/source/filter/ww8/wrtww8.cxx b/sw/source/filter/ww8/wrtww8.cxx -index fe326ab9c822..0caff45e32da 100644 ---- a/sw/source/filter/ww8/wrtww8.cxx -+++ b/sw/source/filter/ww8/wrtww8.cxx -@@ -1775,7 +1775,7 @@ void SwWW8Writer::WriteString16(SvStream& rStrm, const OUString& rStr, - //vectors are guaranteed to have contiguous memory, so we can do - //this while migrating away from WW8Bytes. Meyers Effective STL, item 16 - if (!aBytes.empty()) -- rStrm.WriteBytes(&aBytes[0], aBytes.size()); -+ rStrm.WriteBytes(aBytes.data(), aBytes.size()); - } - - void SwWW8Writer::WriteString_xstz(SvStream& rStrm, const OUString& rStr, bool bAddZero) -@@ -1785,7 +1785,7 @@ void SwWW8Writer::WriteString_xstz(SvStream& rStrm, const OUString& rStr, bool b - SwWW8Writer::InsAsString16(aBytes, rStr); - if (bAddZero) - SwWW8Writer::InsUInt16(aBytes, 0); -- rStrm.WriteBytes(&aBytes[0], aBytes.size()); -+ rStrm.WriteBytes(aBytes.data(), aBytes.size()); - } - - void SwWW8Writer::WriteString8(SvStream& rStrm, const OUString& rStr, -@@ -1798,7 +1798,7 @@ void SwWW8Writer::WriteString8(SvStream& rStrm, const OUString& rStr, - //vectors are guaranteed to have contiguous memory, so we can do - ////this while migrating away from WW8Bytes. Meyers Effective STL, item 16 - if (!aBytes.empty()) -- rStrm.WriteBytes(&aBytes[0], aBytes.size()); -+ rStrm.WriteBytes(aBytes.data(), aBytes.size()); - } - - void WW8Export::WriteStringAsPara( const OUString& rText ) -diff --git a/sw/source/filter/ww8/ww8par2.cxx b/sw/source/filter/ww8/ww8par2.cxx -index f123fb2d207f..0ee79ab2a7d4 100644 ---- a/sw/source/filter/ww8/ww8par2.cxx -+++ b/sw/source/filter/ww8/ww8par2.cxx -@@ -4474,7 +4474,7 @@ void WW8RStyle::ImportOldFormatStyles() - true); - - if (!aConvertedChpx[stcp].empty()) -- ImportSprms(&(aConvertedChpx[stcp][0]), -+ ImportSprms(aConvertedChpx[stcp].data(), - static_cast< short >(aConvertedChpx[stcp].size()), - false); - -diff --git a/sw/source/filter/ww8/ww8par3.cxx b/sw/source/filter/ww8/ww8par3.cxx -index 012755119be2..23309ff5f208 100644 ---- a/sw/source/filter/ww8/ww8par3.cxx -+++ b/sw/source/filter/ww8/ww8par3.cxx -@@ -1877,7 +1877,7 @@ void SwWW8ImplReader::RegisterNumFormatOnTextNode(sal_uInt16 nCurrentLFO, - { - std::unique_ptr xOldCurrentItemSet(SetCurrentItemSet(std::move(xListIndent))); - -- sal_uInt8* pSprms1 = &aParaSprms[0]; -+ sal_uInt8* pSprms1 = aParaSprms.data(); - while (0 < nLen) - { - sal_uInt16 nL1 = ImportSprm(pSprms1, nLen); -diff --git a/sw/source/filter/ww8/ww8scan.cxx b/sw/source/filter/ww8/ww8scan.cxx -index 643601e144e3..e65d8a920a1f 100644 ---- a/sw/source/filter/ww8/ww8scan.cxx -+++ b/sw/source/filter/ww8/ww8scan.cxx -@@ -2679,7 +2679,7 @@ WW8PLCFx_Fc_FKP::WW8Fkp::WW8Fkp(const WW8Fib& rFib, SvStream* pSt, - if (aEntry.mnLen) - { - aEntry.mpData = new sal_uInt8[aEntry.mnLen]; -- memcpy(aEntry.mpData, &(aSprms[0]), aEntry.mnLen); -+ memcpy(aEntry.mpData, aSprms.data(), aEntry.mnLen); - aEntry.mbMustDelete = true; - } - } -diff --git a/sw/source/uibase/docvw/edtwin.cxx b/sw/source/uibase/docvw/edtwin.cxx -index 2e9f77b1a063..4ccbd77d9c1c 100644 ---- a/sw/source/uibase/docvw/edtwin.cxx -+++ b/sw/source/uibase/docvw/edtwin.cxx -@@ -5870,7 +5870,7 @@ void QuickHelpData::Start( SwWrtShell& rSh, sal_uInt16 nWrdLen ) - const ExtTextInputAttr nVal = ExtTextInputAttr::DottedUnderline | - ExtTextInputAttr::Highlight; - const std::vector aAttrs( nL, nVal ); -- CommandExtTextInputData aCETID( sStr, &aAttrs[0], nL, -+ CommandExtTextInputData aCETID( sStr, aAttrs.data(), nL, - 0, false ); - - //fdo#33092. If the current input language is the default -diff --git a/vcl/source/gdi/pdfwriter_impl.cxx b/vcl/source/gdi/pdfwriter_impl.cxx -index ed542157340b..9eab07cc0fb6 100644 ---- a/vcl/source/gdi/pdfwriter_impl.cxx -+++ b/vcl/source/gdi/pdfwriter_impl.cxx -@@ -3324,7 +3324,7 @@ bool PDFWriterImpl::emitFonts() - sal_Int32 nFontDescriptor = emitFontDescriptor( subset.first, aSubsetInfo, s_subset.m_nFontID, nFontStream ); - - if( nToUnicodeStream ) -- nToUnicodeStream = createToUnicodeCMap( pEncoding, &aCodeUnits[0], pCodeUnitsPerGlyph, pEncToUnicodeIndex, nGlyphs ); -+ nToUnicodeStream = createToUnicodeCMap( pEncoding, aCodeUnits.data(), pCodeUnitsPerGlyph, pEncToUnicodeIndex, nGlyphs ); - - sal_Int32 nFontObject = createObject(); - if ( !updateObject( nFontObject ) ) return false; -@@ -5529,9 +5529,9 @@ sal_Int32 PDFWriterImpl::emitOutputIntent() - if (!nBytesNeeded) - return 0; - std::vector aBuffer(nBytesNeeded); -- cmsSaveProfileToMem(hProfile, &aBuffer[0], &nBytesNeeded); -+ cmsSaveProfileToMem(hProfile, aBuffer.data(), &nBytesNeeded); - cmsCloseProfile(hProfile); -- bool written = writeBuffer( &aBuffer[0], static_cast(aBuffer.size()) ); -+ bool written = writeBuffer( aBuffer.data(), static_cast(aBuffer.size()) ); - disableStreamEncryption(); - endCompression(); - sal_uInt64 nEndStreamPos = 0; -@@ -5781,9 +5781,9 @@ bool PDFWriterImpl::emitTrailer() - - // emit the owner password, must not be encrypted - aLineS.append( "/O(" ); -- appendLiteralString( reinterpret_cast(&m_aContext.Encryption.OValue[0]), sal_Int32(m_aContext.Encryption.OValue.size()), aLineS ); -+ appendLiteralString( reinterpret_cast(m_aContext.Encryption.OValue.data()), sal_Int32(m_aContext.Encryption.OValue.size()), aLineS ); - aLineS.append( ")/U(" ); -- appendLiteralString( reinterpret_cast(&m_aContext.Encryption.UValue[0]), sal_Int32(m_aContext.Encryption.UValue.size()), aLineS ); -+ appendLiteralString( reinterpret_cast(m_aContext.Encryption.UValue.data()), sal_Int32(m_aContext.Encryption.UValue.size()), aLineS ); - aLineS.append( ")/P " );// the permission set - aLineS.append( m_nAccessPermissions ); - aLineS.append( ">>\nendobj\n\n" ); -diff --git a/vcl/source/gdi/pdfwriter_impl2.cxx b/vcl/source/gdi/pdfwriter_impl2.cxx -index 82f99a33cd00..2cf35ba666a6 100644 ---- a/vcl/source/gdi/pdfwriter_impl2.cxx -+++ b/vcl/source/gdi/pdfwriter_impl2.cxx -@@ -1161,7 +1161,7 @@ void PDFWriterImpl::checkAndEnableStreamEncryption( sal_Int32 nObject ) - // the other location of m_nEncryptionKey is already set to 0, our fixed generation number - // do the MD5 hash - ::std::vector const nMD5Sum(::comphelper::Hash::calculateHash( -- &m_aContext.Encryption.EncryptionKey[0], i+2, ::comphelper::HashType::MD5)); -+ m_aContext.Encryption.EncryptionKey.data(), i+2, ::comphelper::HashType::MD5)); - // the i+2 to take into account the generation number, always zero - // initialize the RC4 with the key - // key length: see algorithm 3.1, step 4: (N+5) max 16 -@@ -1181,7 +1181,7 @@ void PDFWriterImpl::enableStringEncryption( sal_Int32 nObject ) - // do the MD5 hash - // the i+2 to take into account the generation number, always zero - ::std::vector const nMD5Sum(::comphelper::Hash::calculateHash( -- &m_aContext.Encryption.EncryptionKey[0], i+2, ::comphelper::HashType::MD5)); -+ m_aContext.Encryption.EncryptionKey.data(), i+2, ::comphelper::HashType::MD5)); - // initialize the RC4 with the key - // key length: see algorithm 3.1, step 4: (N+5) max 16 - rtl_cipher_initARCFOUR( m_aCipher, rtl_Cipher_DirectionEncode, nMD5Sum.data(), m_nRC4KeyLength, nullptr, 0 ); -@@ -1312,7 +1312,7 @@ bool PDFWriterImpl::computeEncryptionKey( EncHashTransporter* i_pTransporter, vc - { - //step 3 - if( ! io_rProperties.OValue.empty() ) -- pDigest->update(&io_rProperties.OValue[0], io_rProperties.OValue.size()); -+ pDigest->update(io_rProperties.OValue.data(), io_rProperties.OValue.size()); - else - bSuccess = false; - //Step 4 -@@ -1326,7 +1326,7 @@ bool PDFWriterImpl::computeEncryptionKey( EncHashTransporter* i_pTransporter, vc - pDigest->update(nPerm, sizeof(nPerm)); - - //step 5, get the document ID, binary form -- pDigest->update(&io_rProperties.DocumentIdentifier[0], io_rProperties.DocumentIdentifier.size()); -+ pDigest->update(io_rProperties.DocumentIdentifier.data(), io_rProperties.DocumentIdentifier.size()); - //get the digest - nMD5Sum = pDigest->finalize(); - -@@ -1394,7 +1394,7 @@ bool PDFWriterImpl::computeODictionaryValue( const sal_uInt8* i_pPaddedOwnerPass - { - // encrypt the user password using the key set above - rtl_cipher_encodeARCFOUR( aCipher, i_pPaddedUserPassword, ENCRYPTED_PWD_SIZE, // the data to be encrypted -- &io_rOValue[0], sal_Int32(io_rOValue.size()) ); //encrypted data -+ io_rOValue.data(), sal_Int32(io_rOValue.size()) ); //encrypted data - //Step 7, only if 128 bit - if( i_nKeyLength == SECUR_128BIT_KEY ) - { -@@ -1414,8 +1414,8 @@ bool PDFWriterImpl::computeODictionaryValue( const sal_uInt8* i_pPaddedOwnerPass - bSuccess = false; - break; - } -- rtl_cipher_encodeARCFOUR( aCipher, &io_rOValue[0], sal_Int32(io_rOValue.size()), // the data to be encrypted -- &io_rOValue[0], sal_Int32(io_rOValue.size()) ); // encrypted data, can be the same as the input, encrypt "in place" -+ rtl_cipher_encodeARCFOUR( aCipher, io_rOValue.data(), sal_Int32(io_rOValue.size()), // the data to be encrypted -+ io_rOValue.data(), sal_Int32(io_rOValue.size()) ); // encrypted data, can be the same as the input, encrypt "in place" - //step 8, store in class data member - } - } -@@ -1464,14 +1464,14 @@ bool PDFWriterImpl::computeUDictionaryValue( EncHashTransporter* i_pTransporter, - io_rProperties.UValue[i] = 0; - //steps 2 and 3 - aDigest.update(s_nPadString, sizeof(s_nPadString)); -- aDigest.update(&io_rProperties.DocumentIdentifier[0], io_rProperties.DocumentIdentifier.size()); -+ aDigest.update(io_rProperties.DocumentIdentifier.data(), io_rProperties.DocumentIdentifier.size()); - - ::std::vector const nMD5Sum(aDigest.finalize()); - //Step 4 - rtl_cipher_initARCFOUR( aCipher, rtl_Cipher_DirectionEncode, -- &io_rProperties.EncryptionKey[0], SECUR_128BIT_KEY, nullptr, 0 ); //destination data area -+ io_rProperties.EncryptionKey.data(), SECUR_128BIT_KEY, nullptr, 0 ); //destination data area - rtl_cipher_encodeARCFOUR( aCipher, nMD5Sum.data(), nMD5Sum.size(), // the data to be encrypted -- &io_rProperties.UValue[0], SECUR_128BIT_KEY ); //encrypted data, stored in class data member -+ io_rProperties.UValue.data(), SECUR_128BIT_KEY ); //encrypted data, stored in class data member - //step 5 - sal_uInt32 i; - size_t y; -@@ -1485,8 +1485,8 @@ bool PDFWriterImpl::computeUDictionaryValue( EncHashTransporter* i_pTransporter, - rtl_cipher_initARCFOUR( aCipher, rtl_Cipher_DirectionEncode, - nLocalKey, SECUR_128BIT_KEY, // key and key length - nullptr, 0 ); //destination data area, on init can be NULL -- rtl_cipher_encodeARCFOUR( aCipher, &io_rProperties.UValue[0], SECUR_128BIT_KEY, // the data to be encrypted -- &io_rProperties.UValue[0], SECUR_128BIT_KEY ); // encrypted data, can be the same as the input, encrypt "in place" -+ rtl_cipher_encodeARCFOUR( aCipher, io_rProperties.UValue.data(), SECUR_128BIT_KEY, // the data to be encrypted -+ io_rProperties.UValue.data(), SECUR_128BIT_KEY ); // encrypted data, can be the same as the input, encrypt "in place" - } - } - else -diff --git a/vcl/source/opengl/OpenGLHelper.cxx b/vcl/source/opengl/OpenGLHelper.cxx -index 6ae47184ae2e..a3579b579502 100644 ---- a/vcl/source/opengl/OpenGLHelper.cxx -+++ b/vcl/source/opengl/OpenGLHelper.cxx -@@ -124,13 +124,13 @@ namespace { - { - std::vector ErrorMessage(InfoLogLength+1); - if (bShaderNotProgram) -- glGetShaderInfoLog (nId, InfoLogLength, nullptr, &ErrorMessage[0]); -+ glGetShaderInfoLog (nId, InfoLogLength, nullptr, ErrorMessage.data()); - else -- glGetProgramInfoLog(nId, InfoLogLength, nullptr, &ErrorMessage[0]); -+ glGetProgramInfoLog(nId, InfoLogLength, nullptr, ErrorMessage.data()); - CHECK_GL_ERROR(); - - ErrorMessage.push_back('\0'); -- SAL_WARN("vcl.opengl", rDetail << " shader " << nId << " compile for " << rName << " failed : " << &ErrorMessage[0]); -+ SAL_WARN("vcl.opengl", rDetail << " shader " << nId << " compile for " << rName << " failed : " << ErrorMessage.data()); - } - else - SAL_WARN("vcl.opengl", rDetail << " shader: " << rName << " compile " << nId << " failed without error log"); -diff --git a/vcl/unx/generic/fontmanager/fontmanager.cxx b/vcl/unx/generic/fontmanager/fontmanager.cxx -index 394c5484a5bd..0a093b641270 100644 ---- a/vcl/unx/generic/fontmanager/fontmanager.cxx -+++ b/vcl/unx/generic/fontmanager/fontmanager.cxx -@@ -1108,7 +1108,7 @@ void PrintFontManager::getGlyphWidths( fontID nFont, - for (int i = 0; i < nGlyphs; i++) - aGlyphIds[i] = sal_uInt16(i); - std::unique_ptr pMetrics = GetTTSimpleGlyphMetrics(pTTFont, -- &aGlyphIds[0], -+ aGlyphIds.data(), - nGlyphs, - bVertical); - if (pMetrics) -diff --git a/vcl/unx/generic/gdi/gdiimpl.cxx b/vcl/unx/generic/gdi/gdiimpl.cxx -index e0a4879ff6fb..2ff75dba8f3a 100644 ---- a/vcl/unx/generic/gdi/gdiimpl.cxx -+++ b/vcl/unx/generic/gdi/gdiimpl.cxx -@@ -1489,7 +1489,7 @@ bool X11SalGraphicsImpl::drawPolyPolygon( - const int nTrapCount = aB2DTrapVector.size(); - if( !nTrapCount ) - return true; -- const bool bDrawn = drawFilledTrapezoids( &aB2DTrapVector[0], nTrapCount, fTransparency ); -+ const bool bDrawn = drawFilledTrapezoids( aB2DTrapVector.data(), nTrapCount, fTransparency ); - return bDrawn; - } - -@@ -1565,7 +1565,7 @@ bool X11SalGraphicsImpl::drawFilledTrapezoids( const basegfx::B2DTrapezoid* pB2D - // render the trapezoids - const XRenderPictFormat* pMaskFormat = rRenderPeer.GetStandardFormatA8(); - rRenderPeer.CompositeTrapezoids( PictOpOver, -- rEntry.m_aPicture, aDstPic, pMaskFormat, 0, 0, &aTrapVector[0], aTrapVector.size() ); -+ rEntry.m_aPicture, aDstPic, pMaskFormat, 0, 0, aTrapVector.data(), aTrapVector.size() ); - - return true; - } -@@ -1639,7 +1639,7 @@ bool X11SalGraphicsImpl::drawFilledTriangles( - // render the trapezoids - const XRenderPictFormat* pMaskFormat = rRenderPeer.GetStandardFormatA8(); - rRenderPeer.CompositeTriangles( PictOpOver, -- rEntry.m_aPicture, aDstPic, pMaskFormat, 0, 0, &aTriVector[0], aTriVector.size() ); -+ rEntry.m_aPicture, aDstPic, pMaskFormat, 0, 0, aTriVector.data(), aTriVector.size() ); - - return true; - } -diff --git a/vcl/unx/generic/print/glyphset.cxx b/vcl/unx/generic/print/glyphset.cxx -index 0f259ab5b669..522bb06f99c6 100644 ---- a/vcl/unx/generic/print/glyphset.cxx -+++ b/vcl/unx/generic/print/glyphset.cxx -@@ -233,7 +233,7 @@ static void CreatePSUploadableFont( TrueTypeFont* pSrcFont, FILE* pTmpFile, - aInfo.LoadFont( pSrcFont ); - - aInfo.CreateFontSubset( nTargetMask, pTmpFile, pGlyphSetName, -- &aRequestedGlyphs[0], &aEncoding[0], nGlyphCount ); -+ &aRequestedGlyphs[0], aEncoding.data(), nGlyphCount ); - } - - void -diff --git a/vcl/unx/generic/window/salframe.cxx b/vcl/unx/generic/window/salframe.cxx -index ab0700e948e2..f961d04545c3 100644 ---- a/vcl/unx/generic/window/salframe.cxx -+++ b/vcl/unx/generic/window/salframe.cxx -@@ -2929,7 +2929,7 @@ bool X11SalFrame::appendUnicodeSequence( sal_Unicode c ) - - SalExtTextInputEvent aEv; - aEv.maText = rSeq; -- aEv.mpTextAttr = &attribs[0]; -+ aEv.mpTextAttr = attribs.data(); - aEv.mnCursorPos = 0; - aEv.mnCursorFlags = 0; - -diff --git a/vcl/unx/gtk/gtksalframe.cxx b/vcl/unx/gtk/gtksalframe.cxx -index 1499af92ee70..ed3cce166980 100644 ---- a/vcl/unx/gtk/gtksalframe.cxx -+++ b/vcl/unx/gtk/gtksalframe.cxx -@@ -3292,7 +3292,7 @@ void GtkSalFrame::IMHandler::endExtTextInput( EndExtTextInputFlags /*nFlags*/ ) - if( ! aDel.isDeleted() ) - { - // mark previous preedit state again (will e.g. be sent at focus gain) -- m_aInputEvent.mpTextAttr = &m_aInputFlags[0]; -+ m_aInputEvent.mpTextAttr = m_aInputFlags.data(); - if( m_bFocused ) - { - // begin preedit again -@@ -3608,7 +3608,7 @@ void GtkSalFrame::IMHandler::signalIMPreeditChanged( GtkIMContext*, gpointer im_ - } while (pango_attr_iterator_next (iter)); - pango_attr_iterator_destroy(iter); - -- pThis->m_aInputEvent.mpTextAttr = &pThis->m_aInputFlags[0]; -+ pThis->m_aInputEvent.mpTextAttr = pThis->m_aInputFlags.data(); - - g_free( pText ); - pango_attr_list_unref( pAttrs ); -diff --git a/vcl/unx/gtk3/gtk3gtkframe.cxx b/vcl/unx/gtk3/gtk3gtkframe.cxx -index 184102e74b17..d1af70f75775 100644 ---- a/vcl/unx/gtk3/gtk3gtkframe.cxx -+++ b/vcl/unx/gtk3/gtk3gtkframe.cxx -@@ -3852,7 +3852,7 @@ void GtkSalFrame::IMHandler::endExtTextInput( EndExtTextInputFlags /*nFlags*/ ) - if( ! aDel.isDeleted() ) - { - // mark previous preedit state again (will e.g. be sent at focus gain) -- m_aInputEvent.mpTextAttr = &m_aInputFlags[0]; -+ m_aInputEvent.mpTextAttr = m_aInputFlags.data(); - if( m_bFocused ) - { - // begin preedit again -@@ -4159,7 +4159,7 @@ void GtkSalFrame::IMHandler::signalIMPreeditChanged( GtkIMContext*, gpointer im_ - } while (pango_attr_iterator_next (iter)); - pango_attr_iterator_destroy(iter); - -- pThis->m_aInputEvent.mpTextAttr = &pThis->m_aInputFlags[0]; -+ pThis->m_aInputEvent.mpTextAttr = pThis->m_aInputFlags.data(); - - g_free( pText ); - pango_attr_list_unref( pAttrs ); --- -2.21.0 - diff --git a/libreoffice.spec b/libreoffice.spec index acfbfa5..8348dde 100644 --- a/libreoffice.spec +++ b/libreoffice.spec @@ -3,7 +3,7 @@ %global _python_bytecompile_extra 1 # download path contains version without the last (fourth) digit -%global libo_version 6.2.3 +%global libo_version 6.2.4 # Should contain .alphaX / .betaX, if this is pre-release (actually # pre-RC) version. The pre-release string is part of tarball file names, # so we need a way to define it easily at one place. @@ -54,7 +54,7 @@ Summary: Free Software Productivity Suite Name: libreoffice Epoch: 1 Version: %{libo_version}.2 -Release: 5%{?libo_prerelease}%{?dist} +Release: 1%{?libo_prerelease}%{?dist} License: (MPLv1.1 or LGPLv3+) and LGPLv3 and LGPLv2+ and BSD and (MPLv1.1 or GPLv2 or LGPLv2 or Netscape) and Public Domain and ASL 2.0 and MPLv2.0 and CC0 URL: http://www.libreoffice.org/ @@ -243,12 +243,9 @@ Patch0: 0001-don-t-suppress-crashes.patch # not upstreamed Patch1: 0001-Resolves-rhbz-1432468-disable-opencl-by-default.patch Patch2: 0001-rhbz-1690732-basic-font-variation-support.patch -Patch3: 0001-rhbz-1699347-__glibcxx_requires_subscript-enabled-in.patch -Patch4: 0001-no-home-as-templates.patch -Patch5: 0001-Resolves-rhbz-1702810-Prepare-for-upcoming-libebook-.patch -Patch6: 0001-Resolves-rhbz-1712823-prefer-help-strings-to-a11y-st.patch -Patch7: 0001-Resolves-tdf-125099-round-duration-results-in-interp.patch -Patch8: 0001-Resolves-rhbz-1713827-protect-against-null-ViewShell.patch +Patch3: 0001-Resolves-rhbz-1712823-prefer-help-strings-to-a11y-st.patch +Patch4: 0001-Resolves-tdf-125099-round-duration-results-in-interp.patch +Patch5: 0001-Resolves-rhbz-1713827-protect-against-null-ViewShell.patch %if 0%{?rhel} # not upstreamed @@ -2138,6 +2135,9 @@ done %{_includedir}/LibreOfficeKit %changelog +* Thu May 30 2019 Caolán McNamara - 1:6.2.4.2-1 +- latest stable version + * Sun May 26 2019 Caolán McNamara - 1:6.2.3.2-5 - Resolves: rhbz#1713827 protect against null ViewShell - Resolves: rhbz#1713908 stop disabling firebird-sdbc diff --git a/sources b/sources index a11599c..0b97d65 100644 --- a/sources +++ b/sources @@ -6,9 +6,9 @@ SHA512 (a7983f859eafb2677d7ff386a023bc40-xsltml_2.1.2.zip) = 2d3835f7ac356805025 SHA512 (0168229624cfac409e766913506961a8-ucpp-1.3.2.tar.gz) = b9c02d63e9b47a838dbe67c05b9e9e4983d13b9d74794e1c30c73d341c3bc905c9edec3a72fa339ae8c0e06d97e69ac2ea23bf51336b77af14cab7ae67721a46 SHA512 (49a64f3bcf20a7909ba2751349231d6652ded9cd2840e961b5164d09de3ffa63-opens___.ttf) = 359ba0314a0e5094aa2a10067e5613b10cb9044dca04d49bae68afd8a49d88e070b9a5321b77fd15ef5685109f664409ae1af24d40edd7b462f1366a1967b0e2 SHA512 (libreoffice-multiliblauncher.sh) = db532afdf5000bc66f9e02c7d0ab586468466f63f8f0bdb204832581e8277c5c59f688fa096548d642411cb8c46e8de4a744676b4e624c075262cfd6945138cd -SHA512 (libreoffice-6.2.3.2.tar.xz) = 06c7e67c521eb9d94aa1a63464a4531b61b0fa0a8f77a0ecd1584535826232557a971471bea87dbc0b794979e1cddb201dbfdf0c4a2b4261ea63730e15cd8000 -SHA512 (libreoffice-6.2.3.2.tar.xz.asc) = 180b1a2e598cf9d3b6e15f3d99acaab0dba7319a66fcae488f647c0b32b072346e4c11d508b256c09b93723146af5b101c727afa79b44757c836edcbf0203c4f -SHA512 (libreoffice-help-6.2.3.2.tar.xz) = 3c2c05f22bebf59662ff2948b59055c2b8b962f8c717e8d894a6f0df1878cd13cce0e55d39c2cbbf7e83af61623149d757ec65495c4ed23a1e587832595be037 -SHA512 (libreoffice-help-6.2.3.2.tar.xz.asc) = 3a20e15a753471c03c1fa90b2543c04276110380f4c4b1e2413f4b6a870109e43b6fe41a1939b32b329ff2c45c63db0d078f7ff1b435bc0ee0ecd0516be33cf9 -SHA512 (libreoffice-translations-6.2.3.2.tar.xz) = aa91ea5564cf7684dc9fe1d991a0d4de386eba1d295bd16b2f99a221b1f872f0c25a2975e90148dc5b01d5eb31117548945cf52976b90f486375bacff3701bcc -SHA512 (libreoffice-translations-6.2.3.2.tar.xz.asc) = 36eb9feb7a6984dd518f2026f4d35e10d26edab9a13a220005b99dafdf85b9d9570270078b3efb4f3becb22d052ae808df92a6a83e5913126554be655668745e +SHA512 (libreoffice-6.2.4.2.tar.xz) = d3c28629315fa78c1a18384b9c4144773f573c9721cb33f2c1b2beccbaa73068b1096c7009353261b1a8993f1bf5296e9dfc4279605572938b749ce9c39026e5 +SHA512 (libreoffice-6.2.4.2.tar.xz.asc) = 73b44ce03e79008bf9cec402b70cc0a0975e66a682a59ef71c307f96b36d5e3fd32668b90ffa4ba1ab897608f6441d2c40f313803a1f05d49ec9f47d27573a75 +SHA512 (libreoffice-help-6.2.4.2.tar.xz) = d93a3cac65659575fb0a17528c5d5c0cfdf6d20b8b694908b9795cac1f1b4f2122c849a31a9e5d04f579c8a27b2b1913ec7474560300ee0fbf4e0f39d3937048 +SHA512 (libreoffice-help-6.2.4.2.tar.xz.asc) = b666111d683170a625173870dca5f8dc2e31bfb43161b3efe4eb905b01b1722dd05ba818f61286164a72184301a189f45bc0f5cb23878ab8dc20c1ad92f3b39e +SHA512 (libreoffice-translations-6.2.4.2.tar.xz) = f7c45d26364ac813eb77d020410542622989d809413dde0deea4c54bbf289dcf577b4ebd77490af691bc9cbec541da219d5e7bc64e67bf5b724f19e3c3272bd0 +SHA512 (libreoffice-translations-6.2.4.2.tar.xz.asc) = 064a3bc608df74c4fca4a2cb173a0730dabeb9c7f2b14bec39bd24f77de65b11d99b16be508b976a92a3c0eb20196d7c13fed8590c032bf223de96772f7e4116