diff -Nru libreoffice-7.1.4~rc2/basic/qa/basic_coverage/test_string_literal_comparison.vb libreoffice-7.1.5~rc2/basic/qa/basic_coverage/test_string_literal_comparison.vb --- libreoffice-7.1.4~rc2/basic/qa/basic_coverage/test_string_literal_comparison.vb 1970-01-01 00:00:00.000000000 +0000 +++ libreoffice-7.1.5~rc2/basic/qa/basic_coverage/test_string_literal_comparison.vb 2021-07-16 21:17:42.000000000 +0000 @@ -0,0 +1,19 @@ +' This file is part of the LibreOffice project. +' +' This Source Code Form is subject to the terms of the Mozilla Public +' License, v. 2.0. If a copy of the MPL was not distributed with this +' file, You can obtain one at http://mozilla.org/MPL/2.0/. +' + +Function doUnitTest as Integer + ' tdf#142180 - Invalid text comparison result in Basic + + doUnitTest = 0 + If ( "Z" < "A" ) Then Exit Function + If ( "A" > "Z" ) Then Exit Function + If ( "A" < "A" ) Then Exit Function + If ( "A" > "A" ) Then Exit Function + If ( "Z" <= "A" ) Then Exit Function + If ( "A" >= "Z" ) Then Exit Function + doUnitTest = 1 +End Function diff -Nru libreoffice-7.1.4~rc2/basic/source/comp/exprnode.cxx libreoffice-7.1.5~rc2/basic/source/comp/exprnode.cxx --- libreoffice-7.1.4~rc2/basic/source/comp/exprnode.cxx 2021-06-04 14:36:10.000000000 +0000 +++ libreoffice-7.1.5~rc2/basic/source/comp/exprnode.cxx 2021-07-16 21:17:42.000000000 +0000 @@ -274,16 +274,16 @@ nVal = ( eRes != 0 ) ? SbxTRUE : SbxFALSE; break; case LT: - nVal = ( eRes < 0 ) ? SbxTRUE : SbxFALSE; + nVal = ( eRes > 0 ) ? SbxTRUE : SbxFALSE; break; case GT: - nVal = ( eRes > 0 ) ? SbxTRUE : SbxFALSE; + nVal = ( eRes < 0 ) ? SbxTRUE : SbxFALSE; break; case LE: - nVal = ( eRes <= 0 ) ? SbxTRUE : SbxFALSE; + nVal = ( eRes >= 0 ) ? SbxTRUE : SbxFALSE; break; case GE: - nVal = ( eRes >= 0 ) ? SbxTRUE : SbxFALSE; + nVal = ( eRes <= 0 ) ? SbxTRUE : SbxFALSE; break; default: pParser->Error( ERRCODE_BASIC_CONVERSION ); diff -Nru libreoffice-7.1.4~rc2/basic/source/runtime/methods.cxx libreoffice-7.1.5~rc2/basic/source/runtime/methods.cxx --- libreoffice-7.1.4~rc2/basic/source/runtime/methods.cxx 2021-06-04 14:36:10.000000000 +0000 +++ libreoffice-7.1.5~rc2/basic/source/runtime/methods.cxx 2021-07-16 21:17:42.000000000 +0000 @@ -1276,8 +1276,6 @@ const OUString aExpStr = rPar.Get32(1)->GetOUString(); OUString aFindStr = rPar.Get32(2)->GetOUString(); const OUString aReplaceStr = rPar.Get32(3)->GetOUString(); - const sal_Int32 nExpStrLen = aExpStr.getLength(); - const sal_Int32 nFindStrLen = aFindStr.getLength(); OUString aSrcStr(aExpStr); if (bCaseInsensitive) @@ -1288,10 +1286,12 @@ aSrcStr = xCharClass->toUpper(aSrcStr, 0, aSrcStr.getLength(), rLocale); aFindStr = xCharClass->toUpper(aFindStr, 0, aFindStr.getLength(), rLocale); } + const sal_Int32 nSrcStrLen = aSrcStr.getLength(); + const sal_Int32 nFindStrLen = aFindStr.getLength(); // Note: the result starts from lStartPos, removing everything to the left. See i#94895. - sal_Int32 nPrevPos = std::min(lStartPos - 1, nExpStrLen); - OUStringBuffer sResult(nExpStrLen - nPrevPos); + sal_Int32 nPrevPos = std::min(lStartPos - 1, nSrcStrLen); + OUStringBuffer sResult(nSrcStrLen - nPrevPos); sal_Int32 nCounts = 0; while (lCount == -1 || lCount > nCounts) { @@ -1308,7 +1308,7 @@ break; } } - sResult.append(aExpStr.getStr() + nPrevPos, nExpStrLen - nPrevPos); + sResult.append(aExpStr.getStr() + nPrevPos, nSrcStrLen - nPrevPos); rPar.Get32(0)->PutString(sResult.makeStringAndClear()); } diff -Nru libreoffice-7.1.4~rc2/chart2/qa/extras/chart2import.cxx libreoffice-7.1.5~rc2/chart2/qa/extras/chart2import.cxx --- libreoffice-7.1.4~rc2/chart2/qa/extras/chart2import.cxx 2021-06-04 14:36:10.000000000 +0000 +++ libreoffice-7.1.5~rc2/chart2/qa/extras/chart2import.cxx 2021-07-16 21:17:42.000000000 +0000 @@ -174,6 +174,7 @@ void testTdf137734(); void testTdf137874(); void testTdfCustomShapePos(); + void testTdf139658(); CPPUNIT_TEST_SUITE(Chart2ImportTest); CPPUNIT_TEST(Fdo60083); @@ -295,6 +296,7 @@ CPPUNIT_TEST(testTdf137734); CPPUNIT_TEST(testTdf137874); CPPUNIT_TEST(testTdfCustomShapePos); + CPPUNIT_TEST(testTdf139658); CPPUNIT_TEST_SUITE_END(); @@ -2845,6 +2847,26 @@ } } +void Chart2ImportTest::testTdf139658() +{ + load(u"/chart2/qa/extras/data/docx/", "tdf139658.docx"); + uno::Reference xChartDoc(getChartDocFromWriter(0), uno::UNO_QUERY); + CPPUNIT_ASSERT(xChartDoc.is()); + Reference xInternalProvider(xChartDoc->getDataProvider(), + uno::UNO_QUERY); + CPPUNIT_ASSERT(xInternalProvider.is()); + + Reference xDescAccess(xInternalProvider, uno::UNO_QUERY); + CPPUNIT_ASSERT(xDescAccess.is()); + + // Get the category labels. + Sequence aCategories = xDescAccess->getRowDescriptions(); + CPPUNIT_ASSERT_EQUAL(sal_Int32(3), aCategories.getLength()); + CPPUNIT_ASSERT_EQUAL(OUString("category1"), aCategories[0]); + CPPUNIT_ASSERT_EQUAL(OUString("\"category2\""), aCategories[1]); + CPPUNIT_ASSERT_EQUAL(OUString("category\"3"), aCategories[2]); +} + CPPUNIT_TEST_SUITE_REGISTRATION(Chart2ImportTest); CPPUNIT_PLUGIN_IMPLEMENT(); Binary files /tmp/tmppvlx4fzt/Lw4MBdqo4Z/libreoffice-7.1.4~rc2/chart2/qa/extras/data/docx/tdf139658.docx and /tmp/tmppvlx4fzt/j2Aoyt8Vlf/libreoffice-7.1.5~rc2/chart2/qa/extras/data/docx/tdf139658.docx differ diff -Nru libreoffice-7.1.4~rc2/chart2/source/model/template/CandleStickChartType.hxx libreoffice-7.1.5~rc2/chart2/source/model/template/CandleStickChartType.hxx --- libreoffice-7.1.4~rc2/chart2/source/model/template/CandleStickChartType.hxx 2021-06-04 14:36:10.000000000 +0000 +++ libreoffice-7.1.5~rc2/chart2/source/model/template/CandleStickChartType.hxx 2021-07-16 21:17:42.000000000 +0000 @@ -23,7 +23,8 @@ namespace chart { -class CandleStickChartType final : public ChartType +// see tdf#142467 before restoring 'final' +class CandleStickChartType /* final */ : public ChartType { public: explicit CandleStickChartType(); diff -Nru libreoffice-7.1.4~rc2/chart2/source/tools/InternalDataProvider.cxx libreoffice-7.1.5~rc2/chart2/source/tools/InternalDataProvider.cxx --- libreoffice-7.1.4~rc2/chart2/source/tools/InternalDataProvider.cxx 2021-06-04 14:36:10.000000000 +0000 +++ libreoffice-7.1.5~rc2/chart2/source/tools/InternalDataProvider.cxx 2021-07-16 21:17:42.000000000 +0000 @@ -518,7 +518,14 @@ bool bInQuote = false; for (; p != pEnd; ++p) { - if (*p == '"') + // Skip next "" within the title text: it's an escaped double quotation mark. + if (bInQuote && *p == '"' && *(p + 1) == '"') + { + if (!pElem) + pElem = p; + ++p; + } + else if (*p == '"') { bInQuote = !bInQuote; if (bInQuote) @@ -534,7 +541,8 @@ // Non empty string if (!aElem.isEmpty()) bAllNumeric = false; - aRawElems.push_back(aElem); + // Restore also escaped double quotation marks + aRawElems.push_back(aElem.replaceAll("\"\"", "\"")); pElem = nullptr; aElem.clear(); diff -Nru libreoffice-7.1.4~rc2/compilerplugins/clang/fragiledestructor.cxx libreoffice-7.1.5~rc2/compilerplugins/clang/fragiledestructor.cxx --- libreoffice-7.1.4~rc2/compilerplugins/clang/fragiledestructor.cxx 2021-06-04 14:36:10.000000000 +0000 +++ libreoffice-7.1.5~rc2/compilerplugins/clang/fragiledestructor.cxx 2021-07-16 21:17:42.000000000 +0000 @@ -51,6 +51,8 @@ return false; if (loplugin::isSamePathname(fn, SRCDIR "/sw/source/core/layout/ssfrm.cxx")) // ~SwFrame calling IsDeleteForbidden return false; + if (loplugin::isSamePathname(fn, SRCDIR "/chart2/source/model/template/CandleStickChartType.cxx")) // to ignore tdf#142467 workaround + return false; return true; } diff -Nru libreoffice-7.1.4~rc2/config_host/config_firebird.h.in libreoffice-7.1.5~rc2/config_host/config_firebird.h.in --- libreoffice-7.1.4~rc2/config_host/config_firebird.h.in 2021-06-04 14:36:10.000000000 +0000 +++ libreoffice-7.1.5~rc2/config_host/config_firebird.h.in 2021-07-16 21:17:42.000000000 +0000 @@ -7,6 +7,4 @@ #define ENABLE_FIREBIRD_SDBC 0 -#define HAVE_FIREBIRD_30 0 - #endif diff -Nru libreoffice-7.1.4~rc2/configure.ac libreoffice-7.1.5~rc2/configure.ac --- libreoffice-7.1.4~rc2/configure.ac 2021-06-04 14:36:10.000000000 +0000 +++ libreoffice-7.1.5~rc2/configure.ac 2021-07-16 21:17:42.000000000 +0000 @@ -9,7 +9,7 @@ # several non-alphanumeric characters, those are split off and used only for the # ABOUTBOXPRODUCTVERSIONSUFFIX in openoffice.lst. Why that is necessary, no idea. -AC_INIT([LibreOffice],[7.1.4.2],[],[],[http://documentfoundation.org/]) +AC_INIT([LibreOffice],[7.1.5.2],[],[],[http://documentfoundation.org/]) dnl libnumbertext needs autoconf 2.68, but that can pick up autoconf268 just fine if it is installed dnl whereas aclocal (as run by autogen.sh) insists on using autoconf and fails hard @@ -6847,7 +6847,7 @@ if test "$GCC" = "yes" -o "$COM_IS_CLANG" = TRUE; then AC_MSG_CHECKING([whether $CC_BASE supports -fstack-clash-protection]) save_CFLAGS=$CFLAGS - CFLAGS="$CFLAGS -fstack-clash-protection" + CFLAGS="$CFLAGS -Werror -fstack-clash-protection" AC_LINK_IFELSE( [AC_LANG_PROGRAM(, [[return 0;]])], [AC_MSG_RESULT([yes]); HAVE_GCC_STACK_CLASH_PROTECTION=TRUE], @@ -9923,11 +9923,10 @@ AC_MSG_CHECKING([Firebird version]) if test -n "${FIREBIRD_VERSION}"; then FIREBIRD_MAJOR=`echo $FIREBIRD_VERSION | cut -d"." -f1` - FIREBIRD_MINOR=`echo $FIREBIRD_VERSION | cut -d"." -f2` - if test "$FIREBIRD_MAJOR" -eq "3" -a "$FIREBIRD_MINOR" -eq "0"; then + if test "$FIREBIRD_MAJOR" -ge "3"; then AC_MSG_RESULT([OK]) else - AC_MSG_ERROR([Ensure firebird 3.0.x is installed]) + AC_MSG_ERROR([Ensure firebird >= 3 is installed]) fi else save_CFLAGS="${CFLAGS}" @@ -9948,7 +9947,6 @@ AC_MSG_RESULT([none]) else dnl Embedded Firebird has version 3.0 - AC_DEFINE(HAVE_FIREBIRD_30, 1) dnl We need libatomic_ops for any non X86/X64 system if test "${CPUNAME}" != INTEL -a "${CPUNAME}" != X86_64; then dnl =================================================================== @@ -13217,6 +13215,8 @@ HAMCREST_JAR=/usr/share/lib/java/hamcrest.jar elif test -e /usr/share/java/hamcrest/core.jar; then HAMCREST_JAR=/usr/share/java/hamcrest/core.jar + elif test -e /usr/share/java/hamcrest/hamcrest.jar; then + HAMCREST_JAR=/usr/share/java/hamcrest/hamcrest.jar else HAMCREST_JAR=/usr/share/java/hamcrest.jar fi diff -Nru libreoffice-7.1.4~rc2/dbaccess/CppunitTest_dbaccess_firebird_regression_test.mk libreoffice-7.1.5~rc2/dbaccess/CppunitTest_dbaccess_firebird_regression_test.mk --- libreoffice-7.1.4~rc2/dbaccess/CppunitTest_dbaccess_firebird_regression_test.mk 2021-06-04 14:36:10.000000000 +0000 +++ libreoffice-7.1.5~rc2/dbaccess/CppunitTest_dbaccess_firebird_regression_test.mk 1970-01-01 00:00:00.000000000 +0000 @@ -1,70 +0,0 @@ -# -*- Mode: makefile-gmake; tab-width: 4; indent-tabs-mode: t -*- -# -# This file is part of the LibreOffice project. -# -# This Source Code Form is subject to the terms of the Mozilla Public -# License, v. 2.0. If a copy of the MPL was not distributed with this -# file, You can obtain one at http://mozilla.org/MPL/2.0/. -# - -$(eval $(call gb_CppunitTest_CppunitTest,dbaccess_firebird_regression)) - -$(eval $(call gb_CppunitTest_use_external,dbaccess_firebird_regression,boost_headers)) - -$(eval $(call gb_CppunitTest_add_exception_objects,dbaccess_firebird_regression, \ - dbaccess/qa/unit/firebird-regression \ -)) - -$(eval $(call gb_CppunitTest_use_libraries,dbaccess_firebird_regression, \ - comphelper \ - cppu \ - dbaxml \ - firebird_sdbc \ - sal \ - subsequenttest \ - svt \ - test \ - unotest \ - utl \ - xo \ -)) - -$(eval $(call gb_CppunitTest_use_api,dbaccess_firebird_regression,\ - offapi \ - oovbaapi \ - udkapi \ -)) - -$(eval $(call gb_CppunitTest_use_ure,dbaccess_firebird_regression)) -$(eval $(call gb_CppunitTest_use_vcl,dbaccess_firebird_regression)) - -$(eval $(call gb_CppunitTest_use_components,dbaccess_firebird_regression,\ - basic/util/sb \ - comphelper/util/comphelp \ - configmgr/source/configmgr \ - connectivity/source/drivers/firebird/firebird_sdbc \ - connectivity/source/manager/sdbc2 \ - dbaccess/util/dba \ - dbaccess/source/filter/xml/dbaxml \ - dbaccess/util/dbu \ - filter/source/config/cache/filterconfig1 \ - framework/util/fwk \ - i18npool/util/i18npool \ - linguistic/source/lng \ - package/source/xstor/xstor \ - package/util/package2 \ - sax/source/expatwrap/expwrap \ - sfx2/util/sfx \ - svl/source/fsstor/fsstorage \ - svl/util/svl \ - toolkit/util/tk \ - ucb/source/core/ucb1 \ - ucb/source/ucp/file/ucpfile1 \ - unotools/util/utl \ - uui/util/uui \ - xmloff/util/xo \ -)) - -$(eval $(call gb_CppunitTest_use_configuration,dbaccess_firebird_regression)) - -# vim: set noet sw=4 ts=4: diff -Nru libreoffice-7.1.4~rc2/dbaccess/CppunitTest_dbaccess_firebird_test.mk libreoffice-7.1.5~rc2/dbaccess/CppunitTest_dbaccess_firebird_test.mk --- libreoffice-7.1.4~rc2/dbaccess/CppunitTest_dbaccess_firebird_test.mk 2021-06-04 14:36:10.000000000 +0000 +++ libreoffice-7.1.5~rc2/dbaccess/CppunitTest_dbaccess_firebird_test.mk 2021-07-16 21:17:42.000000000 +0000 @@ -7,15 +7,15 @@ # file, You can obtain one at http://mozilla.org/MPL/2.0/. # -$(eval $(call gb_CppunitTest_CppunitTest,dbaccess_firebird)) +$(eval $(call gb_CppunitTest_CppunitTest,dbaccess_firebird_test)) -$(eval $(call gb_CppunitTest_use_external,dbaccess_firebird,boost_headers)) +$(eval $(call gb_CppunitTest_use_external,dbaccess_firebird_test,boost_headers)) -$(eval $(call gb_CppunitTest_add_exception_objects,dbaccess_firebird, \ +$(eval $(call gb_CppunitTest_add_exception_objects,dbaccess_firebird_test, \ dbaccess/qa/unit/firebird \ )) -$(eval $(call gb_CppunitTest_use_libraries,dbaccess_firebird, \ +$(eval $(call gb_CppunitTest_use_libraries,dbaccess_firebird_test, \ comphelper \ cppu \ dbaxml \ @@ -29,16 +29,16 @@ xo \ )) -$(eval $(call gb_CppunitTest_use_api,dbaccess_firebird,\ +$(eval $(call gb_CppunitTest_use_api,dbaccess_firebird_test,\ offapi \ oovbaapi \ udkapi \ )) -$(eval $(call gb_CppunitTest_use_ure,dbaccess_firebird)) -$(eval $(call gb_CppunitTest_use_vcl,dbaccess_firebird)) +$(eval $(call gb_CppunitTest_use_ure,dbaccess_firebird_test)) +$(eval $(call gb_CppunitTest_use_vcl,dbaccess_firebird_test)) -$(eval $(call gb_CppunitTest_use_components,dbaccess_firebird,\ +$(eval $(call gb_CppunitTest_use_components,dbaccess_firebird_test,\ basic/util/sb \ comphelper/util/comphelp \ configmgr/source/configmgr \ @@ -65,6 +65,6 @@ xmloff/util/xo \ )) -$(eval $(call gb_CppunitTest_use_configuration,dbaccess_firebird)) +$(eval $(call gb_CppunitTest_use_configuration,dbaccess_firebird_test)) # vim: set noet sw=4 ts=4: diff -Nru libreoffice-7.1.4~rc2/dbaccess/Module_dbaccess.mk libreoffice-7.1.5~rc2/dbaccess/Module_dbaccess.mk --- libreoffice-7.1.4~rc2/dbaccess/Module_dbaccess.mk 2021-06-04 14:36:10.000000000 +0000 +++ libreoffice-7.1.5~rc2/dbaccess/Module_dbaccess.mk 2021-07-16 21:17:42.000000000 +0000 @@ -42,12 +42,6 @@ $(if $(ENABLE_JAVA),CppunitTest_dbaccess_tdf126268) \ )) -# remove if we have a be file for this -ifeq ($(ENDIANNESS),little) -$(eval $(call gb_Module_add_check_targets,dbaccess,\ - CppunitTest_dbaccess_firebird_regression_test \ -)) -endif $(eval $(call gb_Module_add_check_targets,dbaccess,\ CppunitTest_dbaccess_firebird_test \ )) Binary files /tmp/tmppvlx4fzt/Lw4MBdqo4Z/libreoffice-7.1.4~rc2/dbaccess/qa/unit/data/firebird_empty_le.odb and /tmp/tmppvlx4fzt/j2Aoyt8Vlf/libreoffice-7.1.5~rc2/dbaccess/qa/unit/data/firebird_empty_le.odb differ Binary files /tmp/tmppvlx4fzt/Lw4MBdqo4Z/libreoffice-7.1.4~rc2/dbaccess/qa/unit/data/firebird_integer_le.odb and /tmp/tmppvlx4fzt/j2Aoyt8Vlf/libreoffice-7.1.5~rc2/dbaccess/qa/unit/data/firebird_integer_le.odb differ Binary files /tmp/tmppvlx4fzt/Lw4MBdqo4Z/libreoffice-7.1.4~rc2/dbaccess/qa/unit/data/firebird_integer_le_ods12.odb and /tmp/tmppvlx4fzt/j2Aoyt8Vlf/libreoffice-7.1.5~rc2/dbaccess/qa/unit/data/firebird_integer_le_ods12.odb differ diff -Nru libreoffice-7.1.4~rc2/dbaccess/qa/unit/firebird-regression.cxx libreoffice-7.1.5~rc2/dbaccess/qa/unit/firebird-regression.cxx --- libreoffice-7.1.4~rc2/dbaccess/qa/unit/firebird-regression.cxx 2021-06-04 14:36:10.000000000 +0000 +++ libreoffice-7.1.5~rc2/dbaccess/qa/unit/firebird-regression.cxx 1970-01-01 00:00:00.000000000 +0000 @@ -1,106 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/* - * This file is part of the LibreOffice project. - * - * This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. - */ - -#include "dbtest_base.cxx" - -#include -#include -#include -#include -#include -#include - -using namespace ::com::sun::star; -using namespace ::com::sun::star::sdb; -using namespace ::com::sun::star::sdbc; -using namespace ::com::sun::star::uno; - -class FirebirdTest - : public DBTestBase -{ -public: - void testEmptyDBConnection(); - void testIntegerDatabase(); - - CPPUNIT_TEST_SUITE(FirebirdTest); - CPPUNIT_TEST(testEmptyDBConnection); - CPPUNIT_TEST(testIntegerDatabase); - CPPUNIT_TEST_SUITE_END(); -}; - -/** - * Test the loading of an "empty" file, i.e. the embedded database has not yet - * been initialised (as occurs when a new .odb is created and opened by base). - */ -void FirebirdTest::testEmptyDBConnection() -{ -#ifdef OSL_BIGENDIAN - auto const tmp = createTempCopy("firebird_empty_be.odb"); -#else - auto const tmp = createTempCopy("firebird_empty_le.odb"); -#endif - uno::Reference< XOfficeDatabaseDocument > xDocument = - getDocumentForUrl(tmp.GetURL()); - - getConnectionForDocument(xDocument); - - closeDocument(uno::Reference(xDocument, uno::UNO_QUERY)); -} - -/** - * Test reading of integers from a known .odb to verify that the data - * can still be read on all systems. - */ -void FirebirdTest::testIntegerDatabase() -{ -#ifdef OSL_BIGENDIAN - uno::Reference< XOfficeDatabaseDocument > xDocument = - getDocumentForFileName("firebird_integer_be_ods12.odb"); -#else - uno::Reference< XOfficeDatabaseDocument > xDocument = - getDocumentForFileName("firebird_integer_le_ods12.odb"); -#endif - - uno::Reference< XConnection > xConnection = - getConnectionForDocument(xDocument); - - uno::Reference< XStatement > xStatement = xConnection->createStatement(); - CPPUNIT_ASSERT(xStatement.is()); - - uno::Reference< XResultSet > xResultSet = xStatement->executeQuery( - "SELECT * FROM TESTTABLE"); - CPPUNIT_ASSERT(xResultSet.is()); - CPPUNIT_ASSERT(xResultSet->next()); - - uno::Reference< XRow > xRow(xResultSet, UNO_QUERY); - CPPUNIT_ASSERT(xRow.is()); - uno::Reference< XColumnLocate > xColumnLocate(xRow, UNO_QUERY); - CPPUNIT_ASSERT(xColumnLocate.is()); - - CPPUNIT_ASSERT_EQUAL(sal_Int16(-30000), - xRow->getShort(xColumnLocate->findColumn("_SMALLINT"))); - CPPUNIT_ASSERT_EQUAL(sal_Int32(-2100000000), - xRow->getInt(xColumnLocate->findColumn("_INT"))); - CPPUNIT_ASSERT_EQUAL(SAL_CONST_INT64(-9000000000000000000), - xRow->getLong(xColumnLocate->findColumn("_BIGINT"))); - CPPUNIT_ASSERT_EQUAL(OUString("5"), - xRow->getString(xColumnLocate->findColumn("_CHAR"))); - CPPUNIT_ASSERT_EQUAL(OUString("5"), - xRow->getString(xColumnLocate->findColumn("_VARCHAR"))); - - CPPUNIT_ASSERT(!xResultSet->next()); // Should only be one row - - closeDocument(uno::Reference(xDocument, uno::UNO_QUERY)); -} - -CPPUNIT_TEST_SUITE_REGISTRATION(FirebirdTest); - -CPPUNIT_PLUGIN_IMPLEMENT(); - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff -Nru libreoffice-7.1.4~rc2/dbaccess/source/ui/browser/unodatbr.cxx libreoffice-7.1.5~rc2/dbaccess/source/ui/browser/unodatbr.cxx --- libreoffice-7.1.4~rc2/dbaccess/source/ui/browser/unodatbr.cxx 2021-06-04 14:36:10.000000000 +0000 +++ libreoffice-7.1.5~rc2/dbaccess/source/ui/browser/unodatbr.cxx 2021-07-16 21:17:42.000000000 +0000 @@ -295,7 +295,7 @@ m_pSplitter->SetPosSizePixel( ::Point(0,0), ::Size(nFrameWidth,0) ); m_pSplitter->SetBackground( Wallpaper( Application::GetSettings().GetStyleSettings().GetDialogColor() ) ); - m_pTreeView = VclPtr::Create(getBrowserView(), E_TABLE); + m_pTreeView = VclPtr::Create(getBrowserView()); weld::TreeView& rTreeView = m_pTreeView->GetWidget(); rTreeView.connect_expanding(LINK(this, SbaTableQueryBrowser, OnExpandEntry)); diff -Nru libreoffice-7.1.4~rc2/dbaccess/source/ui/control/dbtreelistbox.cxx libreoffice-7.1.5~rc2/dbaccess/source/ui/control/dbtreelistbox.cxx --- libreoffice-7.1.4~rc2/dbaccess/source/ui/control/dbtreelistbox.cxx 2021-06-04 14:36:10.000000000 +0000 +++ libreoffice-7.1.5~rc2/dbaccess/source/ui/control/dbtreelistbox.cxx 2021-07-16 21:17:42.000000000 +0000 @@ -53,9 +53,9 @@ using namespace ::com::sun::star::ui; using namespace ::com::sun::star::view; -InterimDBTreeListBox::InterimDBTreeListBox(vcl::Window* pParent, bool bSQLType) +InterimDBTreeListBox::InterimDBTreeListBox(vcl::Window* pParent) : InterimItemWindow(pParent, "dbaccess/ui/dbtreelist.ui", "DBTreeList") - , TreeListBox(m_xBuilder->weld_tree_view("treeview"), bSQLType) + , TreeListBox(m_xBuilder->weld_tree_view("treeview"), true) { InitControlBase(&GetWidget()); } diff -Nru libreoffice-7.1.4~rc2/dbaccess/source/ui/inc/dbtreelistbox.hxx libreoffice-7.1.5~rc2/dbaccess/source/ui/inc/dbtreelistbox.hxx --- libreoffice-7.1.4~rc2/dbaccess/source/ui/inc/dbtreelistbox.hxx 2021-06-04 14:36:10.000000000 +0000 +++ libreoffice-7.1.5~rc2/dbaccess/source/ui/inc/dbtreelistbox.hxx 2021-07-16 21:17:42.000000000 +0000 @@ -117,7 +117,7 @@ , public TreeListBox { public: - InterimDBTreeListBox(vcl::Window* pParent, bool bSQLType); + InterimDBTreeListBox(vcl::Window* pParent); virtual void dispose() override; virtual ~InterimDBTreeListBox() override; void show_container() { m_xContainer->show(); } diff -Nru libreoffice-7.1.4~rc2/dbaccess/uiconfig/dbapp/toolbar/formobjectbar.xml libreoffice-7.1.5~rc2/dbaccess/uiconfig/dbapp/toolbar/formobjectbar.xml --- libreoffice-7.1.4~rc2/dbaccess/uiconfig/dbapp/toolbar/formobjectbar.xml 2021-06-04 14:36:10.000000000 +0000 +++ libreoffice-7.1.5~rc2/dbaccess/uiconfig/dbapp/toolbar/formobjectbar.xml 2021-07-16 21:17:42.000000000 +0000 @@ -21,7 +21,7 @@ - + diff -Nru libreoffice-7.1.4~rc2/debian/changelog libreoffice-7.1.5~rc2/debian/changelog --- libreoffice-7.1.4~rc2/debian/changelog 2021-06-04 17:26:27.000000000 +0000 +++ libreoffice-7.1.5~rc2/debian/changelog 2021-07-18 18:52:33.000000000 +0000 @@ -1,9 +1,26 @@ -libreoffice (1:7.1.4~rc2-0ubuntu0.20.04.1~lo1) focal; urgency=medium +libreoffice (1:7.1.5~rc2-0ubuntu0.20.04.1~lo1) focal; urgency=medium * Backport from hirsute * Enable CoinMP support - -- Rico Tzschichholz Fri, 04 Jun 2021 19:26:27 +0200 + -- Rico Tzschichholz Sun, 18 Jul 2021 20:52:33 +0200 + +libreoffice (1:7.1.5~rc2-0ubuntu1) impish; urgency=medium + + * New upstream release candidate + * Bump yaru source to "2021-07-02" + * Force noopt (thus also build with --disable-optimized) on armhf and + build with default gcc (LP: #1931701) + + -- Rico Tzschichholz Sun, 18 Jul 2021 20:52:33 +0200 + +libreoffice (1:7.1.4-0ubuntu1) impish; urgency=medium + + * New upstream release + * Use gcc 8 on armhf to avoid autopkgtest failure with gcc 9 + (LP: #1931701) + + -- Rico Tzschichholz Thu, 17 Jun 2021 15:35:43 +0200 libreoffice (1:7.1.4~rc2-0ubuntu1) impish; urgency=medium diff -Nru libreoffice-7.1.4~rc2/debian/patches/libstdc++11.diff libreoffice-7.1.5~rc2/debian/patches/libstdc++11.diff --- libreoffice-7.1.4~rc2/debian/patches/libstdc++11.diff 2021-06-04 17:26:27.000000000 +0000 +++ libreoffice-7.1.5~rc2/debian/patches/libstdc++11.diff 1970-01-01 00:00:00.000000000 +0000 @@ -1,46 +0,0 @@ -From 95e26d3dce4f5a3b2d010d5ca47b4e450905a100 Mon Sep 17 00:00:00 2001 -From: Stephan Bergmann -Date: Tue, 18 May 2021 12:58:34 +0200 -Subject: tdf#142326: Adapt to "libstdc++: Implement LWG 1203 for rvalue - iostreams" - -...for libstdc++ 11.2, similar to 1f3dddd6f21d91c429190ae314dadeec409f35f4 -"Adapt to "libstdc++: Implement LWG 1203 for rvalue iostreams" for libstdc++ 12. -The libstdc++ change referenced there has been backported to the releases/gcc-11 -branch past the releases/gcc-11.1.0 tag (i.e., only towards libstdc++ 11.2) as - -"libstdc++: Implement LWG 1203 for rvalue iostreams". - -According to -, -, -and , the right __GLIBCXX__ value for -libstdc++ 11.1 should be 20210427, but at least -libstdc++-devel-11.1.1-1.fc34.x86_64 defines it as 20210428 while not including -the above "libstdc++: Implement LWG 1203 for rvalue iostreams" commit, so use -that value here. - -Change-Id: I4e2c6d6ad8156a83f5c4bc861e4a118271928a20 -Reviewed-on: https://gerrit.libreoffice.org/c/core/+/115738 -Reviewed-by: Stephan Bergmann -Tested-by: Jenkins ---- - include/sal/log.hxx | 4 +++- - 1 file changed, 3 insertions(+), 1 deletion(-) - -diff --git a/include/sal/log.hxx b/include/sal/log.hxx -index f92f36e2ff33..c64ea5079c81 100644 ---- a/include/sal/log.hxx -+++ b/include/sal/log.hxx -@@ -186,7 +186,10 @@ inline char const * unwrapStream(SAL_UNUSED_PARAMETER StreamIgnore const &) { - - @since LibreOffice 3.5 - */ --#if defined _LIBCPP_VERSION || (defined _MSC_VER && _MSC_VER >= 1915) -+#if defined _LIBCPP_VERSION \ -+ || (defined _GLIBCXX_RELEASE \ -+ && (_GLIBCXX_RELEASE >= 12 || (_GLIBCXX_RELEASE == 11 && __GLIBCXX__ > 20210428))) \ -+ || (defined _MSC_VER && _MSC_VER >= 1915) - #define SAL_STREAM(stream) \ - (::std::ostringstream() << stream).str() - #else diff -Nru libreoffice-7.1.4~rc2/debian/patches/series libreoffice-7.1.5~rc2/debian/patches/series --- libreoffice-7.1.4~rc2/debian/patches/series 2021-06-04 17:26:27.000000000 +0000 +++ libreoffice-7.1.5~rc2/debian/patches/series 2021-07-18 18:52:33.000000000 +0000 @@ -44,7 +44,6 @@ pdfium-m68k.diff pdfium-use-system-libopenjpeg.diff apparmor-updates.diff -libstdc++11.diff apparmor-gnupg.diff fix-internal-neon-build.diff disable-failing-arm64-tests.diff diff -Nru libreoffice-7.1.4~rc2/debian/rules libreoffice-7.1.5~rc2/debian/rules --- libreoffice-7.1.4~rc2/debian/rules 2021-06-04 17:26:27.000000000 +0000 +++ libreoffice-7.1.5~rc2/debian/rules 2021-07-18 18:52:33.000000000 +0000 @@ -72,18 +72,18 @@ GIT_BASEURL:=git://anongit.freedesktop.org/libreoffice # bootstraping this from the source tree is breaking get-orig-source #lo_sources_ver=$(shell grep AC_INIT $(SOURCE_TREE)/configure.ac | grep documentfoundation | cut -d, -f2 | sed -e 's,\[,,' -e 's,\],,') -lo_sources_ver=7.1.4.2 +lo_sources_ver=7.1.5.2 # NOT in proper libreoffice-3-6 branch # use ./g checkout -b tag-libreoffice-3.6.2.1 libreoffice-3.6.2.1 GIT_TAG=libreoffice-$(lo_sources_ver) -GIT_BRANCH=libreoffice-7-1-4 +GIT_BRANCH=libreoffice-7-1-5 endif ifeq "$(USE_SOURCE_TARBALLS)" "y" lo_sources_ver=$(shell cat $(CURDIR)/sources.ver | cut -d= -f2) endif ifeq "$(USE_GIT_TARBALLS)" "y" -YARU_GIT_TAG=2021-03-14 +YARU_GIT_TAG=2021-07-02 endif ######### @@ -662,6 +662,18 @@ endif endif BUILD_DEPS += , gcc (>= 4:7), g++ (>= 4:7) + # Use -O0 on armhf to avoid build/test failure with gcc 9/10 + # https://bugs.launchpad.net/ubuntu/+bug/1891623 + # https://bugs.launchpad.net/ubuntu/+bug/1931701 + ifneq (,$(filter $(DEB_HOST_ARCH),armhf)) + ifeq ($(ENABLE_JAVA),y) + ifneq (nocheck,$(findstring nocheck,$(DEB_BUILD_OPTIONS))) + ifneq (noopt,$(findstring noopt,$(DEB_BUILD_OPTIONS))) + DEB_BUILD_OPTIONS += noopt + endif + endif + endif + endif # skia build picks up clang if present (for performance reasons, # at least on Windows...). See the thread starting at # https://lists.freedesktop.org/archives/libreoffice/2020-April/084929.html diff -Nru libreoffice-7.1.4~rc2/download.lst libreoffice-7.1.5~rc2/download.lst --- libreoffice-7.1.4~rc2/download.lst 2021-06-04 14:36:10.000000000 +0000 +++ libreoffice-7.1.5~rc2/download.lst 2021-07-16 21:17:42.000000000 +0000 @@ -52,8 +52,8 @@ export ETONYEK_SHA256SUM := e61677e8799ce6e55b25afc11aa5339113f6a49cff031f336e32fa58635b1a4a export ETONYEK_VERSION_MICRO := 9 export ETONYEK_TARBALL := libetonyek-0.1.$(ETONYEK_VERSION_MICRO).tar.xz -export EXPAT_SHA256SUM := 9a130948b05a82da34e4171d5f5ae5d321d9630277af02c8fa51e431f6475102 -export EXPAT_TARBALL := expat-2.2.8.tar.bz2 +export EXPAT_SHA256SUM := 2f9b6a580b94577b150a7d5617ad4643a4301a6616ff459307df3e225bcfbf40 +export EXPAT_TARBALL := expat-2.4.1.tar.bz2 export FIREBIRD_SHA256SUM := 6994be3555e23226630c587444be19d309b25b0fcf1f87df3b4e3f88943e5860 export FIREBIRD_TARBALL := Firebird-3.0.0.32483-0.tar.bz2 export FONTCONFIG_SHA256SUM := 19e5b1bc9d013a52063a44e1307629711f0bfef35b9aca16f9c793971e2eb1e5 @@ -168,8 +168,8 @@ export LIBTOMMATH_TARBALL := ltm-1.0.zip export XMLSEC_SHA256SUM := 2d84360b03042178def1d9ff538acacaed2b3a27411db7b2874f1612ed71abc8 export XMLSEC_TARBALL := xmlsec1-1.2.30.tar.gz -export LIBXML_SHA256SUM := aafee193ffb8fe0c82d4afef6ef91972cbaf5feea100edc2f262750611b4be1f -export LIBXML_VERSION_MICRO := 10 +export LIBXML_SHA256SUM := c8d6681e38c56f172892c85ddc0852e1fd4b53b4209e7f4ebf17f7e2eae71d92 +export LIBXML_VERSION_MICRO := 12 export LIBXML_TARBALL := libxml2-2.9.$(LIBXML_VERSION_MICRO).tar.gz export LIBXSLT_SHA256SUM := 98b1bd46d6792925ad2dfe9a87452ea2adebf69dcb9919ffd55bf926a7f93f7f export LIBXSLT_VERSION_MICRO := 34 diff -Nru libreoffice-7.1.4~rc2/editeng/source/items/textitem.cxx libreoffice-7.1.5~rc2/editeng/source/items/textitem.cxx --- libreoffice-7.1.4~rc2/editeng/source/items/textitem.cxx 2021-06-04 14:36:10.000000000 +0000 +++ libreoffice-7.1.5~rc2/editeng/source/items/textitem.cxx 2021-07-16 21:17:42.000000000 +0000 @@ -1313,26 +1313,32 @@ // class SvxBackgroundColorItem ----------------------------------------- SvxBackgroundColorItem::SvxBackgroundColorItem( const sal_uInt16 nId ) : - SvxColorItem( nId ) + SfxPoolItem( nId ), + mColor( COL_WHITE ) { } +SvxBackgroundColorItem::SvxBackgroundColorItem( const Color& rCol, const sal_uInt16 nId ) : + SfxPoolItem( nId ), + mColor( rCol ) +{ +} -SvxBackgroundColorItem::SvxBackgroundColorItem( const Color& rCol, - const sal_uInt16 nId ) : - SvxColorItem( rCol, nId ) +SvxBackgroundColorItem::~SvxBackgroundColorItem() { } -SvxBackgroundColorItem* SvxBackgroundColorItem::Clone( SfxItemPool * ) const +bool SvxBackgroundColorItem::operator==( const SfxPoolItem& rAttr ) const { - return new SvxBackgroundColorItem(*this); + assert(SfxPoolItem::operator==(rAttr)); + + return mColor == static_cast( rAttr ).mColor; } bool SvxBackgroundColorItem::QueryValue( uno::Any& rVal, sal_uInt8 nMemberId ) const { nMemberId &= ~CONVERT_TWIPS; - Color aColor = SvxColorItem::GetValue(); + Color aColor = SvxBackgroundColorItem::GetValue(); switch( nMemberId ) { @@ -1354,27 +1360,67 @@ { nMemberId &= ~CONVERT_TWIPS; sal_Int32 nColor = 0; - Color aColor = SvxColorItem::GetValue(); + Color aColor = SvxBackgroundColorItem::GetValue(); switch( nMemberId ) { case MID_GRAPHIC_TRANSPARENT: { aColor.SetTransparency( Any2Bool( rVal ) ? 0xff : 0 ); - SvxColorItem::SetValue( aColor ); + SvxBackgroundColorItem::SetValue( aColor ); break; } default: { if(!(rVal >>= nColor)) return false; - SvxColorItem::SetValue( Color(nColor) ); + SvxBackgroundColorItem::SetValue( Color(nColor) ); break; } } return true; } +SvxBackgroundColorItem* SvxBackgroundColorItem::Clone( SfxItemPool * ) const +{ + return new SvxBackgroundColorItem(*this); +} + + +bool SvxBackgroundColorItem::GetPresentation +( + SfxItemPresentation /*ePres*/, + MapUnit /*eCoreUnit*/, + MapUnit /*ePresUnit*/, + OUString& rText, const IntlWrapper& /*rIntl*/ +) const +{ + rText = ::GetColorString( mColor ); + return true; +} + +void SvxBackgroundColorItem::dumpAsXml(xmlTextWriterPtr pWriter) const +{ + (void)xmlTextWriterStartElement(pWriter, BAD_CAST("SvxBackgroundColorItem")); + (void)xmlTextWriterWriteAttribute(pWriter, BAD_CAST("whichId"), BAD_CAST(OString::number(Which()).getStr())); + + std::stringstream ss; + ss << mColor; + (void)xmlTextWriterWriteAttribute(pWriter, BAD_CAST("value"), BAD_CAST(ss.str().c_str())); + + OUString aStr; + IntlWrapper aIntlWrapper(SvtSysLocale().GetUILanguageTag()); + GetPresentation( SfxItemPresentation::Complete, MapUnit::Map100thMM, MapUnit::Map100thMM, aStr, aIntlWrapper); + (void)xmlTextWriterWriteAttribute(pWriter, BAD_CAST("presentation"), BAD_CAST(OUStringToOString(aStr, RTL_TEXTENCODING_UTF8).getStr())); + (void)xmlTextWriterEndElement(pWriter); +} + +void SvxBackgroundColorItem::SetValue( const Color& rNewCol ) +{ + mColor = rNewCol; +} + + // class SvxColorItem ---------------------------------------------------- SvxColorItem::SvxColorItem( const sal_uInt16 nId ) : SfxPoolItem( nId ), diff -Nru libreoffice-7.1.4~rc2/editeng/source/uno/unotext.cxx libreoffice-7.1.5~rc2/editeng/source/uno/unotext.cxx --- libreoffice-7.1.4~rc2/editeng/source/uno/unotext.cxx 2021-06-04 14:36:10.000000000 +0000 +++ libreoffice-7.1.5~rc2/editeng/source/uno/unotext.cxx 2021-07-16 21:17:42.000000000 +0000 @@ -1732,13 +1732,6 @@ if( !xRange.is() ) return; - if (GetEditSource()) - { - ESelection aSelection; - ::GetSelection( aSelection, GetEditSource()->GetTextForwarder() ); - SetSelection( aSelection ); - } - SvxUnoTextRangeBase* pRange = comphelper::getUnoTunnelImplementation( xRange ); if(!pRange) return; @@ -1754,6 +1747,13 @@ pRange->setString( aString ); pRange->CollapseToEnd(); + + if (GetEditSource()) + { + ESelection aSelection; + ::GetSelection( aSelection, GetEditSource()->GetTextForwarder() ); + SetSelection( aSelection ); + } } void SAL_CALL SvxUnoTextBase::insertControlCharacter( const uno::Reference< text::XTextRange >& xRange, sal_Int16 nControlCharacter, sal_Bool bAbsorb ) Binary files /tmp/tmppvlx4fzt/Lw4MBdqo4Z/libreoffice-7.1.4~rc2/emfio/qa/cppunit/emf/data/TestArcInsideWronglyDefinedRectangle.emf and /tmp/tmppvlx4fzt/j2Aoyt8Vlf/libreoffice-7.1.5~rc2/emfio/qa/cppunit/emf/data/TestArcInsideWronglyDefinedRectangle.emf differ diff -Nru libreoffice-7.1.4~rc2/emfio/qa/cppunit/emf/EmfImportTest.cxx libreoffice-7.1.5~rc2/emfio/qa/cppunit/emf/EmfImportTest.cxx --- libreoffice-7.1.4~rc2/emfio/qa/cppunit/emf/EmfImportTest.cxx 2021-06-04 14:36:10.000000000 +0000 +++ libreoffice-7.1.5~rc2/emfio/qa/cppunit/emf/EmfImportTest.cxx 2021-07-16 21:17:42.000000000 +0000 @@ -51,12 +51,14 @@ void TestTextMapMode(); void TestEnglishMapMode(); void TestRectangleWithModifyWorldTransform(); + void TestArcInsideWronglyDefinedRectangle(); void TestChordWithModifyWorldTransform(); void TestEllipseWithSelectClipPath(); void TestEllipseXformIntersectClipRect(); void TestDrawPolyLine16WithClip(); void TestFillRegion(); - void TestPalette(); + void TestPaletteWMF(); + void TestRoundrectWMF(); void TestPolylinetoCloseStroke(); void TestPolyLineWidth(); void TestRoundRect(); @@ -79,12 +81,14 @@ CPPUNIT_TEST(TestTextMapMode); CPPUNIT_TEST(TestEnglishMapMode); CPPUNIT_TEST(TestRectangleWithModifyWorldTransform); + CPPUNIT_TEST(TestArcInsideWronglyDefinedRectangle); CPPUNIT_TEST(TestChordWithModifyWorldTransform); CPPUNIT_TEST(TestEllipseWithSelectClipPath); CPPUNIT_TEST(TestEllipseXformIntersectClipRect); CPPUNIT_TEST(TestDrawPolyLine16WithClip); CPPUNIT_TEST(TestFillRegion); - CPPUNIT_TEST(TestPalette); + CPPUNIT_TEST(TestPaletteWMF); + CPPUNIT_TEST(TestRoundrectWMF); CPPUNIT_TEST(TestPolylinetoCloseStroke); CPPUNIT_TEST(TestPolyLineWidth); CPPUNIT_TEST(TestRoundRect); @@ -358,6 +362,19 @@ assertXPathContent(pDocument, "/primitive2D/metafile/transform/polygonstroke/polygon", "590,448 436,541 382,598 361,643 385,710 430,731 654,725 919,628"); } +void Test::TestArcInsideWronglyDefinedRectangle() +{ + // tdf#142268 EMF import test with records: ARC + Primitive2DSequence aSequence = parseEmf(u"/emfio/qa/cppunit/emf/data/TestArcInsideWronglyDefinedRectangle.emf"); + CPPUNIT_ASSERT_EQUAL(1, static_cast(aSequence.getLength())); + drawinglayer::Primitive2dXmlDump dumper; + xmlDocUniquePtr pDocument = dumper.dumpAndParse(comphelper::sequenceToContainer(aSequence)); + CPPUNIT_ASSERT (pDocument); + + assertXPath(pDocument, "/primitive2D/metafile/transform/polygonhairline", "color", "#000000"); + assertXPathContent(pDocument, "/primitive2D/metafile/transform/polygonhairline/polygon", "1630,1450 1650,1470 1850,1540 1990,1540 2040,1530 2190,1470 2270,1410 2330,1350 2390,1260 2430,1160 2430,1140 2440,1090 2450,1060 2450,950 2440,930 2430,880 2430,850 2420,820 2360,710 2310,650 2250,590 2110,510 1980,480 1870,480 1770,500 1670,540 1650,560 1630,570 1600,580 1540,640 1460,740 1450,770"); +} + void Test::TestEllipseWithSelectClipPath() { // EMF import test with records: RECTANGLE, BEGINPATH, ENDPATH, ELLIPSE @@ -462,8 +479,7 @@ "color", "#000000"); } - -void Test::TestPalette() +void Test::TestPaletteWMF() { // WMF import with records: CREATEPALETTE, SELECTOBJECT, CREATEPENINDIRECT, CREATEBRUSHINDIRECT, ELLIPSE. Primitive2DSequence aSequence = parseEmf(u"/emfio/qa/cppunit/wmf/data/TestPalette.wmf"); @@ -499,6 +515,26 @@ "width", "132"); } +void Test::TestRoundrectWMF() +{ + // WMF records: ROUNDRECT, SETBKCOLOR, CREATEBRUSHINDIRECT + Primitive2DSequence aSequence = parseEmf(u"/emfio/qa/cppunit/wmf/data/TestRoundRect.wmf"); + CPPUNIT_ASSERT_EQUAL(1, static_cast(aSequence.getLength())); + drawinglayer::Primitive2dXmlDump dumper; + xmlDocUniquePtr pDocument = dumper.dumpAndParse(comphelper::sequenceToContainer(aSequence)); + CPPUNIT_ASSERT (pDocument); + + assertXPath(pDocument, "/primitive2D/metafile/transform/polypolygoncolor", + "color", "#ffffff"); + + assertXPathContent(pDocument, "/primitive2D/metafile/transform/polygonstroke/polygon", + "2865,661 2865,653 2865,645 2865,637 2865,621 2865,613 2865,605 2857,597 2857,589 2857,582 2857,566 2857,558 2849,550 2849,542 2849,534 2841,526 2841,518 2841,510 2833,502 2833,494 2825,486 2825,478 2817,470 2817,462 2809,454 2809,446 2801,438 2801,430 2793,422 2793,422 2785,414 2777,406 2777,398 2769,390 2761,390 2761,382 2753,374 2745,374 2737,366 2737,366 2729,358 2721,350 2714,350 2714,343 2706,343 2698,343 2690,335 2682,335 2682,335 2674,327 2666,327 2658,327 2650,327 2642,319 2634,319 2634,319 2626,319 2618,319 2610,319 573,319 565,319 557,319 549,319 549,319 541,319 533,327 525,327 517,327 509,327 501,335 501,335 493,335 485,343 477,343 469,343 469,350 462,350 454,358 446,366 446,366 438,374 430,374 422,382 422,390 414,390 406,398 406,406 398,414 390,422 390,422 382,430 382,438 374,446 374,454 366,462 366,470 358,478 358,486 350,494 350,502 342,510 342,518 342,526 334,534 334,542 334,550 326,558 326,566 326,582 326,589 326,597 318,605 318,613 318,621 318,637 318,645 318,653 318,661 318,1673 318,1681 318,1689 318,1697 318,1713 318,1721 318,1729 326,1737 326,1745 326,1752 326,1768 326,1776 334,1784 334,1792 334,1800 342,1808 342,1816 342,1824 350,1832 350,1840 358,1848 358,1856 366,1864 366,1872 374,1880 374,1888 382,1896 382,1904 390,1912 390,1912 398,1920 406,1928 406,1936 414,1944 422,1944 422,1952 430,1960 438,1960 446,1968 446,1968 454,1976 462,1984 469,1984 469,1991 477,1991 485,1991 493,1999 501,1999 501,1999 509,2007 517,2007 525,2007 533,2007 541,2015 549,2015 549,2015 557,2015 565,2015 573,2015 2610,2015 2618,2015 2626,2015 2634,2015 2634,2015 2642,2015 2650,2007 2658,2007 2666,2007 2674,2007 2682,1999 2682,1999 2690,1999 2698,1991 2706,1991 2714,1991 2714,1984 2721,1984 2729,1976 2737,1968 2737,1968 2745,1960 2753,1960 2761,1952 2761,1944 2769,1944 2777,1936 2777,1928 2785,1920 2793,1912 2793,1912 2801,1904 2801,1896 2809,1888 2809,1880 2817,1872 2817,1864 2825,1856 2825,1848 2833,1840 2833,1832 2841,1824 2841,1816 2841,1808 2849,1800 2849,1792 2849,1784 2857,1776 2857,1768 2857,1752 2857,1745 2857,1737 2865,1729 2865,1721 2865,1713 2865,1697 2865,1689 2865,1681 2865,1673"); + assertXPath(pDocument, "/primitive2D/metafile/transform/polygonstroke/line", + "color", "#000000"); + assertXPath(pDocument, "/primitive2D/metafile/transform/polygonstroke/line", + "width", "143"); +} + void Test::TestPolyLineWidth() { // EMF import with records: CREATEPEN, ROUNDRECT. Binary files /tmp/tmppvlx4fzt/Lw4MBdqo4Z/libreoffice-7.1.4~rc2/emfio/qa/cppunit/wmf/data/TestRoundRect.wmf and /tmp/tmppvlx4fzt/j2Aoyt8Vlf/libreoffice-7.1.5~rc2/emfio/qa/cppunit/wmf/data/TestRoundRect.wmf differ diff -Nru libreoffice-7.1.4~rc2/emfio/source/reader/emfreader.cxx libreoffice-7.1.5~rc2/emfio/source/reader/emfreader.cxx --- libreoffice-7.1.4~rc2/emfio/source/reader/emfreader.cxx 2021-06-04 14:36:10.000000000 +0000 +++ libreoffice-7.1.5~rc2/emfio/source/reader/emfreader.cxx 2021-07-16 21:17:42.000000000 +0000 @@ -16,7 +16,8 @@ * except in compliance with the License. You may obtain a copy of * the License at http://www.apache.org/licenses/LICENSE-2.0 . */ - +#include +#include #include #include #include @@ -327,7 +328,7 @@ return rInStream; } -bool ImplReadRegion( tools::PolyPolygon& rPolyPoly, SvStream& rStream, sal_uInt32 nLen ) +bool ImplReadRegion( basegfx::B2DPolyPolygon& rPolyPoly, SvStream& rStream, sal_uInt32 nLen ) { if (nLen < 32) // 32 bytes - Size of RegionDataHeader return false; @@ -348,7 +349,7 @@ if (!rStream.good() || nCountRects == 0 || nType != RDH_RECTANGLES) return false; - SAL_INFO("emfio", "\t\tLeft: " << nLeft << ", top: " << nTop << ", right: " << nRight << ", bottom: " << nBottom); + SAL_INFO("emfio", "\t\tBounds Left: " << nLeft << ", top: " << nTop << ", right: " << nRight << ", bottom: " << nBottom); nLen -= 32; @@ -364,11 +365,12 @@ rStream.ReadInt32(nTop); rStream.ReadInt32(nRight); rStream.ReadInt32(nBottom); - - SAL_INFO("emfio", "\t\tLeft: " << nLeft << ", top: " << nTop << ", right: " << nRight << ", bottom: " << nBottom); - tools::PolyPolygon aPolyPolyOr1(tools::Polygon(tools::Rectangle(nLeft, nTop, nRight, nBottom))); - rPolyPoly.GetUnion(aPolyPolyOr1, rPolyPoly); + rPolyPoly.append( basegfx::utils::createPolygonFromRect( ::basegfx::B2DRectangle( nLeft, nTop, nRight, nBottom ) ) ); + SAL_INFO("emfio", "\t\t" << i << " Left: " << nLeft << ", top: " << nTop << ", right: " << nRight << ", bottom: " << nBottom); } + rPolyPoly = basegfx::utils::solveCrossovers(rPolyPoly); + rPolyPoly = basegfx::utils::stripNeutralPolygons(rPolyPoly); + rPolyPoly = basegfx::utils::stripDispensablePolygons(rPolyPoly); return true; } @@ -1453,10 +1455,11 @@ } else { - tools::PolyPolygon aPolyPoly; + basegfx::B2DPolyPolygon aPolyPoly; if (cbRgnData) ImplReadRegion(aPolyPoly, *mpInputStream, nRemainingRecSize); - SetClipPath(aPolyPoly, nClippingMode, false); + const tools::PolyPolygon aPolyPolygon(aPolyPoly); + SetClipPath(aPolyPolygon, nClippingMode, false); } } } @@ -1934,7 +1937,7 @@ else { sal_uInt32 nRgnDataSize; - tools::PolyPolygon aPolyPoly; + basegfx::B2DPolyPolygon aPolyPoly; mpInputStream->SeekRel(16); // RectL bounds mpInputStream->ReadUInt32( nRgnDataSize ).ReadUInt32( nIndex ); nRemainingRecSize -= 24; @@ -1943,7 +1946,8 @@ { Push(); SelectObject( nIndex ); - DrawPolyPolygon( aPolyPoly ); + tools::PolyPolygon aPolyPolygon(aPolyPoly); + DrawPolyPolygon( aPolyPolygon ); Pop(); } } @@ -1958,13 +1962,16 @@ else { sal_uInt32 nRgnDataSize; - tools::PolyPolygon aPolyPoly; + basegfx::B2DPolyPolygon aPolyPoly; mpInputStream->SeekRel(16); // Skipping RectL bounds mpInputStream->ReadUInt32( nRgnDataSize ); nRemainingRecSize -= 20; if (ImplReadRegion(aPolyPoly, *mpInputStream, nRemainingRecSize)) - DrawPolyPolygon( aPolyPoly ); + { + tools::PolyPolygon aPolyPolygon(aPolyPoly); + DrawPolyPolygon( aPolyPolygon ); + } } } break; diff -Nru libreoffice-7.1.4~rc2/emfio/source/reader/mtftools.cxx libreoffice-7.1.5~rc2/emfio/source/reader/mtftools.cxx --- libreoffice-7.1.4~rc2/emfio/source/reader/mtftools.cxx 2021-06-04 14:36:10.000000000 +0000 +++ libreoffice-7.1.5~rc2/emfio/source/reader/mtftools.cxx 2021-07-16 21:17:42.000000000 +0000 @@ -1420,7 +1420,6 @@ if ( maLineStyle.aLineInfo.GetWidth() || ( maLineStyle.aLineInfo.GetStyle() == LineStyle::Dash ) ) { tools::Polygon aRoundRectPoly( rRect, rSize.Width(), rSize.Height() ); - aRoundRectPoly.Optimize( PolyOptimizeFlags::EDGES ); mpGDIMetaFile->AddAction( new MetaPolyLineAction( ImplMap( aRoundRectPoly ), maLineStyle.aLineInfo ) ); } } diff -Nru libreoffice-7.1.4~rc2/external/expat/expat-winapi.patch libreoffice-7.1.5~rc2/external/expat/expat-winapi.patch --- libreoffice-7.1.4~rc2/external/expat/expat-winapi.patch 2021-06-04 14:36:10.000000000 +0000 +++ libreoffice-7.1.5~rc2/external/expat/expat-winapi.patch 2021-07-16 21:17:42.000000000 +0000 @@ -11,3 +11,17 @@ # endif #endif /* not defined XML_STATIC */ +--- misc/expat-2.1.0/lib/xmlparse.c 2021-05-23 16:56:25.000000000 +0100 ++++ misc/build/expat-2.1.0/lib/xmlparse.c 2021-05-25 12:42:11.997173600 +0100 +@@ -92,6 +92,11 @@ + + #include + ++#ifdef _WIN32 ++# undef HAVE_GETRANDOM ++# undef HAVE_SYSCALL_GETRANDOM ++#endif ++ + #include "ascii.h" + #include "expat.h" + #include "siphash.h" diff -Nru libreoffice-7.1.4~rc2/external/expat/ubsan.patch.0 libreoffice-7.1.5~rc2/external/expat/ubsan.patch.0 --- libreoffice-7.1.4~rc2/external/expat/ubsan.patch.0 2021-06-04 14:36:10.000000000 +0000 +++ libreoffice-7.1.5~rc2/external/expat/ubsan.patch.0 1970-01-01 00:00:00.000000000 +0000 @@ -1,11 +0,0 @@ ---- lib/xmlparse.c -+++ lib/xmlparse.c -@@ -6485,7 +6485,7 @@ - static void FASTCALL - hashTableIterInit(HASH_TABLE_ITER *iter, const HASH_TABLE *table) { - iter->p = table->v; -- iter->end = iter->p + table->size; -+ iter->end = table->size == 0 ? iter->p : iter->p + table->size; - } - - static NAMED *FASTCALL diff -Nru libreoffice-7.1.4~rc2/external/expat/UnpackedTarball_expat.mk libreoffice-7.1.5~rc2/external/expat/UnpackedTarball_expat.mk --- libreoffice-7.1.4~rc2/external/expat/UnpackedTarball_expat.mk 2021-06-04 14:36:10.000000000 +0000 +++ libreoffice-7.1.5~rc2/external/expat/UnpackedTarball_expat.mk 2021-07-16 21:17:42.000000000 +0000 @@ -15,7 +15,6 @@ $(eval $(call gb_UnpackedTarball_add_patches,expat,\ external/expat/expat-winapi.patch \ - external/expat/ubsan.patch.0 \ )) # This is a bit hackish. diff -Nru libreoffice-7.1.4~rc2/external/libxml2/libxml2-config.patch.1 libreoffice-7.1.5~rc2/external/libxml2/libxml2-config.patch.1 --- libreoffice-7.1.4~rc2/external/libxml2/libxml2-config.patch.1 2021-06-04 14:36:10.000000000 +0000 +++ libreoffice-7.1.5~rc2/external/libxml2/libxml2-config.patch.1 2021-07-16 21:17:42.000000000 +0000 @@ -18,9 +18,9 @@ +exec_prefix=${WORKDIR}/UnpackedTarball/libxml2 +includedir=${WORKDIR}/UnpackedTarball/libxml2/include +libdir=${WORKDIR}/UnpackedTarball/libxml2/.libs + cflags= + libs= - usage() - { @@ -67,7 +72,8 @@ ;; diff -Nru libreoffice-7.1.4~rc2/external/libxml2/libxml2-global-symbols.patch libreoffice-7.1.5~rc2/external/libxml2/libxml2-global-symbols.patch --- libreoffice-7.1.4~rc2/external/libxml2/libxml2-global-symbols.patch 2021-06-04 14:36:10.000000000 +0000 +++ libreoffice-7.1.5~rc2/external/libxml2/libxml2-global-symbols.patch 2021-07-16 21:17:42.000000000 +0000 @@ -14,8 +14,8 @@ LIBXML2_2.6.32 { @@ -2231,3 +2231,43 @@ - xmlHashDefaultDeallocator; - } LIBXML2_2.9.1; + xmlPopOutputCallbacks; + } LIBXML2_2.9.8; +# HACK: export global variable accessor functions (globals.h) +LIBXML2_GLOBAL_VARIABLES { diff -Nru libreoffice-7.1.4~rc2/external/libxml2/ubsan.patch.0 libreoffice-7.1.5~rc2/external/libxml2/ubsan.patch.0 --- libreoffice-7.1.4~rc2/external/libxml2/ubsan.patch.0 2021-06-04 14:36:10.000000000 +0000 +++ libreoffice-7.1.5~rc2/external/libxml2/ubsan.patch.0 1970-01-01 00:00:00.000000000 +0000 @@ -1,11 +0,0 @@ ---- xpath.c -+++ xpath.c -@@ -14529,7 +14529,7 @@ - } - - stream = xmlPatterncompile(str, dict, XML_PATTERN_XPATH, -- &namespaces[0]); -+ namespaces); // i.e., &namespaces[0] if namespaces != NULL - if (namespaces != NULL) { - xmlFree((xmlChar **)namespaces); - } diff -Nru libreoffice-7.1.4~rc2/external/libxml2/UnpackedTarball_libxml2.mk libreoffice-7.1.5~rc2/external/libxml2/UnpackedTarball_libxml2.mk --- libreoffice-7.1.4~rc2/external/libxml2/UnpackedTarball_libxml2.mk 2021-06-04 14:36:10.000000000 +0000 +++ libreoffice-7.1.5~rc2/external/libxml2/UnpackedTarball_libxml2.mk 2021-07-16 21:17:42.000000000 +0000 @@ -21,7 +21,6 @@ $(if $(gb_Module_CURRENTMODULE_SYMBOLS_ENABLED), \ external/libxml2/libxml2-icu-sym.patch.0, \ external/libxml2/libxml2-icu.patch.0) \ - external/libxml2/ubsan.patch.0 \ )) # vim: set noet sw=4 ts=4: diff -Nru libreoffice-7.1.4~rc2/extras/CustomTarget_tpldraw.mk libreoffice-7.1.5~rc2/extras/CustomTarget_tpldraw.mk --- libreoffice-7.1.4~rc2/extras/CustomTarget_tpldraw.mk 2021-06-04 14:36:10.000000000 +0000 +++ libreoffice-7.1.5~rc2/extras/CustomTarget_tpldraw.mk 2021-07-16 21:17:42.000000000 +0000 @@ -25,7 +25,7 @@ $(call gb_CustomTarget_get_target,extras/source/templates/draw) : \ - $(foreach atexts,$(extras_TEMPLATES_DRAW),$(call gb_CustomTarget_get_workdir,extras/source/templates/draw)/$(atexts).ott) + $(foreach atexts,$(extras_TEMPLATES_DRAW),$(call gb_CustomTarget_get_workdir,extras/source/templates/draw)/$(atexts).otg) $(call gb_CustomTarget_get_workdir,extras/source/templates/draw)/%/mimetype : $(SRCDIR)/extras/source/templates/draw/%/mimetype $(call gb_Output_announce,templates/draw/$*/mimetype,$(true),CPY,1) @@ -70,15 +70,15 @@ $(call gb_ExternalExecutable_get_command,xsltproc) --nonet -o $@ $(SRCDIR)/extras/util/compact.xsl $< $(call gb_Trace_EndRange,templates/draw/$*.xml,XSL) -$(call gb_CustomTarget_get_workdir,extras/source/templates/draw)/%.ott : - $(call gb_Output_announce,templates/draw/$*.ott,$(true),ZIP,2) - $(call gb_Trace_StartRange,templates/draw/$*.ott,ZIP) +$(call gb_CustomTarget_get_workdir,extras/source/templates/draw)/%.otg : + $(call gb_Output_announce,templates/draw/$*.otg,$(true),ZIP,2) + $(call gb_Trace_StartRange,templates/draw/$*.otg,ZIP) $(call gb_Helper_abbreviate_dirs,\ cd $(EXTRAS_DRAW_DIR) && \ zip -q0X --filesync --must-match $@ $(EXTRAS_DRAW_MIMEFILES_FILTER) && \ zip -qrX --must-match $@ $(EXTRAS_DRAW_XMLFILES_FILTER) \ ) - $(call gb_Trace_EndRange,templates/draw/$*.ott,ZIP) + $(call gb_Trace_EndRange,templates/draw/$*.otg,ZIP) define extras_Tpldraw_make_file_deps $(call gb_CustomTarget_get_workdir,$(1))/$(2) : $(SRCDIR)/$(1)/$(2) \ @@ -105,7 +105,7 @@ )) $(eval $(foreach atexts,$(extras_TEMPLATES_DRAW),\ - $(call extras_Tpldraw_make_zip_deps,extras/source/templates/draw,$(atexts).ott,$(atexts)) \ + $(call extras_Tpldraw_make_zip_deps,extras/source/templates/draw,$(atexts).otg,$(atexts)) \ )) # vim: set noet sw=4 ts=4: diff -Nru libreoffice-7.1.4~rc2/extras/Package_tpldraw.mk libreoffice-7.1.5~rc2/extras/Package_tpldraw.mk --- libreoffice-7.1.4~rc2/extras/Package_tpldraw.mk 2021-06-04 14:36:10.000000000 +0000 +++ libreoffice-7.1.5~rc2/extras/Package_tpldraw.mk 2021-07-16 21:17:42.000000000 +0000 @@ -10,7 +10,7 @@ $(eval $(call gb_Package_Package,extras_tpldraw,$(call gb_CustomTarget_get_workdir,extras/source/templates/draw))) $(eval $(call gb_Package_add_files,extras_tpldraw,$(LIBO_SHARE_FOLDER)/template/common/draw,\ - bpmn.ott \ + bpmn.otg \ )) # vim: set noet sw=4 ts=4: diff -Nru libreoffice-7.1.4~rc2/extras/source/autocorr/lang/ja/DocumentList.xml libreoffice-7.1.5~rc2/extras/source/autocorr/lang/ja/DocumentList.xml --- libreoffice-7.1.4~rc2/extras/source/autocorr/lang/ja/DocumentList.xml 2021-06-04 14:36:10.000000000 +0000 +++ libreoffice-7.1.5~rc2/extras/source/autocorr/lang/ja/DocumentList.xml 2021-07-16 21:17:42.000000000 +0000 @@ -1,11 +1,7 @@ - - - - @@ -811,9 +807,6 @@ - - - diff -Nru libreoffice-7.1.4~rc2/filter/source/graphicfilter/ipsd/ipsd.cxx libreoffice-7.1.5~rc2/filter/source/graphicfilter/ipsd/ipsd.cxx --- libreoffice-7.1.4~rc2/filter/source/graphicfilter/ipsd/ipsd.cxx 2021-06-04 14:36:10.000000000 +0000 +++ libreoffice-7.1.5~rc2/filter/source/graphicfilter/ipsd/ipsd.cxx 2021-07-16 21:17:42.000000000 +0000 @@ -119,7 +119,7 @@ } Size aBitmapSize( mpFileHeader->nColumns, mpFileHeader->nRows ); - mpBitmap.reset( new vcl::bitmap::RawBitmap( aBitmapSize, 24 ) ); + mpBitmap.reset( new vcl::bitmap::RawBitmap( aBitmapSize, mbTransparent ? 32 : 24 ) ); if ( mpPalette && mbStatus ) { mvPalette.resize( 256 ); @@ -129,8 +129,9 @@ } } - if ((mnDestBitDepth == 1 || mnDestBitDepth == 8 || mbTransparent) && mvPalette.empty()) + if ((mnDestBitDepth == 1 || mnDestBitDepth == 8) && mvPalette.empty()) { + SAL_WARN("vcl", "no palette, but bit depth is " << mnDestBitDepth); mbStatus = false; return mbStatus; } @@ -721,7 +722,7 @@ m_rPSD.ReadUChar( nDummy ); for ( sal_uInt16 i = 0; i < ( -nRunCount + 1 ); i++ ) { - mpBitmap->SetPixel(nY, nX, SanitizePaletteIndex(mvPalette, nDat)); + mpBitmap->SetAlpha(nY, nX, nDat ? 0 : 255); if ( ++nX == mpFileHeader->nColumns ) { nX = 0; @@ -742,7 +743,7 @@ nDat = 1; if ( mpFileHeader->nDepth == 16 ) // 16 bit depth is to be skipped m_rPSD.ReadUChar( nDummy ); - mpBitmap->SetPixel(nY, nX, SanitizePaletteIndex(mvPalette, nDat)); + mpBitmap->SetAlpha(nY, nX, nDat ? 0 : 255); if ( ++nX == mpFileHeader->nColumns ) { nX = 0; diff -Nru libreoffice-7.1.4~rc2/filter/source/xslt/odf2xhtml/export/xhtml/body.xsl libreoffice-7.1.5~rc2/filter/source/xslt/odf2xhtml/export/xhtml/body.xsl --- libreoffice-7.1.4~rc2/filter/source/xslt/odf2xhtml/export/xhtml/body.xsl 2021-06-04 14:36:10.000000000 +0000 +++ libreoffice-7.1.5~rc2/filter/source/xslt/odf2xhtml/export/xhtml/body.xsl 2021-07-16 21:17:42.000000000 +0000 @@ -380,11 +380,27 @@ - - + + + + + + + + + + + + + + + - - - + - + - - + @@ -796,14 +808,14 @@ - + Next 'div' added for floating. - position:relative; left: + display:inline; position:relative; left: cm; @@ -818,42 +830,38 @@ - - - + - - - - - - - - - + + + + + + + + + + - + - - + - - - + - + @@ -864,20 +872,16 @@ - - - - + - - + @@ -935,6 +939,7 @@ + @@ -953,7 +958,7 @@ - + @@ -1006,37 +1011,6 @@ - - - @@ -1049,13 +1023,8 @@ - - + - @@ -1083,13 +1052,7 @@ replacement image and keep only the id attribute. See fdo#66645 --> - - - @@ -3003,6 +2966,11 @@ + + + inline + + diff -Nru libreoffice-7.1.4~rc2/framework/dtd/accelerator.dtd libreoffice-7.1.5~rc2/framework/dtd/accelerator.dtd --- libreoffice-7.1.4~rc2/framework/dtd/accelerator.dtd 2021-06-04 14:36:10.000000000 +0000 +++ libreoffice-7.1.5~rc2/framework/dtd/accelerator.dtd 2021-07-16 21:17:42.000000000 +0000 @@ -1,4 +1,3 @@ -