configure.ac | 1 download.lst | 8 ++-- external/libxslt/ExternalPackage_libxslt.mk | 2 - sw/qa/extras/rtfexport/data/noparaborder.rtf | 35 ++++++++++++++++++++ sw/qa/extras/rtfexport/rtfexport3.cxx | 23 +++++++++++++ sw/source/writerfilter/rtftok/rtfdispatchsymbol.cxx | 3 + 6 files changed, 65 insertions(+), 7 deletions(-)
New commits: commit feac32377f744569735629c06e865001b1b08e3f Author: Xisco Fauli <[email protected]> AuthorDate: Fri Mar 14 08:54:38 2025 +0100 Commit: Andras Timar <[email protected]> CommitDate: Sat Mar 15 11:15:41 2025 +0100 expat: upgrade to 2.7.0 Downloaded from https://github.com/libexpat/libexpat/releases/download/R_2_7_0/expat-2.7.0.tar.xz Change-Id: I714d00fe5e1b3073ec3034065057ae9795060eec Reviewed-on: https://gerrit.libreoffice.org/c/core/+/182894 Tested-by: Jenkins Reviewed-by: Xisco Fauli <[email protected]> (cherry picked from commit 82c0b78f16dc4a5969b130c0d2519cf9d05e4794) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/182898 Reviewed-by: Taichi Haradaguchi <[email protected]> diff --git a/download.lst b/download.lst index 9f384ffe8380..7f0217802d78 100644 --- a/download.lst +++ b/download.lst @@ -111,8 +111,8 @@ ETONYEK_TARBALL := libetonyek-0.1.$(ETONYEK_VERSION_MICRO).tar.xz # three static lines # so that git cherry-pick # will not run into conflicts -EXPAT_SHA256SUM := a695629dae047055b37d50a0ff4776d1d45d0a4c842cf4ccee158441f55ff7ee -EXPAT_TARBALL := expat-2.6.4.tar.xz +EXPAT_SHA256SUM := 25df13dd2819e85fb27a1ce0431772b7047d72af81ae78dc26b4c6e0805f48d1 +EXPAT_TARBALL := expat-2.7.0.tar.xz # three static lines # so that git cherry-pick # will not run into conflicts commit 6668fa2266aad21469a383eaed872efb9b13ebde Author: Xisco Fauli <[email protected]> AuthorDate: Thu Mar 13 09:44:07 2025 +0100 Commit: Andras Timar <[email protected]> CommitDate: Sat Mar 15 11:15:41 2025 +0100 libxslt: upgrade to 1.1.43 Downloaded from https://download.gnome.org/sources/libxslt/1.1/libxslt-1.1.43.tar.xz Change-Id: Iadab2934e3b1e8178a4912ef9a56c4a3c158c7ba Reviewed-on: https://gerrit.libreoffice.org/c/core/+/182857 Tested-by: Jenkins Reviewed-by: Michael Stahl <[email protected]> diff --git a/download.lst b/download.lst index 40d140651c6c..9f384ffe8380 100644 --- a/download.lst +++ b/download.lst @@ -533,8 +533,8 @@ LIBXML_TARBALL := libxml2-2.13.$(LIBXML_VERSION_MICRO).tar.xz # three static lines # so that git cherry-pick # will not run into conflicts -LIBXSLT_SHA256SUM := 85ca62cac0d41fc77d3f6033da9df6fd73d20ea2fc18b0a3609ffb4110e1baeb -LIBXSLT_VERSION_MICRO := 42 +LIBXSLT_SHA256SUM := 5a3d6b383ca5afc235b171118e90f5ff6aa27e9fea3303065231a6d403f0183a +LIBXSLT_VERSION_MICRO := 43 LIBXSLT_TARBALL := libxslt-1.1.$(LIBXSLT_VERSION_MICRO).tar.xz # three static lines # so that git cherry-pick diff --git a/external/libxslt/ExternalPackage_libxslt.mk b/external/libxslt/ExternalPackage_libxslt.mk index b11ee72bfe1a..6d34589ea71a 100644 --- a/external/libxslt/ExternalPackage_libxslt.mk +++ b/external/libxslt/ExternalPackage_libxslt.mk @@ -25,7 +25,7 @@ $(eval $(call gb_ExternalPackage_add_file,libxslt,$(LIBO_LIB_FOLDER)/libexslt.dl endif else # OS!=WNT $(eval $(call gb_ExternalPackage_add_file,libxslt,$(LIBO_LIB_FOLDER)/libxslt.so.1,libxslt/.libs/libxslt.so.1.1.$(LIBXSLT_VERSION_MICRO))) -$(eval $(call gb_ExternalPackage_add_file,libxslt,$(LIBO_LIB_FOLDER)/libexslt.so.0,libexslt/.libs/libexslt.so.0.8.23)) +$(eval $(call gb_ExternalPackage_add_file,libxslt,$(LIBO_LIB_FOLDER)/libexslt.so.0,libexslt/.libs/libexslt.so.0.8.24)) endif endif # DISABLE_DYNLOADING commit 5442e5e48b37739233a344a16fba8608b9cfa6e2 Author: Michael Stahl <[email protected]> AuthorDate: Wed Mar 12 14:59:16 2025 +0100 Commit: Andras Timar <[email protected]> CommitDate: Sat Mar 15 11:15:41 2025 +0100 tdf#164945 writerfilter: RTF import: fix erroneous default paragraph... ... properties in empty table cell. The problem is that for an empty table cell, there is a sequence of buffer entries SETSTYLE, PROPS, SETSTYLE, PROPS, and the 2nd PROPS sets a default value of the LN_CT_PrBase_pBdr SPRM, and that overwrites the rdrs value that was contained in the 1st PROPS. All these buffer entries originate in ST_StyleType_character when buffering the character properties, then no paragraph properties will be generated in getProperties() for the 2nd PROPS. (regression from commit 6f42a2c8631bace1caa4fac0b3ea554942f1fca3) Change-Id: Iefb939d8d8dace6dc58cb665b4bd1575f09701c1 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/182835 Reviewed-by: Michael Stahl <[email protected]> Tested-by: Jenkins (cherry picked from commit 1a7346e7f14b54cf5d9b74798d41cff2a3a05872) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/182859 Reviewed-by: Adolfo Jayme Barrientos <[email protected]> diff --git a/sw/qa/extras/rtfexport/data/noparaborder.rtf b/sw/qa/extras/rtfexport/data/noparaborder.rtf new file mode 100644 index 000000000000..4c6322ffa88e --- /dev/null +++ b/sw/qa/extras/rtfexport/data/noparaborder.rtf @@ -0,0 +1,35 @@ +{ tf1deflang1025nsinsicpg1252\uc1deff0\deff0\stshfdbch31505\stshfloch46\stshfhich46\stshfbi0\deflang1031\deflangfe1041 hemelang1031 hemelangfe1041 hemelangcs0 +{onttbl{0bidi romancharset0prq2{\*\panose 02020603050405020304}Times New Roman{\*alt Arial};} +{35bidi swisscharset128prq2{\*\panose 020b0400000000000000}Yu Gothic{\* alt ?a?S?V?b?N};} +{46bidi swisscharset0prq2{\*\panose 020b0604020202020204}Liberation Sans;} +{dbminor31505bidi swisscharset128prq2{\*\panose 020b0400000000000000}Yu Gothic{\*alt ?a?S?V?b?N};} +} +{\*\defchp s24\kerning2\lochf46\hichf46\dbchf31505 }{\*\defpap \ql \li0 i0\sa160\sl278\slmult1 +\widctlpar\wrapdefaultspalphaspnumaautodjustright in0\lin0\itap0 } oqfpromote {\stylesheet{\ql \li0 i0\sa160\sl278\slmult1\widctlpar\wrapdefaultspalphaspnumaautodjustright in0\lin0\itap0 tlchcs1 f0fs24lang1025 \ltrchcs0 +s24\lang1031\langfe1041\kerning2\loch46\hichf46\dbchf31505+ s11 srowd rftsWidthB3 rpaddl108 rpaddr108 rpaddfl3 rpaddft3 rpaddfb3 rpaddfr3 blind0 blindtype3 svertalt \ql \li0 i0\sa160\sl278\slmult1 +\widctlpar\wrapdefaultspalphaspnumaautodjustright in0\lin0\itap0 tlchcs1 f0fs24lang1025 \ltrchcs0 s24\lang1031\langfe1041\kerning2\loch 46\hichf46\dbchf31505+Normal Table;} +{\s36\q \li0 i0\widctlparrdrbrdrsrdrw10rsp20 \wrapdefaultspalphaspnum aautodjustright in0\lin0\itap0 tlchcs1 f0fs24lang1025 \ltrchcs0 +s24\lang1031\langfe1041\kerning2\loch46\hichf46\dbchf31505+ +\paperw11906\paperh16838\margl1417\margr1417\margt1417\margb1134\gutter0\ltrsect +\deftab708\widowctrltnbjenddoc\hyphhotz425 rackmoves0 rackformatting1\donotembedsysfont1 elyonvml0\donotembedlingdata0\grfdocevents0 alidatexml1\showplaceholdtext0\ignoremixedcontent0\saveinvalidxml0 +\showxmlerrors1 oxlattoyenxpshrtn oultrlspc\dntblnsbdb ospaceforul ormshade\horzdoc\dgmargin\dghspace180\dgvspace180\dghorigin1417\dgvorigin1417\dghshow1\dgvshow1 +\jexpandiewkind1iewscale270\pgbrdrhead\pgbrdrfoot\splytwnine tnlytwnine\htmautsp olnhtadjtbl\useltbalnlntblind\lytcalctblwd\lyttblrtgr\lnbrkrule obrkwrptbl\snaptogridincellllowfieldendsel\wrppunct +sianbrkrule ewtblstyruls ogrowautofit\usenormstyforlist oindnmbrtselnbrelev ocxsptable\indrlsweleven oafcnsttblfelev\utinl\hwelev\spltpgpar otcvasp otbrkcnstfrctbl otvatxbx\krnprsnet+{\*\wgrffmtfilter 2450} ofeaturethrottle1\ilfomacatclnup0\ltrpar \sectd \ltrsect\linex0\headery708 ootery708+ +\ltrrow rowd \irow0\irowband0\lastrow \ltrrow + s35 rgaph70 rleft-108 rftsWidth1 rftsWidthB3 rautofit1 rpaddl108 rpaddr108 rpaddfl3 rpaddft3 rpaddfb3 rpaddfr3 bllkhdrrows bllkhdrcols bllknocolband blind0 blindtype3 +rdrtbl +\s36\qc \li0 i0\widctlpar\intblrdrbrdrsrdrw10rsp20 \wrapdefaultspalphaspnum aautodjustright in0\lin0\yts35 tlchcs1 f0fs24lang1025 \ltrchcs0 + s24\lang1031\langfe1041\kerning2\lochf46\hichf46\dbchf31505+\wrapdefaultspalphaspnum aautodjustright in0\lin0\yts35 { tlchcs1 f0 \ltrchcs0 \hichf46\dbchf31505\loch46 xxx}{ tlchcs1 f0 \ltrchcs0 +\ql \li0 i0\sa160\sl278\slmult1\widctlpar\intbl\wrapdefaultspalphaspnum aautodjustright in0\lin0 tlchcs1 f0fs24lang1025 \ltrchcs0 s24\lang1031\langfe1041\kerning2\lochf46\hichf46\dbchf31505+ tlchcs1 f0 \ltrchcs0 rowd \irow0\irowband0\lastrow \ltrrow + s35 rgaph70 rleft-108 rftsWidth1 rftsWidthB3 rautofit1 rpaddl108 rpaddr108 rpaddfl3 rpaddft3 rpaddfb3 rpaddfr3 bllkhdrrows bllkhdrcols bllknocolband blind0 blindtype3 +rdrtbl +\ql \li0 i0\sa160\sl278\slmult1\widctlpar\wrapdefaultspalphaspnumaautodjustright in0\lin0\itap0 { tlchcs1 f0 \ltrchcs0 +\par } +} diff --git a/sw/qa/extras/rtfexport/rtfexport3.cxx b/sw/qa/extras/rtfexport/rtfexport3.cxx index 6b97dca453aa..665d95bcf00c 100644 --- a/sw/qa/extras/rtfexport/rtfexport3.cxx +++ b/sw/qa/extras/rtfexport/rtfexport3.cxx @@ -200,6 +200,29 @@ CPPUNIT_TEST_FIXTURE(Test, testTdf116436_tableBackground) verify(/*bIsExport*/ true); } +CPPUNIT_TEST_FIXTURE(Test, testTdf164945) +{ + auto verify = [this]() { + uno::Reference<text::XTextTable> xTable(getParagraphOrTable(1), uno::UNO_QUERY_THROW); + uno::Reference<text::XText> xA1(xTable->getCellByName(u"A1"_ustr), uno::UNO_QUERY_THROW); + auto borderA1( + getProperty<table::BorderLine2>(getParagraphOfText(1, xA1), u"BottomBorder"_ustr)); + CPPUNIT_ASSERT_EQUAL(sal_Int16(0), borderA1.InnerLineWidth); + CPPUNIT_ASSERT_EQUAL(sal_Int16(18), borderA1.OuterLineWidth); + CPPUNIT_ASSERT_EQUAL(sal_Int16(0), borderA1.LineDistance); + uno::Reference<text::XText> xB1(xTable->getCellByName(u"B1"_ustr), uno::UNO_QUERY_THROW); + auto borderB1( + getProperty<table::BorderLine2>(getParagraphOfText(1, xB1), u"BottomBorder"_ustr)); + CPPUNIT_ASSERT_EQUAL(sal_Int16(0), borderB1.InnerLineWidth); + CPPUNIT_ASSERT_EQUAL(sal_Int16(18), borderB1.OuterLineWidth); + CPPUNIT_ASSERT_EQUAL(sal_Int16(0), borderB1.LineDistance); + }; + createSwDoc("noparaborder.rtf"); + verify(); + saveAndReload(mpFilter); + verify(); +} + CPPUNIT_TEST_FIXTURE(Test, testTdf122589_firstSection) { auto verify = [this]() { diff --git a/sw/source/writerfilter/rtftok/rtfdispatchsymbol.cxx b/sw/source/writerfilter/rtftok/rtfdispatchsymbol.cxx index f1f53d626c91..2df10c35482b 100644 --- a/sw/source/writerfilter/rtftok/rtfdispatchsymbol.cxx +++ b/sw/source/writerfilter/rtftok/rtfdispatchsymbol.cxx @@ -202,7 +202,8 @@ RTFError RTFDocumentImpl::dispatchSymbol(RTFKeyword nKeyword) bufferProperties(m_aTableBufferStack.back(), pPValue, nullptr); auto pCValue = new RTFValue(m_aStates.top().getCharacterAttributes(), m_aStates.top().getCharacterSprms()); - bufferProperties(m_aTableBufferStack.back(), pCValue, nullptr); + bufferProperties(m_aTableBufferStack.back(), pCValue, nullptr, + NS_ooxml::LN_Value_ST_StyleType_character); } RTFValue::Pointer_t pValue; commit c2a962a774398c456e2a5050a496e0ea03689cbc Author: Christian Lohmaier <[email protected]> AuthorDate: Wed Mar 12 12:49:18 2025 +0100 Commit: Andras Timar <[email protected]> CommitDate: Sat Mar 15 11:15:41 2025 +0100 drop warning re Apple patch - used by CI for quite a while now so if there inconsistencies found between GNU patch and Apple's patch, those are detected early and won't make it to master in the first place. macOS switched the system patch in macOS ventura (macOS 13), so older systems have gnu patch, and ce31e09a6d40295cec4be9da8f4cec886d6c92c1 enabled to use the "new and unknown" apple patch that was pickier re the context lines, but no other compatibility issues were observed. So fine to say that it works fine/is no longer "experimental" but rather the default on macOS Change-Id: I993d4474beeb3840039363dc8fc2a401b188ca98 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/182820 Reviewed-by: Christian Lohmaier <[email protected]> Tested-by: Jenkins (cherry picked from commit 3d3d093e99943de1f3383d6eed16e51600becd9c) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/182828 Reviewed-by: Michael Stahl <[email protected]> diff --git a/configure.ac b/configure.ac index 13022d5693a0..ea3f87644109 100644 --- a/configure.ac +++ b/configure.ac @@ -12139,7 +12139,6 @@ if test "$_os" = "SunOS" -o "$_os" = "Darwin" -o "$_os" = "FreeBSD"; then else if $GNUPATCH --version | grep "2\.0-.*-Apple" >/dev/null 2>/dev/null; then AC_MSG_RESULT([no, but accepted (Apple patch)]) - add_warning "patch utility is not GNU patch. Apple's patch should work OK, but it might experience issues where GNU patch doesn't." else AC_MSG_ERROR([no, GNU patch needed. install or specify with --with-gnu-patch=/path/to/it]) fi
