cui/source/tabpages/transfrm.cxx | 60 desktop/source/deployment/gui/dp_gui_updateinstalldialog.cxx | 16 download.lst | 12 formula/inc/core_resource.hrc | 2 i18npool/source/localedata/data/bg_BG.xml | 8 include/unotools/charclass.hxx | 2 linguistic/source/misc.cxx | 19 officecfg/registry/data/org/openoffice/Office/Calc.xcu | 11 package/inc/ByteGrabber.hxx | 1 package/source/xstor/switchpersistencestream.cxx | 10 package/source/zipapi/ByteGrabber.cxx | 110 readlicense_oo/license/CREDITS.fodt | 9556 +++++------ sc/qa/unit/data/fods/lookup_source.fods | 656 sc/qa/unit/data/fods/lookup_target.fods | 1488 + sc/qa/unit/subsequent_filters_test5.cxx | 24 sc/source/core/tool/interpr1.cxx | 14 sc/source/core/tool/interpr2.cxx | 3 sc/source/filter/xml/XMLExportDatabaseRanges.cxx | 2 sc/source/ui/condformat/condformatmgr.cxx | 2 sd/source/ui/view/drviews4.cxx | 4 sfx2/source/devtools/ObjectInspectorTreeHandler.cxx | 3 solenv/bin/modules/installer/windows/msiglobal.pm | 14 solenv/gbuild/extensions/pre_MergedLibsList.mk | 1 svx/source/sidebar/area/AreaPropertyPanelBase.cxx | 2 sw/qa/extras/rtfimport/data/tdf167710.rtf | 6 sw/qa/extras/rtfimport/rtfimport.cxx | 7 sw/source/core/edit/edsect.cxx | 6 sw/source/core/layout/frmtool.cxx | 7 sw/source/core/undo/unattr.cxx | 2 sw/source/ui/fldui/DateFormFieldDialog.cxx | 4 sw/source/ui/fldui/fldvar.cxx | 6 sw/source/ui/fldui/fldvar.hxx | 1 sw/source/uibase/dbui/dbmgr.cxx | 4 sw/source/writerfilter/rtftok/rtfdocumentimpl.cxx | 3 ucb/source/cacher/cachedcontentresultset.cxx | 3 unotools/source/i18n/charclass.cxx | 27 vcl/unx/gtk3/gtkinst.cxx | 2 vcl/win/window/salframe.cxx | 6 wizards/source/euro/Init.xba | 16 wizards/source/resources/resources_en_US.properties | 1 40 files changed, 7475 insertions(+), 4646 deletions(-)
New commits: commit 20577eb3ed3e646b6d34aaa8dccfa5e4b6a751b9 Author: Rene Engelhard <r...@rene-engelhard.de> AuthorDate: Sat Aug 9 19:05:15 2025 +0200 Commit: Andras Timar <andras.ti...@collabora.com> CommitDate: Wed Aug 20 15:35:13 2025 +0200 add EUR for Bulgaria/Lew Bulgaria will join Eurozone 2026-01-01 at which time around the default needs to be switched see https://www.ecb.europa.eu/press/pr/date/2025/html/ecb.pr250708~b9676a9fa8.de.html for the conversion rate This is the < 26.2 version including the euro wizard (cf. b1a2f727ca99ecd3402d4b051b99cbfd24266e59) Change-Id: I840ddda4308549703c53f998812848888dd830f6 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/189279 Reviewed-by: Eike Rathke <er...@redhat.com> Tested-by: Jenkins (cherry picked from commit d57d3e9812159ff6e8df788049c8a903e1517b7b) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/189516 Reviewed-by: Christian Lohmaier <lohmaier+libreoff...@googlemail.com> diff --git a/i18npool/source/localedata/data/bg_BG.xml b/i18npool/source/localedata/data/bg_BG.xml index 55c63049089f..ae295a38c7b9 100644 --- a/i18npool/source/localedata/data/bg_BG.xml +++ b/i18npool/source/localedata/data/bg_BG.xml @@ -366,6 +366,14 @@ <CurrencyName>BGL</CurrencyName> <DecimalPlaces>2</DecimalPlaces> </Currency> + <!-- TODO: switch defaults before 2026-01-01 --> + <Currency default="false" usedInCompatibleFormatCodes="false"> + <CurrencyID>EUR</CurrencyID> + <CurrencySymbol>€</CurrencySymbol> + <BankSymbol>EUR</BankSymbol> + <CurrencyName>евро</CurrencyName> + <DecimalPlaces>2</DecimalPlaces> + </Currency> </LC_CURRENCY> <LC_TRANSLITERATION ref="en_US"/> <LC_MISC> diff --git a/officecfg/registry/data/org/openoffice/Office/Calc.xcu b/officecfg/registry/data/org/openoffice/Office/Calc.xcu index eda60fe6c434..2b1e0e2bf5a3 100644 --- a/officecfg/registry/data/org/openoffice/Office/Calc.xcu +++ b/officecfg/registry/data/org/openoffice/Office/Calc.xcu @@ -239,6 +239,17 @@ <value>7.53450</value> </prop> </node> + <node oor:name="CR21" oor:op="replace"> + <prop oor:name="FromUnit"> + <value>EUR</value> + </prop> + <prop oor:name="ToUnit"> + <value>BLN</value> + </prop> + <prop oor:name="Factor"> + <value>1.95583</value> + </prop> + </node> </node> <node oor:name="Calculate"> <node oor:name="Other"> diff --git a/sc/source/core/tool/interpr2.cxx b/sc/source/core/tool/interpr2.cxx index 81013d3ed099..19f54be56792 100644 --- a/sc/source/core/tool/interpr2.cxx +++ b/sc/source/core/tool/interpr2.cxx @@ -3312,7 +3312,8 @@ static bool lclConvertMoney( std::u16string_view aSearchUnit, double& rfRate, in { "EEK", 15.6466, 2 }, { "LVL", 0.702804, 2 }, { "LTL", 3.45280, 2 }, - { "HRK", 7.53450, 2 } + { "HRK", 7.53450, 2 }, + { "BLN", 1.95583, 2 } }; for (const auto & i : aConvertTable) diff --git a/wizards/source/euro/Init.xba b/wizards/source/euro/Init.xba index 9f56c503a347..69a5d91ed02f 100644 --- a/wizards/source/euro/Init.xba +++ b/wizards/source/euro/Init.xba @@ -90,6 +90,7 @@ Public sCurrESTONIAN as String Public sCurrLATVIAN as String Public sCurrLITHUANIAN as String Public sCurrCROATIAN as String +Public sCurrBULGARIAN as String Public sPrgsRETRIEVAL as String Public sPrgsCONVERTING as String @@ -216,6 +217,7 @@ Dim LocWorkPath as String sCurrLATVIAN = GetResText("CURRENCIES_17") sCurrLITHUANIAN = GetResText("CURRENCIES_18") sCurrCROATIAN = GetResText("CURRENCIES_19") + sCurrBULGARIAN = GetResText("CURRENCIES_20") .cmdCancel.Label = sCANCEL .cmdHelp.Label = sHELP .cmdBack.Label = GetResText("STEP_ZERO_2") @@ -400,6 +402,11 @@ Sub InitializeLanguages() LangIDValue(19,0,1) = "HR" LangIDValue(19,0,2) = "-41A" +' CURRENCIES_BULGARIAN + LangIDValue(20,0,0) = "bg" + LangIDValue(20,0,1) = "BG" + LangIDValue(20,0,2) = "-402" + End Sub @@ -588,6 +595,15 @@ Dim i as Integer CurrValue(19,4) = "kn" CurrValue(19,5) = "HRK" + CurrValue(20,0) = sCurrBULGARIAN + ' real conversion rate + CurrValue(20,1) = 1.95583 + ' rounded conversion rate + CurrValue(20,2) = 2 + CurrValue(20,3) = "лв." + CurrValue(20,4) = "лв." + CurrValue(20,5) = "BLN" + i = -1 CurrSymbolList(0) = "" CurrSymbolList(1) = "" diff --git a/wizards/source/resources/resources_en_US.properties b/wizards/source/resources/resources_en_US.properties index d75cb03bdf05..5ae6382ccafa 100644 --- a/wizards/source/resources/resources_en_US.properties +++ b/wizards/source/resources/resources_en_US.properties @@ -449,6 +449,7 @@ CURRENCIES_16=Estonian Kroon CURRENCIES_17=Latvian Lats CURRENCIES_18=Lithuanian Litas CURRENCIES_19=Croatian Kuna +CURRENCIES_20=Bulgarian Lew STEP_LASTPAGE_0=Progress STEP_LASTPAGE_1=Retrieving the relevant documents... STEP_LASTPAGE_2=Converting the documents... commit 6b97390eb6c90abe78f17e7cfb31e5b175e34d61 Author: Justin Luth <justin.l...@collabora.com> AuthorDate: Tue Jul 15 15:36:16 2025 -0400 Commit: Andras Timar <andras.ti...@collabora.com> CommitDate: Wed Aug 20 15:35:13 2025 +0200 tdf#153684 spellcheck: ignore non-case character when !IsSpellUpperCase This fixes a 7.5 regression from commit ab0adac692b67fe7b63dee665607400c6a7e6c01 Fix everything using XCharacterClassification::getStringType()... Prior to erack's commit, all of the character-type-flags were grouped together. So it could be a mix of UPPER, LOWER, and TITLE_CASE. IsUpper returned true if there was at least one UPPER and no LOWER. return (nFlags & KCharacterType::UPPER) && !(nFlags & KCharacterType::LOWER); Since it was a group of flags, any characters that were non-case (like a fullstop) did not affect the result of IsUpper. But when it was changed in 7.5 to return aCC.isUpper( rText, nPos, nLen ); now every character needed to be considered to be upper-case, even if it was a non-case character. So this patch changes the logic back to the original state (more or less). The fly in the ointment are any Unicode characters that would be considered to be TITLE_CASE. Previously they were ignored (i.e. they didn't affect the outcome), but now I consider them to be non-uppercase. That seems to me to be the intent here anyway, so probably this implementation "fixes a bug" when a word consisted of a mixture of UPPER and TITLE_CASE chars. Change-Id: I7cf1d68bc3eb0a1a468da9e67ab54d1148f097aa Reviewed-on: https://gerrit.libreoffice.org/c/core/+/187934 Reviewed-by: Justin Luth <jl...@mail.com> Tested-by: Jenkins (cherry picked from commit 53a9cee01759ce54c4ee50468958531a360640f9) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/187936 Reviewed-by: Eike Rathke <er...@redhat.com> (cherry picked from commit 952412154a4872d0f06a60c44506278924bb9c62) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/188006 diff --git a/include/unotools/charclass.hxx b/include/unotools/charclass.hxx index bc91aca63631..561cdc09c22a 100644 --- a/include/unotools/charclass.hxx +++ b/include/unotools/charclass.hxx @@ -176,8 +176,6 @@ public: bool isNumeric( const OUString& rStr ) const; bool isLetterNumeric( const OUString& rStr ) const; - bool isUpper( const OUString& rStr, sal_Int32 nPos, sal_Int32 nCount ) const; - private: const css::lang::Locale & getMyLocale() const; diff --git a/linguistic/source/misc.cxx b/linguistic/source/misc.cxx index 088cde001f20..8bf6ea605c85 100644 --- a/linguistic/source/misc.cxx +++ b/linguistic/source/misc.cxx @@ -559,8 +559,25 @@ uno::Reference< XHyphenatedWord > RebuildHyphensAndControlChars( bool IsUpper( const OUString &rText, sal_Int32 nPos, sal_Int32 nLen, LanguageType nLanguage ) { + assert(nPos >= 0 && nLen > 0); CharClass aCC(( LanguageTag( nLanguage ) )); - return aCC.isUpper( rText, nPos, nLen ); + + bool bCaseIsAlwaysUppercase = false; + const sal_Int32 nEnd = std::min(nPos + nLen, rText.getLength()); + while (nPos < nEnd) + { + // only consider characters that have case-status + if (aCC.isAlpha(rText, nPos)) + { + if (aCC.isUpper(rText, nPos)) + bCaseIsAlwaysUppercase = true; + else + return false; + } + rText.iterateCodePoints(&nPos); + } + + return bCaseIsAlwaysUppercase; } CapType capitalType(const OUString& aTerm, CharClass const * pCC) diff --git a/unotools/source/i18n/charclass.cxx b/unotools/source/i18n/charclass.cxx index 423f9530f2cb..da66b0fa59d2 100644 --- a/unotools/source/i18n/charclass.cxx +++ b/unotools/source/i18n/charclass.cxx @@ -288,33 +288,6 @@ bool CharClass::isUpper( const OUString& rStr, sal_Int32 nPos ) const return false; } -bool CharClass::isUpper( const OUString& rStr, sal_Int32 nPos, sal_Int32 nCount ) const -{ - if (rStr.isEmpty()) - return false; - - assert(nPos >= 0 && nPos < rStr.getLength() && nCount > 0); - if (nPos < 0 || nPos >= rStr.getLength() || nCount == 0) - return false; - - try - { - const sal_Int32 nLen = std::min( nPos + nCount, rStr.getLength()); - while (nPos < nLen) - { - if (!isUpper( rStr, nPos)) - return false; - rStr.iterateCodePoints( &nPos); - } - return true; - } - catch ( const Exception& ) - { - TOOLS_WARN_EXCEPTION("unotools.i18n", "" ); - } - return false; -} - OUString CharClass::titlecase(const OUString& rStr, sal_Int32 nPos, sal_Int32 nCount) const { try commit 305a5ac6580b1b257769317d7a69c205670f289a Author: Christian Lohmaier <lohmaier+libreoff...@googlemail.com> AuthorDate: Mon Aug 18 14:04:33 2025 +0200 Commit: Andras Timar <andras.ti...@collabora.com> CommitDate: Wed Aug 20 15:35:13 2025 +0200 tdf#166947 properly fix windows installation sets for aarch64 While https://learn.microsoft.com/en-us/windows/win32/msi/template-summary says that the value should be Arm64 for aarch64, the installsets created by the baseline fail to install/produce error 1620 on installation. The missing bit was that for that to work properly the msi summary information table must be at least schema version 500. That is mentioned here: https://learn.microsoft.com/en-us/windows/win32/msi/using-64-bit-windows-installer-packages Thanks a lot to Mike Kaganski for that pointer this cherry-pick contains part of the janitorial cleanup that replaced pointless function calls to get static values from 25d62325f320ba75a2b64584fe1d5d98c18275f1 Change-Id: I5fc84f877c6af98c78107ff99920def7053a3950 (cherry picked from commit 354f6d4eb00bf7cc5e2ae576706f101fb544eab3) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/189869 Tested-by: Jenkins Reviewed-by: Xisco Fauli <xiscofa...@libreoffice.org> diff --git a/solenv/bin/modules/installer/windows/msiglobal.pm b/solenv/bin/modules/installer/windows/msiglobal.pm index 3b392c4fd4a1..235033d374a7 100644 --- a/solenv/bin/modules/installer/windows/msiglobal.pm +++ b/solenv/bin/modules/installer/windows/msiglobal.pm @@ -490,16 +490,6 @@ sub create_msi_database } } -################################################################# -# Returning the msi version for the Summary Information Stream -################################################################# - -sub get_msiversion_for_sis -{ - my $msiversion = "200"; - return $msiversion; -} - ################################################################# # Returning the word count for the Summary Information Stream ################################################################# @@ -608,7 +598,9 @@ sub write_summary_into_msi_database my $msiinfo = "msiinfo.exe"; # Has to be in the path - my $msiversion = get_msiversion_for_sis(); + # schema version needs to be at least 500 to support 64bit packages on Arm64 + # see https://learn.microsoft.com/en-us/windows/win32/msi/using-64-bit-windows-installer-packages + my $msiversion = 500; my $codepage = 0; # PID_CODEPAGE summary property in a signed short, therefore it is impossible to set 65001 here. my $template = get_template_for_sis($language, $allvariableshashref); my $guid = get_packagecode_for_sis(); commit f16e982bdf85427e1cba1fe300bf1f5a1b76d6e2 Author: Xisco Fauli <xiscofa...@libreoffice.org> AuthorDate: Thu Aug 14 22:37:05 2025 +0200 Commit: Andras Timar <andras.ti...@collabora.com> CommitDate: Wed Aug 20 15:35:13 2025 +0200 postgresql: upgrade to 14.19 Downloaded from https://ftp.postgresql.org/pub/source/v14.19/postgresql-14.19.tar.bz2 Change-Id: Ied1619e7a8c01fee9ad137ac5edc5e5869bd278c Reviewed-on: https://gerrit.libreoffice.org/c/core/+/189648 Reviewed-by: Taichi Haradaguchi <20001...@ymail.ne.jp> Tested-by: Jenkins diff --git a/download.lst b/download.lst index 48122018f056..c1f06779da30 100644 --- a/download.lst +++ b/download.lst @@ -653,8 +653,8 @@ POPPLER_DATA_TARBALL := poppler-data-0.4.12.tar.gz # three static lines # so that git cherry-pick # will not run into conflicts -POSTGRESQL_SHA256SUM := 83ab29d6bfc3dc58b2ed3c664114fdfbeb6a0450c4b8d7fa69aee91e3ca14f8e -POSTGRESQL_TARBALL := postgresql-14.18.tar.bz2 +POSTGRESQL_SHA256SUM := 727e9e334bc1a31940df808259f69fe47a59f6d42174b22ae62d67fe7a01ad80 +POSTGRESQL_TARBALL := postgresql-14.19.tar.bz2 # three static lines # so that git cherry-pick # will not run into conflicts commit 7299d648aa38417dd783f7a5b158b3de7af02c03 Author: Noel Grandin <noel.gran...@collabora.co.uk> AuthorDate: Fri Aug 15 11:44:08 2025 +0200 Commit: Andras Timar <andras.ti...@collabora.com> CommitDate: Wed Aug 20 15:35:13 2025 +0200 tdf#167936 crash when opening document from UNO pipe (2) second attempt at this, the first commit did not catch all the places regression from commit a6ad198d097fb4a503c8d5831d484ff46721134b Author: Noel Grandin <noel.gran...@collabora.co.uk> Date: Sat Aug 17 13:19:54 2024 +0200 tdf#158556 use more comphelper::ByteReader Change-Id: If3ab68f7cf147082ec296d6679d48f15ec0fdcb9 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/189669 Reviewed-by: Noel Grandin <noel.gran...@collabora.co.uk> Tested-by: Jenkins diff --git a/package/source/xstor/switchpersistencestream.cxx b/package/source/xstor/switchpersistencestream.cxx index 6613b8b046b1..8052ff9ecc63 100644 --- a/package/source/xstor/switchpersistencestream.cxx +++ b/package/source/xstor/switchpersistencestream.cxx @@ -256,7 +256,15 @@ uno::Reference< io::XOutputStream > SAL_CALL SwitchablePersistenceStream::getOut if ( !m_pStreamData->m_xOrigInStream.is() ) throw uno::RuntimeException(); - return m_pStreamData->m_pByteReader->readSomeBytes( aData, nBytesToRead ); + if (m_pStreamData->m_pByteReader) + return m_pStreamData->m_pByteReader->readSomeBytes( aData, nBytesToRead ); + else + { + css::uno::Sequence < sal_Int8 > aSequence; + sal_Int32 nBytesActuallyRead = m_pStreamData->m_xOrigInStream->readSomeBytes( aSequence, nBytesToRead ); + memcpy(aData, aSequence.getConstArray(), nBytesActuallyRead); + return nBytesActuallyRead; + } } void SAL_CALL SwitchablePersistenceStream::skipBytes( ::sal_Int32 nBytesToSkip ) diff --git a/package/source/zipapi/ByteGrabber.cxx b/package/source/zipapi/ByteGrabber.cxx index bc1206986c5c..23b157423df8 100644 --- a/package/source/zipapi/ByteGrabber.cxx +++ b/package/source/zipapi/ByteGrabber.cxx @@ -60,7 +60,14 @@ void ByteGrabber::setInputStream (const uno::Reference < io::XInputStream >& xNe sal_Int32 ByteGrabber::readBytes( sal_Int8* aData, sal_Int32 nBytesToRead ) { - return mpByteReader->readSomeBytes(aData, nBytesToRead ); + if (mpByteReader) + return mpByteReader->readSomeBytes(aData, nBytesToRead ); + else + { + sal_Int32 nBytesActuallyRead = xStream->readSomeBytes(aSequence, nBytesToRead); + memcpy(aData, aSequence.getConstArray(), nBytesActuallyRead); + return nBytesActuallyRead; + } } // XSeekable chained... commit c8d7d75af49fa0f109fdfa95912600497d0a2594 Author: Patrick Luby <guibmac...@gmail.com> AuthorDate: Thu Aug 14 13:48:44 2025 -0400 Commit: Andras Timar <andras.ti...@collabora.com> CommitDate: Wed Aug 20 15:35:13 2025 +0200 tdf#167916 Skip merging of the macabdrv1 library macabdrv1 symbols can't be loaded with --enable-mergelibs=more so leave it unmerged. Change-Id: If88059783ebc2be29a9011244947671891801cab Reviewed-on: https://gerrit.libreoffice.org/c/core/+/189640 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.gran...@collabora.co.uk> Reviewed-by: Patrick Luby <guibomac...@gmail.com> diff --git a/solenv/gbuild/extensions/pre_MergedLibsList.mk b/solenv/gbuild/extensions/pre_MergedLibsList.mk index 2592112bd3d9..8f1d4a2df777 100644 --- a/solenv/gbuild/extensions/pre_MergedLibsList.mk +++ b/solenv/gbuild/extensions/pre_MergedLibsList.mk @@ -159,7 +159,6 @@ gb_MERGE_LIBRARY_LIST += \ $(if $(ENABLE_LWP),lwpft) \ $(if $(filter $(OS),MACOSX), \ macab1 \ - macabdrv1 \ ) \ mozbootstrap \ msforms \ commit 6313bfdbbc1fe027ec2ff3fd04fda85cb1c273ee Author: Noel Grandin <noel.gran...@collabora.co.uk> AuthorDate: Thu Aug 14 11:42:03 2025 +0200 Commit: Andras Timar <andras.ti...@collabora.com> CommitDate: Wed Aug 20 15:35:13 2025 +0200 tdf#167936 crash when opening document from UNO pipe regression from commit a6ad198d097fb4a503c8d5831d484ff46721134b Author: Noel Grandin <noel.gran...@collabora.co.uk> Date: Sat Aug 17 13:19:54 2024 +0200 tdf#158556 use more comphelper::ByteReader Change-Id: I2cc14d0dbb0214dcf54938796eeeebefbd86bd88 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/189577 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.gran...@collabora.co.uk> (cherry picked from commit 7e71af5af43da1f7a7cb0bc4d5319f277a67738a) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/189589 Reviewed-by: Xisco Fauli <xiscofa...@libreoffice.org> diff --git a/package/inc/ByteGrabber.hxx b/package/inc/ByteGrabber.hxx index ea7e6867a4bc..85435fd0c753 100644 --- a/package/inc/ByteGrabber.hxx +++ b/package/inc/ByteGrabber.hxx @@ -33,6 +33,7 @@ class ByteGrabber final css::uno::Reference < css::io::XSeekable > xSeek; comphelper::ByteReader* mpByteReader; std::array<sal_Int8, 8> maBuffer; + css::uno::Sequence < sal_Int8 > aSequence; public: ByteGrabber (css::uno::Reference < css::io::XInputStream > const & xIstream); diff --git a/package/source/zipapi/ByteGrabber.cxx b/package/source/zipapi/ByteGrabber.cxx index 7d7c77a0228f..bc1206986c5c 100644 --- a/package/source/zipapi/ByteGrabber.cxx +++ b/package/source/zipapi/ByteGrabber.cxx @@ -39,9 +39,11 @@ using namespace ::com::sun::star; ByteGrabber::ByteGrabber(uno::Reference < io::XInputStream > const & xIstream) : xStream(xIstream) , xSeek (xIstream, uno::UNO_QUERY ) +, aSequence ( 4 ) { + // The input stream here could be from a remote UNO connection, in which + // case it will not implement comphelper::ByteReader. mpByteReader = dynamic_cast<comphelper::ByteReader*>(xStream.get()); - assert(mpByteReader); } ByteGrabber::~ByteGrabber() @@ -53,7 +55,6 @@ void ByteGrabber::setInputStream (const uno::Reference < io::XInputStream >& xNe xStream = xNewStream; xSeek.set(xNewStream, uno::UNO_QUERY); mpByteReader = dynamic_cast<comphelper::ByteReader*>(xStream.get()); - assert(mpByteReader); } sal_Int32 ByteGrabber::readBytes( sal_Int8* aData, @@ -89,39 +90,85 @@ sal_Int64 ByteGrabber::getLength( ) sal_uInt16 ByteGrabber::ReadUInt16() { - if (mpByteReader->readSomeBytes(maBuffer.data(), 2) != 2) - return 0; - - return static_cast <sal_uInt16> - ( (maBuffer[0] & 0xFF) - | (maBuffer[1] & 0xFF) << 8); + if (mpByteReader) + { + if (mpByteReader->readSomeBytes(maBuffer.data(), 2) != 2) + return 0; + + return static_cast <sal_uInt16> + ( (maBuffer[0] & 0xFF) + | (maBuffer[1] & 0xFF) << 8); + } + else + { + if (xStream->readBytes(aSequence, 2) != 2) + return 0; + + const sal_Int8 *pSequence = aSequence.getConstArray(); + return static_cast <sal_uInt16> + ( (pSequence[0] & 0xFF) + | (pSequence[1] & 0xFF) << 8); + } } sal_uInt32 ByteGrabber::ReadUInt32() { - if (mpByteReader->readSomeBytes(maBuffer.data(), 4) != 4) - return 0; - - return static_cast < sal_uInt32 > - ( (maBuffer[0] & 0xFF) - | ( maBuffer[1] & 0xFF ) << 8 - | ( maBuffer[2] & 0xFF ) << 16 - | ( maBuffer[3] & 0xFF ) << 24 ); + if (mpByteReader) + { + if (mpByteReader->readSomeBytes(maBuffer.data(), 4) != 4) + return 0; + + return static_cast < sal_uInt32 > + ( (maBuffer[0] & 0xFF) + | ( maBuffer[1] & 0xFF ) << 8 + | ( maBuffer[2] & 0xFF ) << 16 + | ( maBuffer[3] & 0xFF ) << 24 ); + } + else + { + if (xStream->readBytes(aSequence, 4) != 4) + return 0; + + const sal_Int8 *pSequence = aSequence.getConstArray(); + return static_cast < sal_uInt32 > + ( (pSequence[0] & 0xFF) + | ( pSequence[1] & 0xFF ) << 8 + | ( pSequence[2] & 0xFF ) << 16 + | ( pSequence[3] & 0xFF ) << 24 ); + } } sal_uInt64 ByteGrabber::ReadUInt64() { - if (mpByteReader->readSomeBytes(maBuffer.data(), 8) != 8) - return 0; - - return static_cast<sal_uInt64>(maBuffer[0] & 0xFF) - | static_cast<sal_uInt64>(maBuffer[1] & 0xFF) << 8 - | static_cast<sal_uInt64>(maBuffer[2] & 0xFF) << 16 - | static_cast<sal_uInt64>(maBuffer[3] & 0xFF) << 24 - | static_cast<sal_uInt64>(maBuffer[4] & 0xFF) << 32 - | static_cast<sal_uInt64>(maBuffer[5] & 0xFF) << 40 - | static_cast<sal_uInt64>(maBuffer[6] & 0xFF) << 48 - | static_cast<sal_uInt64>(maBuffer[7] & 0xFF) << 56; + if (mpByteReader) + { + if (mpByteReader->readSomeBytes(maBuffer.data(), 8) != 8) + return 0; + + return static_cast<sal_uInt64>(maBuffer[0] & 0xFF) + | static_cast<sal_uInt64>(maBuffer[1] & 0xFF) << 8 + | static_cast<sal_uInt64>(maBuffer[2] & 0xFF) << 16 + | static_cast<sal_uInt64>(maBuffer[3] & 0xFF) << 24 + | static_cast<sal_uInt64>(maBuffer[4] & 0xFF) << 32 + | static_cast<sal_uInt64>(maBuffer[5] & 0xFF) << 40 + | static_cast<sal_uInt64>(maBuffer[6] & 0xFF) << 48 + | static_cast<sal_uInt64>(maBuffer[7] & 0xFF) << 56; + } + else + { + if (xStream->readBytes(aSequence, 8) != 8) + return 0; + + const sal_Int8 *pSequence = aSequence.getConstArray(); + return static_cast<sal_uInt64>(pSequence[0] & 0xFF) + | static_cast<sal_uInt64>(pSequence[1] & 0xFF) << 8 + | static_cast<sal_uInt64>(pSequence[2] & 0xFF) << 16 + | static_cast<sal_uInt64>(pSequence[3] & 0xFF) << 24 + | static_cast<sal_uInt64>(pSequence[4] & 0xFF) << 32 + | static_cast<sal_uInt64>(pSequence[5] & 0xFF) << 40 + | static_cast<sal_uInt64>(pSequence[6] & 0xFF) << 48 + | static_cast<sal_uInt64>(pSequence[7] & 0xFF) << 56; + } } /* vim:set shiftwidth=4 softtabstop=4 expandtab: */ commit e022a7bc34b2a21d8f03e3b9c34d08f6ee3c5491 Author: Caolán McNamara <caolan.mcnam...@collabora.com> AuthorDate: Wed Aug 6 09:06:05 2025 +0100 Commit: Andras Timar <andras.ti...@collabora.com> CommitDate: Wed Aug 20 15:35:12 2025 +0200 cid#1659628 can only reach this line in the case of a caught exception so move it into that block protected by the rGuard.lock() Change-Id: I8e0bde5a7de6ec5428b405f734d6c8e54fb1645e Reviewed-on: https://gerrit.libreoffice.org/c/core/+/188994 Reviewed-by: Caolán McNamara <caolan.mcnam...@collabora.com> Tested-by: Jenkins (cherry picked from commit a2bbf65bb44229cadd1bc325ef174322b625a36b) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/189484 Reviewed-by: Xisco Fauli <xiscofa...@libreoffice.org> diff --git a/ucb/source/cacher/cachedcontentresultset.cxx b/ucb/source/cacher/cachedcontentresultset.cxx index 4a554f7ff768..9fa929cdf343 100644 --- a/ucb/source/cacher/cachedcontentresultset.cxx +++ b/ucb/source/cacher/cachedcontentresultset.cxx @@ -754,9 +754,8 @@ bool CachedContentResultSet } else throw; + return nRow == m_nLastAppliedPos; } - - return nRow == m_nLastAppliedPos; } return true; }; commit ea776a51e0b37325be246fb9e90f58e2b6678986 Author: Mike Kaganski <mike.kagan...@collabora.com> AuthorDate: Mon Jul 21 16:30:46 2025 +0200 Commit: Andras Timar <andras.ti...@collabora.com> CommitDate: Wed Aug 20 15:35:12 2025 +0200 tdf#159775: restore filename from URL on redirection Some github release URLs, like https://github.com/hanya/MRI/releases/download/v1.3.5/MRI-1.3.5.oxt get redirected to something like https://release-assets.githubusercontent.com/github-production-release-asset/3265966/eff2c80e-138d-4b06-8139-e433f4672379?... of which, 'eff2c80e-138d-4b06-8139-e433f4672379' is used as ucbhelper::Content's title. That is used to construct local filename in UpdateInstallDialog::Thread::download. Later in PackageRegistryImpl::bindPackage, the extension of the file will be used to detect the mediatype; if failed, operation will abort. Detect this situation, and restore the filename from URL. Change-Id: Ib95189ff35e07fd01c95f87827c6f620ebfe2fe1 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/188114 Tested-by: Jenkins Reviewed-by: Mike Kaganski <mike.kagan...@collabora.com> (cherry picked from commit b729b0bb677bd2b82492b45806ed3ddd91d2234f) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/188188 Reviewed-by: Adolfo Jayme Barrientos <fit...@ubuntu.com> (cherry picked from commit 59340251fa4c403c0659e0016ff1e606b829c669) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/189297 Reviewed-by: Xisco Fauli <xiscofa...@libreoffice.org> diff --git a/desktop/source/deployment/gui/dp_gui_updateinstalldialog.cxx b/desktop/source/deployment/gui/dp_gui_updateinstalldialog.cxx index 7de11a2dadb0..ec94d60ac5be 100644 --- a/desktop/source/deployment/gui/dp_gui_updateinstalldialog.cxx +++ b/desktop/source/deployment/gui/dp_gui_updateinstalldialog.cxx @@ -48,6 +48,7 @@ #include <dp_misc.h> #include "dp_gui_extensioncmdqueue.hxx" #include <ucbhelper/content.hxx> +#include <tools/urlobj.hxx> #include <rtl/ustrbuf.hxx> #include <rtl/ref.hxx> #include <salhelper/thread.hxx> @@ -558,7 +559,20 @@ bool UpdateInstallDialog::Thread::download(OUString const & sDownloadURL, Update ::ucbhelper::Content sourceContent; (void)dp_misc::create_ucb_content(&sourceContent, sDownloadURL, m_updateCmdEnv); - const OUString sTitle( StrTitle::getTitle( sourceContent ) ); + OUString sTitle(StrTitle::getTitle(sourceContent)); + if (sTitle.indexOf('.') < 0) + { + // The title could be changed due to redirection (seen with github URLs, which arrive + // something like 'eff2c80e-138d-4b06-8139-e433f4672379'). This will create problems in + // PackageRegistryImpl::bindPackage, where extension will be required to get mediatype. + // Try to restore the filename with extension from the URL. + // TODO: could also use Content-Disposition (RFC 6266), where the filename is provided. + INetURLObject aUrl(sDownloadURL); + aUrl.removeFinalSlash(); + OUString newTitle = aUrl.GetLastName(INetURLObject::DecodeMechanism::WithCharset); + if (newTitle.indexOf('.') >= 0) + sTitle = newTitle; + } destFolderContent.transferContent( sourceContent, ::ucbhelper::InsertOperation::Copy, commit 3e75a872ca9e566284aafbd74aa07a98238dcf9f Author: Michael Weghorn <m.wegh...@posteo.de> AuthorDate: Fri Feb 14 13:37:23 2025 +0100 Commit: Andras Timar <andras.ti...@collabora.com> CommitDate: Wed Aug 20 15:35:12 2025 +0200 gtk4: Own the string when freeing it As the GVariant format string doc says [1] about pointers: > The `&` character is used to indicate that serialised data should be > directly exchanged via a pointer. > > Currently, the only use for this character is when it is applied to a > string (ie: `&s`, `&o` or `&g`). For `g_variant_new()` this has absolutely no > effect. The string is collected and duplicated normally. For > `g_variant_get()` it means that instead of creating a newly allocated copy > of the string, a pointer to the serialised data is returned. This > pointer should not be freed. Validity checks are performed to ensure > that the string data will always be properly nul-terminated. Therefore, freeing the string with g_free(pLabel); is incorrect and resulted in a crash when starting Writer with the gtk4 VCL plugin, s. backtrace below. Use just "s" instead of "&s" for the format string to get a string copy that is owned and can be freed. (Dropping the `g_free` might be an alternative and avoid a string copy, but it's not instantly clear to me whether using "a pointer to the serialised data" is safe without digging any deeper what exactly that means.) Backtrace: free(): invalid pointer [New Thread 125500.125502] [New Thread 125500.125503] [New Thread 125500.125504] [New Thread 125500.125505] [New Thread 125500.125506] [New Thread 125500.125507] [New Thread 125500.125508] [New Thread 125500.125510] [New Thread 125500.125511] [New Thread 125500.125525] Thread 1 received signal SIGABRT, Aborted. __pthread_kill_implementation (threadid=<optimized out>, signo=signo@entry=6, no_tid=no_tid@entry=0) at ./nptl/pthread_kill.c:44 warning: 44 ./nptl/pthread_kill.c: No such file or directory (rr) bt #0 __pthread_kill_implementation (threadid=<optimized out>, signo=signo@entry=6, no_tid=no_tid@entry=0) at ./nptl/pthread_kill.c:44 #1 0x00007f0bb969de2f in __pthread_kill_internal (threadid=<optimized out>, signo=6) at ./nptl/pthread_kill.c:78 #2 0x00007f0bb9649d02 in __GI_raise (sig=sig@entry=6) at ../sysdeps/posix/raise.c:26 #3 0x00007f0bb96324f0 in __GI_abort () at ./stdlib/abort.c:79 #4 0x00007f0bb963332d in __libc_message_impl (fmt=fmt@entry=0x7f0bb97b5303 "%s ") at ../sysdeps/posix/libc_fatal.c:134 #5 0x00007f0bb96a7965 in malloc_printerr (str=str@entry=0x7f0bb97b3082 "free(): invalid pointer") at ./malloc/malloc.c:5772 #6 0x00007f0bb96a9bf4 in _int_free (av=0x7f0bb97f1ac0 <main_arena>, p=<optimized out>, have_lock=have_lock@entry=0) at ./malloc/malloc.c:4507 #7 0x00007f0bb96ac43f in __GI___libc_free (mem=<optimized out>) at ./malloc/malloc.c:3398 #8 0x00007f0ba62b908a in (anonymous namespace)::MenuHelper::get_item_label (this=0x55b0c8dcd360, rIdent="standard") at vcl/unx/gtk4/../gtk3/gtkinst.cxx:5684 #9 0x00007f0ba63013d8 in (anonymous namespace)::GtkInstanceMenu::get_label (this=0x55b0c8dcd360, rIdent="standard") at vcl/unx/gtk4/../gtk3/gtkinst.cxx:11694 #10 0x00007f0ba6301b2f in virtual thunk to (anonymous namespace)::GtkInstanceMenu::get_label(rtl::OUString const&) const () at vcl/unx/gtk4/../gtk3/gtkinst.cxx:11823 #11 0x00007f0bb482d026 in (anonymous namespace)::SelectionTypePopup::GetItemTextForState (this=0x7ffed304ad80, nState=0) at /home/michi/development/git/libreoffice/svx/source/stbctrls/selctrl.cxx:56 #12 0x00007f0bb482cc59 in SvxSelectionModeControl::StateChangedAtStatusBarControl (this=0x55b0c8d2d6e0, eState=SfxItemState::DEFAULT, pState=0x55b0c8f331c0) at /home/michi/development/git/libreoffice/svx/source/stbctrls/selctrl.cxx:128 #13 0x00007f0bb5f9af1e in SfxStatusBarControl::statusChanged (this=0x55b0c8d2d6e0, rEvent=...) at /home/michi/development/git/libreoffice/sfx2/source/statbar/stbitem.cxx:263 #14 0x00007f0bb5a9d4c8 in SfxDispatchController_Impl::addStatusListener (this=0x55b0c8ed6380, aListener=uno::Reference to (SvxSelectionModeControl *) 0x55b0c8d2d6f0, aURL=...) at /home/michi/development/git/libreoffice/sfx2/source/control/unoctitm.cxx:841 #15 0x00007f0bb5a9d174 in SfxOfficeDispatch::addStatusListener (this=0x55b0c8f280e0, aListener=uno::Reference to (SvxSelectionModeControl *) 0x55b0c8d2d6f0, aURL=...) at /home/michi/development/git/libreoffice/sfx2/source/control/unoctitm.cxx:283 #16 0x00007f0bb28a8577 in svt::StatusbarController::bindListener (this=0x55b0c8d2d6e0) at /home/michi/development/git/libreoffice/svtools/source/uno/statusbarcontroller.cxx:462 #17 0x00007f0bb28a7f09 in svt::StatusbarController::update (this=0x55b0c8d2d6e0) at /home/michi/development/git/libreoffice/svtools/source/uno/statusbarcontroller.cxx:169 #18 0x00007f0bb6d41a6b in framework::(anonymous namespace)::lcl_UpdateController<std::__debug::map<unsigned short, com::sun::star::uno::Reference<com::sun::star::frame::XStatusbarController>, std::less<unsigned short>, std::allocator<std::pair<unsigned short const, com::sun::star::uno::Reference<com::sun::star::frame::XStatusbarController> > > > >::operator() (this=0x7ffed304b547, rElement={...}) at /home/michi/development/git/libreoffice/framework/source/uielement/statusbarmanager.cxx:69 #19 0x00007f0bb6d3e5ef in std::for_each<__gnu_debug::_Safe_iterator<std::_Rb_tree_iterator<std::pair<unsigned short const, com::sun::star::uno::Reference<com::sun::star::frame::XStatusbarController> > >, std::__debug::map<unsigned short, com::sun::star::uno::Reference<com::sun::star::frame::XStatusbarController>, std::less<unsigned short>, std::allocator<std::pair<unsigned short const, com::sun::star::uno::Reference<com::sun::star::frame::XStatusbarController> > > >, std::bidirectional_iterator_tag>, framework::(anonymous namespace)::lcl_UpdateController<std::__debug::map<unsigned short, com::sun::star::uno::Reference<com::sun::star::frame::XStatusbarController>, std::less<unsigned short>, std::allocator<std::pair<unsigned short const, com::sun::star::uno::Reference<com::sun::star::frame::XStatusbarController> > > > > > (__first={...}, __last={...}, __f=...) at /usr/lib/gcc/x86_64-linux-gnu/14/../../../../include/c++/14/bits/stl_algo.h:3786 #20 0x00007f0bb6d3d9a5 in framework::StatusBarManager::UpdateControllers (this=0x55b0c8cefc90) at /home/michi/development/git/libreoffice/framework/source/uielement/statusbarmanager.cxx:269 #21 0x00007f0bb6d4028b in framework::StatusBarManager::FillStatusBar (this=0x55b0c8cefc90, rItemContainer=uno::Reference to (framework::ConstItemContainer *) 0x55b0c8e017e8) at /home/michi/development/git/libreoffice/framework/source/uielement/statusbarmanager.cxx:479 #22 0x00007f0bb6d4ae38 in framework::StatusBarWrapper::initialize (this=0x55b0c8d0f060, aArguments=uno::Sequence of length 4 = {...}) at /home/michi/development/git/libreoffice/framework/source/uielement/statusbarwrapper.cxx:117 #23 0x00007f0bb6df9104 in framework::MenuBarFactory::CreateUIElement (ResourceURL="private:resource/statusbar/statusbar", Args=uno::Sequence of length 2 = {...}, ResourceType=u"private:resource/statusbar/", _xMenuBar=uno::Reference to (framework::StatusBarWrapper *) 0x55b0c8d0f0f8, _rxContext=uno::Reference to (cppu::(anonymous namespace)::ComponentContext *) 0x55b0ba8b8308) at /home/michi/development/git/libreoffice/framework/source/uifactory/menubarfactory.cxx:158 #24 0x00007f0bb6df9c0a in (anonymous namespace)::StatusBarFactory::createUIElement (this=0x55b0c8e03800, ResourceURL="private:resource/statusbar/statusbar", Args=uno::Sequence of length 2 = {...}) at /home/michi/development/git/libreoffice/framework/source/uifactory/statusbarfactory.cxx:68 #25 0x00007f0bb6df9d74 in non-virtual thunk to (anonymous namespace)::StatusBarFactory::createUIElement(rtl::OUString const&, com::sun::star::uno::Sequence<com::sun::star::beans::PropertyValue> const&) () at /home/michi/development/git/libreoffice/instdir/program/libfwklo.so #26 0x00007f0bb6e01290 in (anonymous namespace)::UIElementFactoryManager::createUIElement (this=0x55b0bf803260, ResourceURL="private:resource/statusbar/statusbar", Args=uno::Sequence of length 2 = {...}) at /home/michi/development/git/libreoffice/framework/source/uifactory/uielementfactorymanager.cxx:440 #27 0x00007f0bb6e024f4 in non-virtual thunk to (anonymous namespace)::UIElementFactoryManager::createUIElement(rtl::OUString const&, com::sun::star::uno::Sequence<com::sun::star::beans::PropertyValue> const&) () at /home/michi/development/git/libreoffice/instdir/program/libfwklo.so #28 0x00007f0bb6b6d427 in framework::LayoutManager::implts_createElement (this=0x55b0c1e3a170, aName="private:resource/statusbar/statusbar") at /home/michi/development/git/libreoffice/framework/source/layoutmanager/layoutmanager.cxx:730 #29 0x00007f0bb6b71852 in framework::LayoutManager::implts_createStatusBar (this=0x55b0c1e3a170, aStatusBarName="private:resource/statusbar/statusbar") at /home/michi/development/git/libreoffice/framework/source/layoutmanager/layoutmanager.cxx:849 #30 0x00007f0bb6b75bcc in framework::LayoutManager::createElement (this=0x55b0c1e3a170, aName="private:resource/statusbar/statusbar") at /home/michi/development/git/libreoffice/framework/source/layoutmanager/layoutmanager.cxx:1443 #31 0x00007f0bb6b76b57 in framework::LayoutManager::requestElement (this=0x55b0c1e3a170, rResourceURL="private:resource/statusbar/statusbar") at /home/michi/development/git/libreoffice/framework/source/layoutmanager/layoutmanager.cxx:1570 #32 0x00007f0bb595f0b5 in SfxWorkWindow::UpdateStatusBar_Impl (this=0x55b0bf82f570) at /home/michi/development/git/libreoffice/sfx2/source/appl/workwin.cxx:1471 #33 0x00007f0bb595e9a0 in SfxWorkWindow::UpdateObjectBars_Impl2 (this=0x55b0bf82f570) at /home/michi/development/git/libreoffice/sfx2/source/appl/workwin.cxx:1242 #34 0x00007f0bb595e001 in SfxWorkWindow::UpdateObjectBars_Impl (this=0x55b0bf82f570) at /home/michi/development/git/libreoffice/sfx2/source/appl/workwin.cxx:1095 #35 0x00007f0bb59ca573 in SfxDispatcher::Update_Impl (this=0x55b0c742b5b0, bForce=false) at /home/michi/development/git/libreoffice/sfx2/source/control/dispatch.cxx:1123 #36 0x00007f0bb6003921 in SfxBaseController::ConnectSfxFrame_Impl (this=0x55b0c7469930, i_eConnect=SfxBaseController::E_CONNECT) at /home/michi/development/git/libreoffice/sfx2/source/view/sfxbasecontroller.cxx:1207 #37 0x00007f0bb6002ade in SfxBaseController::attachFrame (this=0x55b0c7469930, xFrame=uno::Reference to ((anonymous namespace)::XFrameImpl *) 0x55b0bfb36e40) at /home/michi/development/git/libreoffice/sfx2/source/view/sfxbasecontroller.cxx:531 #38 0x00007f0bb5fd38b9 in utl::ConnectFrameControllerModel (xFrame=uno::Reference to ((anonymous namespace)::XFrameImpl *) 0x55b0bfb36e40, xController=uno::Reference to (SwXTextView *) 0x55b0c7469958, xModel=uno::Reference to (SwXTextDocument *) 0x55b0c71c0670) at include/unotools/fcm.hxx:57 #39 0x00007f0bb5fcfec1 in (anonymous namespace)::SfxFrameLoader_Impl::impl_createDocumentView (i_rModel=uno::Reference to (SwXTextDocument *) 0x55b0c71c0670, i_rFrame=uno::Reference to ((anonymous namespace)::XFrameImpl *) 0x55b0bfb36e40, i_rViewFactoryArgs=..., i_rViewName="Default") at /home/michi/development/git/libreoffice/sfx2/source/view/frmload.cxx:585 #40 0x00007f0bb5fcd45c in (anonymous namespace)::SfxFrameLoader_Impl::load (this=0x55b0c22dc9f0, rArgs=uno::Sequence of length 9 = {...}, _rTargetFrame=uno::Reference to ((anonymous namespace)::XFrameImpl *) 0x55b0bfb36e40) at /home/michi/development/git/libreoffice/sfx2/source/view/frmload.cxx:764 #41 0x00007f0bb6bc2644 in framework::LoadEnv::impl_loadContent (this=0x55b0c1271ec8) at /home/michi/development/git/libreoffice/framework/source/loadenv/loadenv.cxx:1180 #42 0x00007f0bb6bbf7a5 in framework::LoadEnv::start (this=0x55b0c1271ec8) at /home/michi/development/git/libreoffice/framework/source/loadenv/loadenv.cxx:415 #43 0x00007f0bb6bbd452 in framework::LoadEnv::startLoading (this=0x55b0c1271ec8, sURL="private:factory/swriter", lMediaDescriptor=uno::Sequence of length 4 = {...}, xBaseFrame=uno::Reference to (framework::Desktop *) 0x55b0bbbee8c8, sTarget="_default", nSearchFlags=0, eFeature=(LoadEnvFeatu--Type <RET> for more, q to quit, c to continue without paging-- res::WorkWithUI | LoadEnvFeatures::AllowContentHandler)) at /home/michi/development/git/libreoffice/framework/source/loadenv/loadenv.cxx:311 #44 0x00007f0bb6a56311 in framework::LoadDispatcher::impl_dispatch (this=0x55b0c1271e70, rURL=..., lArguments=uno::Sequence of length 4 = {...}, xListener=empty uno::Reference) at /home/michi/development/git/libreoffice/framework/source/dispatch/loaddispatcher.cxx:107 #45 0x00007f0bb6a57071 in framework::LoadDispatcher::dispatchWithReturnValue (this=0x55b0c1271e70, rURL=..., lArguments=uno::Sequence of length 4 = {...}) at /home/michi/development/git/libreoffice/framework/source/dispatch/loaddispatcher.cxx:60 #46 0x00007f0bb6a57114 in non-virtual thunk to framework::LoadDispatcher::dispatchWithReturnValue(com::sun::star::util::URL const&, com::sun::star::uno::Sequence<com::sun::star::beans::PropertyValue> const&) () at /home/michi/development/git/libreoffice/framework/source/dispatch/loaddispatcher.cxx:60 #47 0x00007f0bb80110b0 in comphelper::SynchronousDispatch::dispatch (xStartPoint=uno::Reference to (framework::Desktop *) 0x55b0bbbee8b8, sURL="private:factory/swriter", sTarget="_default", lArguments=uno::Sequence of length 4 = {...}) at /home/michi/development/git/libreoffice/comphelper/source/misc/synchronousdispatch.cxx:62 #48 0x00007f0bb99757fd in desktop::DispatchWatcher::executeDispatchRequests (this=0x55b0c16043b0, aDispatchRequestsList=std::__debug::vector of length 1, capacity 1 = {...}, bNoTerminate=false) at /home/michi/development/git/libreoffice/desktop/source/app/dispatchwatcher.cxx:529 #49 0x00007f0bb9993b5a in desktop::RequestHandler::ExecuteCmdLineRequests (aRequest=..., noTerminate=false) at /home/michi/development/git/libreoffice/desktop/source/app/officeipcthread.cxx:1347 #50 0x00007f0bb992f196 in desktop::Desktop::OpenDefault () at /home/michi/development/git/libreoffice/desktop/source/app/app.cxx:2276 #51 0x00007f0bb992e5cd in desktop::Desktop::OpenClients () at /home/michi/development/git/libreoffice/desktop/source/app/app.cxx:2220 #52 0x00007f0bb992c3a3 in desktop::Desktop::OpenClients_Impl (this=0x7ffed3055280) at /home/michi/development/git/libreoffice/desktop/source/app/app.cxx:1979 #53 0x00007f0bb992aa3d in desktop::Desktop::LinkStubOpenClients_Impl (instance=0x7ffed3055280, data=0x0) at /home/michi/development/git/libreoffice/desktop/source/app/app.cxx:1963 #54 0x00007f0bb02ac091 in Link<void*, void>::Call (this=0x55b0bffb6ba8, data=0x0) at include/tools/link.hxx:105 #55 0x00007f0bb02a8291 in ImplHandleUserEvent (pSVEvent=0x55b0bffb6ba0) at /home/michi/development/git/libreoffice/vcl/source/window/winproc.cxx:2285 #56 0x00007f0bb02a51ba in ImplWindowFrameProc (_pWindow=0x55b0bfc9e9b0, nEvent=SalEvent::UserEvent, pEvent=0x55b0bffb6ba0) at /home/michi/development/git/libreoffice/vcl/source/window/winproc.cxx:2849 #57 0x00007f0bb0e665bc in SalFrame::CallCallback (this=0x55b0bf7eaa50, nEvent=SalEvent::UserEvent, pEvent=0x55b0bffb6ba0) at vcl/inc/salframe.hxx:311 #58 0x00007f0bb0e8ef5f in SalGenericDisplay::ProcessEvent (this=0x55b0baa61510, aEvent=...) at /home/michi/development/git/libreoffice/vcl/unx/generic/app/gendisp.cxx:66 #59 0x00007f0bb09aaddd in SalUserEventList::DispatchUserEvents(bool)::$_0::operator()() const (this=0x7ffed3053530) at /home/michi/development/git/libreoffice/vcl/source/app/salusereventlist.cxx:119 #60 0x00007f0bb09aacb6 in SalUserEventList::DispatchUserEvents (this=0x55b0baa61510, bHandleAllCurrentEvents=false) at /home/michi/development/git/libreoffice/vcl/source/app/salusereventlist.cxx:120 #61 0x00007f0bb0e8eeb5 in SalGenericDisplay::DispatchInternalEvent (this=0x55b0baa61510, bHandleAllCurrentEvent=false) at /home/michi/development/git/libreoffice/vcl/unx/generic/app/gendisp.cxx:51 #62 0x00007f0ba628536f in call_userEventFn (data=0x55b0ba8d13e0) at vcl/unx/gtk4/../gtk3/gtkdata.cxx:827 #63 0x00007f0babd03d5f in ??? () at /lib/x86_64-linux-gnu/libglib-2.0.so.0 #64 0x00007f0babd05fd7 in ??? () at /lib/x86_64-linux-gnu/libglib-2.0.so.0 #65 0x00007f0babd06740 in g_main_context_iteration () at /lib/x86_64-linux-gnu/libglib-2.0.so.0 #66 0x00007f0ba62840ac in GtkSalData::Yield (this=0x55b0ba8d13e0, bWait=true, bHandleAllCurrentEvents=false) at vcl/unx/gtk4/../gtk3/gtkdata.cxx:405 #67 0x00007f0ba6289863 in GtkInstance::DoYield (this=0x55b0ba8d1290, bWait=true, bHandleAllCurrentEvents=false) at vcl/unx/gtk4/../gtk3/gtkinst.cxx:439 #68 0x00007f0bb0a75c06 in ImplYield (i_bWait=true, i_bAllEvents=false) at /home/michi/development/git/libreoffice/vcl/source/app/svapp.cxx:385 #69 0x00007f0bb0a7551f in Application::Yield () at /home/michi/development/git/libreoffice/vcl/source/app/svapp.cxx:488 #70 0x00007f0bb0a75300 in Application::Execute () at /home/michi/development/git/libreoffice/vcl/source/app/svapp.cxx:360 #71 0x00007f0bb9928a19 in desktop::Desktop::Main (this=0x7ffed3055280) at /home/michi/development/git/libreoffice/desktop/source/app/app.cxx:1679 #72 0x00007f0bb0a970d6 in ImplSVMain () at /home/michi/development/git/libreoffice/vcl/source/app/svmain.cxx:230 #73 0x00007f0bb0a98cc9 in SVMain () at /home/michi/development/git/libreoffice/vcl/source/app/svmain.cxx:248 #74 0x00007f0bb99a22fa in soffice_main () at /home/michi/development/git/libreoffice/desktop/source/app/sofficemain.cxx:122 #75 0x000055b09e4b3a6d in sal_main () at /home/michi/development/git/libreoffice/desktop/source/app/main.c:51 #76 0x000055b09e4b3a47 in main (argc=2, argv=0x7ffed3055488) at /home/michi/development/git/libreoffice/desktop/source/app/main.c:49 [1] https://docs.gtk.org/glib/gvariant-format-strings.html#pointers Change-Id: I87bd2840ac573426264d1dff2fd40ab292f09fc1 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/181666 Tested-by: Jenkins Reviewed-by: Michael Weghorn <m.wegh...@posteo.de> (cherry picked from commit 38024bc9559d75696eb8c91ac5b0b41be0baa55f) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/188096 Reviewed-by: Xisco Fauli <xiscofa...@libreoffice.org> diff --git a/vcl/unx/gtk3/gtkinst.cxx b/vcl/unx/gtk3/gtkinst.cxx index db863e297c45..88b6e5b8db95 100644 --- a/vcl/unx/gtk3/gtkinst.cxx +++ b/vcl/unx/gtk3/gtkinst.cxx @@ -5739,7 +5739,7 @@ public: // clone the original item to query its label GMenuItem* pMenuItem = g_menu_item_new_from_model(aRes.first, aRes.second); char *pLabel = nullptr; - g_menu_item_get_attribute(pMenuItem, G_MENU_ATTRIBUTE_LABEL, "&s", &pLabel); + g_menu_item_get_attribute(pMenuItem, G_MENU_ATTRIBUTE_LABEL, "s", &pLabel); OUString aRet(pLabel, pLabel ? strlen(pLabel) : 0, RTL_TEXTENCODING_UTF8); g_free(pLabel); g_object_unref(pMenuItem); commit 856196afdc7a4789b43caeace56c6f9ae2a08102 Author: Caolán McNamara <caolan.mcnam...@collabora.com> AuthorDate: Sat Aug 9 12:38:35 2025 +0100 Commit: Andras Timar <andras.ti...@collabora.com> CommitDate: Wed Aug 20 15:35:12 2025 +0200 cid#1660069 Division or modulo by float zero and cid#1660394 Division or modulo by float zero Change-Id: I10b0b100ff3fe99682bf4e0da6bc9ef3e356a996 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/189257 Reviewed-by: Caolán McNamara <caolan.mcnam...@collabora.com> Tested-by: Jenkins (cherry picked from commit 56c55dceea7ddb15bf42e68d58a2eb23bb5bcd05) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/189294 Reviewed-by: Xisco Fauli <xiscofa...@libreoffice.org> diff --git a/cui/source/tabpages/transfrm.cxx b/cui/source/tabpages/transfrm.cxx index 8e573635aeb5..f2201636d38e 100644 --- a/cui/source/tabpages/transfrm.cxx +++ b/cui/source/tabpages/transfrm.cxx @@ -1020,18 +1020,23 @@ void SvxPositionSizeTabPage::Reset( const SfxItemSet* ) if ( !mbPageDisabled ) { - pItem = GetItem( mrOutAttrs, SID_ATTR_TRANSFORM_POS_X ); - if ( pItem ) + m_xMtrPosX->set_sensitive(fUIScale != 0.0); + m_xMtrPosY->set_sensitive(fUIScale != 0.0); + if (fUIScale != 0.0) { - const double fTmp((static_cast<const SfxInt32Item*>(pItem)->GetValue() - maAnchor.getX()) / fUIScale); - SetMetricValue(*m_xMtrPosX, basegfx::fround(fTmp), mePoolUnit); - } + pItem = GetItem( mrOutAttrs, SID_ATTR_TRANSFORM_POS_X ); + if ( pItem ) + { + const double fTmp((static_cast<const SfxInt32Item*>(pItem)->GetValue() - maAnchor.getX()) / fUIScale); + SetMetricValue(*m_xMtrPosX, basegfx::fround(fTmp), mePoolUnit); + } - pItem = GetItem( mrOutAttrs, SID_ATTR_TRANSFORM_POS_Y ); - if ( pItem ) - { - const double fTmp((static_cast<const SfxInt32Item*>(pItem)->GetValue() - maAnchor.getY()) / fUIScale); - SetMetricValue(*m_xMtrPosY, basegfx::fround(fTmp), mePoolUnit); + pItem = GetItem( mrOutAttrs, SID_ATTR_TRANSFORM_POS_Y ); + if ( pItem ) + { + const double fTmp((static_cast<const SfxInt32Item*>(pItem)->GetValue() - maAnchor.getY()) / fUIScale); + SetMetricValue(*m_xMtrPosY, basegfx::fround(fTmp), mePoolUnit); + } } pItem = GetItem( mrOutAttrs, SID_ATTR_TRANSFORM_PROTECT_POS ); @@ -1052,22 +1057,27 @@ void SvxPositionSizeTabPage::Reset( const SfxItemSet* ) ChangePosProtectHdl(*m_xTsbPosProtect); } - { // #i75273# set width - pItem = GetItem( mrOutAttrs, SID_ATTR_TRANSFORM_WIDTH ); - mfOldWidth = std::max( pItem ? static_cast<double>(static_cast<const SfxUInt32Item*>(pItem)->GetValue()) : 0.0, 1.0 ); - double fTmpWidth((OutputDevice::LogicToLogic(static_cast<sal_Int32>(mfOldWidth), mePoolUnit, MapUnit::Map100thMM)) / fUIScale); - if (m_xMtrWidth->get_digits()) - fTmpWidth *= pow(10.0, m_xMtrWidth->get_digits()); - m_xMtrWidth->set_value(fTmpWidth, FieldUnit::MM_100TH); - } + m_xMtrWidth->set_sensitive(fUIScale != 0.0); + m_xMtrHeight->set_sensitive(fUIScale != 0.0); + if (fUIScale != 0.0) + { + { // #i75273# set width + pItem = GetItem( mrOutAttrs, SID_ATTR_TRANSFORM_WIDTH ); + mfOldWidth = std::max( pItem ? static_cast<double>(static_cast<const SfxUInt32Item*>(pItem)->GetValue()) : 0.0, 1.0 ); + double fTmpWidth((OutputDevice::LogicToLogic(static_cast<sal_Int32>(mfOldWidth), mePoolUnit, MapUnit::Map100thMM)) / fUIScale); + if (m_xMtrWidth->get_digits()) + fTmpWidth *= pow(10.0, m_xMtrWidth->get_digits()); + m_xMtrWidth->set_value(fTmpWidth, FieldUnit::MM_100TH); + } - { // #i75273# set height - pItem = GetItem( mrOutAttrs, SID_ATTR_TRANSFORM_HEIGHT ); - mfOldHeight = std::max( pItem ? static_cast<double>(static_cast<const SfxUInt32Item*>(pItem)->GetValue()) : 0.0, 1.0 ); - double fTmpHeight((OutputDevice::LogicToLogic(static_cast<sal_Int32>(mfOldHeight), mePoolUnit, MapUnit::Map100thMM)) / fUIScale); - if (m_xMtrHeight->get_digits()) - fTmpHeight *= pow(10.0, m_xMtrHeight->get_digits()); - m_xMtrHeight->set_value(fTmpHeight, FieldUnit::MM_100TH); + { // #i75273# set height + pItem = GetItem( mrOutAttrs, SID_ATTR_TRANSFORM_HEIGHT ); + mfOldHeight = std::max( pItem ? static_cast<double>(static_cast<const SfxUInt32Item*>(pItem)->GetValue()) : 0.0, 1.0 ); + double fTmpHeight((OutputDevice::LogicToLogic(static_cast<sal_Int32>(mfOldHeight), mePoolUnit, MapUnit::Map100thMM)) / fUIScale); + if (m_xMtrHeight->get_digits()) + fTmpHeight *= pow(10.0, m_xMtrHeight->get_digits()); + m_xMtrHeight->set_value(fTmpHeight, FieldUnit::MM_100TH); + } } pItem = GetItem( mrOutAttrs, SID_ATTR_TRANSFORM_PROTECT_SIZE ); commit 3c7c19c0f2453e3266a0f60ee61c5b8b8ef38d5b Author: Caolán McNamara <caolan.mcnam...@collabora.com> AuthorDate: Sat Aug 9 16:06:16 2025 +0100 Commit: Andras Timar <andras.ti...@collabora.com> CommitDate: Wed Aug 20 15:35:12 2025 +0200 cid#1660804 Dereference null return value Change-Id: Ib53ec6473809dc99ada574827a378a0ab7b664d0 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/189264 Reviewed-by: Caolán McNamara <caolan.mcnam...@collabora.com> Tested-by: Jenkins (cherry picked from commit 1d3efa2ada37940200f3eed298c9f859a592ae77) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/189290 Reviewed-by: Xisco Fauli <xiscofa...@libreoffice.org> diff --git a/sw/source/core/undo/unattr.cxx b/sw/source/core/undo/unattr.cxx index d8151669b068..f175e82ea65d 100644 --- a/sw/source/core/undo/unattr.cxx +++ b/sw/source/core/undo/unattr.cxx @@ -385,7 +385,7 @@ void SwUndoFormatAttr::SaveFlyAnchor( const SwFormat * pFormat, bool bSvDrwPt ) { // Format is valid, otherwise you would not reach this point here if( bSvDrwPt ) { - if ( RES_DRAWFRMFMT == pFormat->Which() ) { + if (pFormat && RES_DRAWFRMFMT == pFormat->Which()) { Point aPt( static_cast<const SwFrameFormat*>(pFormat)->FindSdrObject() ->GetRelativePos() ); // store old value as attribute, to keep SwUndoFormatAttr small commit 5245a5153c59d6fca9ae1522a154f3a286ed45dd Author: Caolán McNamara <caolan.mcnam...@collabora.com> AuthorDate: Mon Aug 11 09:58:55 2025 +0100 Commit: Andras Timar <andras.ti...@collabora.com> CommitDate: Wed Aug 20 15:35:12 2025 +0200 null deref of pActualSection seen #0 0x00007b8ff1659933 in std::__uniq_ptr_impl<SwActualSection, std::default_delete<SwActualSection> >::reset ( __p=<error reading variable: Cannot access memory at address 0x0>, this=0x7fff18bf8ff8) at /opt/rh/devtoolset-12/root/usr/include/c++/12/bits/unique_ptr.h:201 #1 std::unique_ptr<SwActualSection, std::default_delete<SwActualSection> >::reset ( __p=<error reading variable: Cannot access memory at address 0x0>, this=0x7fff18bf8ff8) at /opt/rh/devtoolset-12/root/usr/include/c++/12/bits/unique_ptr.h:501 #2 InsertCnt_ (pLay=<optimized out>, pLay@entry=0x5fad9100, pDoc=pDoc@entry=0x5e955800, nIndex=..., bPages=bPages@entry=false, nEndIndex=..., nEndIndex@entry=..., pPrv=<optimized out>, eMode=<optimized out>) at sw/source/core/layout/frmtool.cxx:1915 #3 0x00007b8ff165ac01 in MakeFrames (pDoc=pDoc@entry=0x5e955800, rSttIdx=..., rEndIdx=...) at sw/source/core/layout/frmtool.cxx:2211 #4 0x00007b8ff1862f31 in SwUndoDelete::UndoImpl (this=<optimized out>, rContext=...) at sw/source/core/undo/undel.cxx:1184 #5 0x00007b8ff18645aa in SwUndo::UndoWithContext (this=0x62c9c1e0, rContext=...) at sw/source/core/undo/undobj.cxx:225 #6 0x00007b8ffecc6f91 in SfxUndoManager::ImplUndo (this=0x5ea06758, i_contextOrNull=0x7fff18bf9580) at svl/source/undo/undo.cxx:732 #7 0x00007b8ffecc7489 in SfxUndoManager::UndoWithContext (this=<optimized out>, i_context=...) at svl/source/undo/undo.cxx:682 #8 0x00007b8ff184ddd8 in sw::UndoManager::impl_DoUndoRedo (this=0x5ea06750, undoOrRedo=sw::UndoManager::UndoOrRedoType::Undo, nUndoOffset=<optimized out>) at sw/source/core/undo/docundo.cxx:700 #9 0x00007b8ff1591a3b in SwEditShell::Undo (this=this@entry=0x5eaf4900, nCount=nCount@entry=40, nOffset=nOffset@entry=0) at sw/source/core/edit/edundo.cxx:143 #10 0x00007b8ff1f58262 in SwWrtShell::Do (this=this@entry=0x5eaf4900, eDoType=eDoType@entry=SwWrtShell::UNDO, nCnt=nCnt@entry=40, nOffset=<optimized out>) at sw/source/uibase/wrtsh/wrtundo.cxx:45 #11 0x00007b8ff1d4934a in SwBaseShell::ExecUndo (this=<optimized out>, rReq=...) at sw/source/uibase/shells/basesh.cxx:669 #12 0x00007b8ffe7fb3ef in SfxDispatcher::Call_Impl (this=0x5e9cb020, rShell=..., rSlot=..., rReq=..., bRecord=<optimized out>) at sfx2/source/control/dispatch.cxx:255 #13 0x00007b8ffe802af7 in SfxDispatcher::Execute (this=0x5e9cb020, nSlot=<optimized out>, nCall=nCall@entry=SfxCallMode::SYNCHRON, pArgs=pArgs@entry=0x7fff18bf9ca0, pInternalArgs=pInternalArgs@entry=0x7fff18bf9c30, nModi=0) at sfx2/source/control/dispatch.cxx:813 Change-Id: I3e3bd43f853521163581a7e2d575c1ebe7dc2bfb Reviewed-on: https://gerrit.libreoffice.org/c/core/+/189352 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolan.mcnam...@collabora.com> (cherry picked from commit 4d48d43a68b5cdda15092d0ae9b25d48bce6d1de) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/189406 Reviewed-by: Xisco Fauli <xiscofa...@libreoffice.org> diff --git a/sw/source/core/layout/frmtool.cxx b/sw/source/core/layout/frmtool.cxx index d4a62e26e105..64b937cba693 100644 --- a/sw/source/core/layout/frmtool.cxx +++ b/sw/source/core/layout/frmtool.cxx @@ -1909,11 +1909,14 @@ void InsertCnt_( SwLayoutFrame *pLay, SwDoc *pDoc, continue; // skip it } assert(pActualSection && "Section end without section start?"); - assert(pActualSection->GetSectionNode() == pNd->StartOfSectionNode()); //Close the section, where appropriate activate the surrounding //section again. - pActualSection.reset(pActualSection->GetUpper()); + if (pActualSection) + { + assert(pActualSection->GetSectionNode() == pNd->StartOfSectionNode()); + pActualSection.reset(pActualSection->GetUpper()); + } pLay = pLay->FindSctFrame(); if ( pActualSection ) { commit 7f76868406cbdbdf71ef888825d209e54825827f Author: Caolán McNamara <caolan.mcnam...@collabora.com> AuthorDate: Mon Aug 11 08:35:56 2025 +0100 Commit: Andras Timar <andras.ti...@collabora.com> CommitDate: Wed Aug 20 15:35:12 2025 +0200 cid#1659737 Dereference after null check Change-Id: I2a3da97e7a9bceedb3b9940d5625010ab215fdaf Reviewed-on: https://gerrit.libreoffice.org/c/core/+/189334 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolan.mcnam...@collabora.com> (cherry picked from commit 1313be884c4ded639a5f53694c82a1cf2e77fe70) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/189404 Reviewed-by: Xisco Fauli <xiscofa...@libreoffice.org> diff --git a/sw/source/uibase/dbui/dbmgr.cxx b/sw/source/uibase/dbui/dbmgr.cxx index 022104934d8c..0fb2a04e2674 100644 --- a/sw/source/uibase/dbui/dbmgr.cxx +++ b/sw/source/uibase/dbui/dbmgr.cxx @@ -1329,7 +1329,9 @@ bool SwDBManager::MergeMailFiles(SwWrtShell* pSourceShell, sPrefix = aEntry.GetMainURL( INetURLObject::DecodeMechanism::NONE ); } - OUString sExt(comphelper::string::stripStart(pStoreToFilter->GetDefaultExtension(), '*')); + OUString sExt; + if (pStoreToFilter) + sExt = comphelper::string::stripStart(pStoreToFilter->GetDefaultExtension(), '*'); aTempFile.reset( new utl::TempFileNamed(sLeading, sColumnData.isEmpty(), sExt, &sPrefix, true) ); if( !aTempFile->IsValid() ) { commit ea5241f3639f8fae39d0222ad16a225a9d68b810 Author: Oliver Specht <oliver.spe...@cib.de> AuthorDate: Tue Aug 12 07:41:49 2025 +0200 Commit: Andras Timar <andras.ti...@collabora.com> CommitDate: Wed Aug 20 15:35:12 2025 +0200 tdf#164676 fix modify handler in variables tab page Change-Id: Ifb5e71bd14b7938d714873616dd63794e8e1d87b Reviewed-on: https://gerrit.libreoffice.org/c/core/+/189393 Tested-by: Jenkins Reviewed-by: Oliver Specht <oliver.spe...@cib.de> (cherry picked from commit 2081fc359b25b7e4262880cccf7551a4632b3b35) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/189420 Reviewed-by: Xisco Fauli <xiscofa...@libreoffice.org> (cherry picked from commit 1ae15f53c03c966776c46ce4dc87aafea751337e) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/189428 diff --git a/sw/source/ui/fldui/fldvar.cxx b/sw/source/ui/fldui/fldvar.cxx index 63593c9b3077..71e588b17253 100644 --- a/sw/source/ui/fldui/fldvar.cxx +++ b/sw/source/ui/fldui/fldvar.cxx @@ -160,6 +160,7 @@ void SwFieldVarPage::Reset(const SfxItemSet* ) m_xFormatLB->connect_row_activated(LINK(this, SwFieldVarPage, TreeViewInsertHdl)); m_xNumFormatLB->connect_row_activated(LINK(this, SwFieldVarPage, TreeViewInsertHdl)); m_xNameED->connect_changed(LINK(this, SwFieldVarPage, ModifyHdl)); + m_xValueED->connect_changed(LINK(this, SwFieldVarPage, ModifyValueHdl)); m_xNewPB->connect_clicked(LINK(this, SwFieldVarPage, TBClickHdl)); m_xDelPB->connect_clicked(LINK(this, SwFieldVarPage, TBClickHdl)); m_xChapterLevelLB->connect_changed(LINK(this, SwFieldVarPage, ChapterHdl)); @@ -831,6 +832,11 @@ void SwFieldVarPage::FillFormatLB(SwFieldTypesEnum nTypeId) } // Modify +IMPL_LINK_NOARG(SwFieldVarPage, ModifyValueHdl, weld::TextView&, void) +{ + ModifyHdl(*m_xNameED); // apply/insert/delete status update +} + IMPL_LINK_NOARG(SwFieldVarPage, ModifyHdl, weld::Entry&, void) { OUString sValue(m_xValueED->get_text()); diff --git a/sw/source/ui/fldui/fldvar.hxx b/sw/source/ui/fldui/fldvar.hxx index 3aabb8f4e6e3..a478224bd804 100644 --- a/sw/source/ui/fldui/fldvar.hxx +++ b/sw/source/ui/fldui/fldvar.hxx @@ -56,6 +56,7 @@ class SwFieldVarPage : public SwFieldPage DECL_LINK( TypeHdl, weld::TreeView&, void ); DECL_LINK( SubTypeListBoxHdl, weld::TreeView&, void ); DECL_LINK( ModifyHdl, weld::Entry&, void ); + DECL_LINK( ModifyValueHdl, weld::TextView&, void ); DECL_LINK( TBClickHdl, weld::Button&, void ); DECL_LINK( ChapterHdl, weld::ComboBox&, void ); DECL_LINK( SeparatorHdl, weld::Entry&, void ); commit e8baccfedfc6fc852db02a84bdfaecc7022657d5 Author: Caolán McNamara <caolan.mcnam...@collabora.com> AuthorDate: Sat Aug 9 16:04:38 2025 +0100 Commit: Andras Timar <andras.ti...@collabora.com> CommitDate: Wed Aug 20 15:35:12 2025 +0200 cid#1660818 Dereference null return value Change-Id: Iee0004db9ad48e8753c5570fe6c8ebc31b98fd1c Reviewed-on: https://gerrit.libreoffice.org/c/core/+/189263 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolan.mcnam...@collabora.com> (cherry picked from commit 39f512b4e384b39730a637392ff48897eee21331) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/189292 Reviewed-by: Xisco Fauli <xiscofa...@libreoffice.org> diff --git a/sw/source/core/edit/edsect.cxx b/sw/source/core/edit/edsect.cxx index f5af17b48933..49698290666d 100644 --- a/sw/source/core/edit/edsect.cxx +++ b/sw/source/core/edit/edsect.cxx @@ -338,7 +338,7 @@ static const SwNode* lcl_SpecialInsertNode(const SwPosition* pCurrentPos) } if(pInnermostNode != nullptr) { - bool bIsProtected = pInnermostNode->IsProtect(); + bool bCanModify = !pInnermostNode->IsProtect(); //special case - ToxSection // - in this case the inner section could be tox header @@ -354,7 +354,7 @@ static const SwNode* lcl_SpecialInsertNode(const SwPosition* pCurrentPos) if (const SwSection* pSectionParent = pSection->GetParent()) pInnermostNode = pSectionParent->GetFormat()->GetSectionNode(); } - bIsProtected = static_cast<const SwSectionNode*>(pInnermostNode)->IsInProtectSect(); + bCanModify = pInnermostNode && !static_cast<const SwSectionNode*>(pInnermostNode)->IsInProtectSect(); } // The previous version had a check to skip empty read-only sections. Those @@ -362,7 +362,7 @@ static const SwNode* lcl_SpecialInsertNode(const SwPosition* pCurrentPos) // inside a protected area. // Now, pInnermostNode is NULL or the innermost section or table node. - if(!bIsProtected) + if (bCanModify) { OSL_ENSURE( pInnermostNode->IsTableNode() || pInnermostNode->IsSectionNode(), "wrong node found" ); commit 946621e47299e9d97c801de5437822f9a517c332 Author: Xisco Fauli <xiscofa...@libreoffice.org> AuthorDate: Thu Aug 7 00:52:22 2025 +0200 Commit: Andras Timar <andras.ti...@collabora.com> CommitDate: Wed Aug 20 15:35:12 2025 +0200 libffi: upgrade to 3.5.2 Downloaded from https://github.com/libffi/libffi/releases/download/v3.5.2/libffi-3.5.2.tar.gz Change-Id: I38f09c9821b13773bc816afc2d5f027fdf4b7964 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/189030 Reviewed-by: Xisco Fauli <xiscofa...@libreoffice.org> Tested-by: Jenkins (cherry picked from commit ed0414c4b8995cb62d577e9f1de5647660e597cf) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/189038 Reviewed-by: Taichi Haradaguchi <20001...@ymail.ne.jp> diff --git a/download.lst b/download.lst index 284d1359c7b0..48122018f056 100644 --- a/download.lst +++ b/download.lst @@ -492,8 +492,8 @@ LIBEXTTEXTCAT_TARBALL := libexttextcat-3.4.7.tar.xz # three static lines # so that git cherry-pick # will not run into conflicts -LIBFFI_SHA256SUM := f99eb68a67c7d54866b7706af245e87ba060d419a062474b456d3bc8d4abdbd1 -LIBFFI_TARBALL := libffi-3.5.1.tar.gz +LIBFFI_SHA256SUM := f3a3082a23b37c293a4fcd1053147b371f2ff91fa7ea1b2a52e335676bac82dc +LIBFFI_TARBALL := libffi-3.5.2.tar.gz # three static lines # so that git cherry-pick # will not run into conflicts commit d4e4ffb80895018147a98e67b578491ee76b3684 Author: Markus Mohrhard <markus.mohrh...@googlemail.com> AuthorDate: Sat Jul 19 15:13:19 2025 +0800 Commit: Andras Timar <andras.ti...@collabora.com> CommitDate: Wed Aug 20 15:35:12 2025 +0200 tdf#164014: export value filters through the value property to ODS Change-Id: Ia6f8a2d65d1f90488ae1c8d2ca5bb48fc772464d Reviewed-on: https://gerrit.libreoffice.org/c/core/+/188061 Tested-by: Jenkins Reviewed-by: Markus Mohrhard <markus.mohrh...@googlemail.com> (cherry picked from commit 02431246070d3468a0360b212f96a4ea75cac52c) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/188701 Reviewed-by: Xisco Fauli <xiscofa...@libreoffice.org> (cherry picked from commit b3715bd480b44dfedb48b5f3a6ce6a5e2f3d431e) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/189212 diff --git a/sc/source/filter/xml/XMLExportDatabaseRanges.cxx b/sc/source/filter/xml/XMLExportDatabaseRanges.cxx index 5089bea2ca6b..7310a5a83097 100644 --- a/sc/source/filter/xml/XMLExportDatabaseRanges.cxx +++ b/sc/source/filter/xml/XMLExportDatabaseRanges.cxx @@ -474,7 +474,7 @@ private: else { mrExport.AddAttribute(XML_NAMESPACE_TABLE, XML_DATA_TYPE, XML_NUMBER); - mrExport.AddAttribute(XML_NAMESPACE_TABLE, XML_VALUE, rItem.maString.getString()); + mrExport.AddAttribute(XML_NAMESPACE_TABLE, XML_VALUE, OUString::number(rItem.mfVal)); } mrExport.AddAttribute(XML_NAMESPACE_TABLE, XML_OPERATOR, getOperatorXML(rEntry, eSearchType)); commit 0c80aee57fb16a743946ddd5d25c106e97993458 Author: Christian Lohmaier <lohmaier+libreoff...@googlemail.com> AuthorDate: Fri Aug 8 15:33:34 2025 +0200 Commit: Andras Timar <andras.ti...@collabora.com> CommitDate: Wed Aug 20 15:35:12 2025 +0200 update credits Change-Id: I94a8fbf4ac62d9e308b07b1e091059ff412ba80a (cherry picked from commit 2950c046b3bc737f28b638fb25f9101c9117f1cd) diff --git a/readlicense_oo/license/CREDITS.fodt b/readlicense_oo/license/CREDITS.fodt index 16c1cbc45e93..712383b3e40b 100644 --- a/readlicense_oo/license/CREDITS.fodt +++ b/readlicense_oo/license/CREDITS.fodt @@ -1,13 +1,13 @@ <?xml version="1.0" encoding="UTF-8"?> <office:document xmlns:css3t="http://www.w3.org/TR/css3-text/" xmlns:grddl="http://www.w3.org/2003/g/data-view#" xmlns:xhtml="http://www.w3.org/1999/xhtml" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xforms="http://www.w3.org/2002/xforms" xmlns:dom="http://www.w3.org/2001/xml-events" xmlns:script="urn:oasis:names:tc:opendocument:xmlns:script:1.0" xmlns:form="urn:oasis:names:tc:opendocument:xmlns:form:1.0" xmlns:math="http://www.w3.org/1998/Math/MathML" xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0" xmlns:ooo="http://openoffice.org/2004/office" xmlns:fo="urn:oasis:names:tc:opendocument:xmlns:xsl-fo-compatible:1.0" xmlns:config="urn:oasis:names:tc:opendocument:xmlns:config:1.0" xmlns:ooow="http://openoffice.org/2004/writer" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:drawooo="http://openoffice.org/2010/draw" xmlns:oooc="http://openoffice.org/2004/calc" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:c alcext="urn:org:documentfoundation:names:experimental:calc:xmlns:calcext:1.0" xmlns:style="urn:oasis:names:tc:opendocument:xmlns:style:1.0" xmlns:text="urn:oasis:names:tc:opendocument:xmlns:text:1.0" xmlns:of="urn:oasis:names:tc:opendocument:xmlns:of:1.2" xmlns:tableooo="http://openoffice.org/2009/table" xmlns:draw="urn:oasis:names:tc:opendocument:xmlns:drawing:1.0" xmlns:dr3d="urn:oasis:names:tc:opendocument:xmlns:dr3d:1.0" xmlns:rpt="http://openoffice.org/2005/report" xmlns:formx="urn:openoffice:names:experimental:ooxml-odf-interop:xmlns:form:1.0" xmlns:svg="urn:oasis:names:tc:opendocument:xmlns:svg-compatible:1.0" xmlns:chart="urn:oasis:names:tc:opendocument:xmlns:chart:1.0" xmlns:officeooo="http://openoffice.org/2009/office" xmlns:table="urn:oasis:names:tc:opendocument:xmlns:table:1.0" xmlns:field="urn:openoffice:names:experimental:ooo-ms-interop:xmlns:field:1.0" xmlns:number="urn:oasis:names:tc:opendocument:xmlns:datastyle:1.0" xmlns:meta="urn:oasis:names:tc:opendocument:xmlns: meta:1.0" xmlns:loext="urn:org:documentfoundation:names:experimental:office:xmlns:loext:1.0" office:version="1.4" office:mimetype="application/vnd.oasis.opendocument.text"> - <office:meta><dc:title>Credits » LibreOffice</dc:title><meta:keyword>Credits</meta:keyword><meta:keyword>contributors</meta:keyword><meta:keyword>coders</meta:keyword><meta:keyword>developers</meta:keyword><dc:description>Credits for the LibreOffice development/coding.</dc:description><meta:generator>LibreOffice/25.2.4.3$Linux_X86_64 LibreOffice_project/33e196637044ead23f5c3226cde09b47731f7e27</meta:generator><dc:date>2012-02-20T22:17:18.060000000</dc:date><meta:editing-duration>PT14M12S</meta:editing-duration><meta:editing-cycles>3</meta:editing-cycles><meta:document-statistic meta:table-count="4" meta:image-count="1" meta:object-count="0" meta:page-count="2" meta:paragraph-count="4989" meta:word-count="18583" meta:character-count="134710" meta:non-whitespace-character-count="118166"/><meta:user-defined meta:name="google-site-verification">JUebjoxEpqXoQcpltWRTwzBZEEHtch3wApdhgiQPFiA</meta:user-defined></office:meta> + <office:meta><dc:title>Credits » LibreOffice</dc:title><meta:keyword>Credits</meta:keyword><meta:keyword>contributors</meta:keyword><meta:keyword>coders</meta:keyword><meta:keyword>developers</meta:keyword><dc:description>Credits for the LibreOffice development/coding.</dc:description><meta:generator>LibreOffice/25.2.5.2$Linux_X86_64 LibreOffice_project/03d19516eb2e1dd5d4ccd751a0d6f35f35e08022</meta:generator><dc:date>2012-02-20T22:17:18.060000000</dc:date><meta:editing-duration>PT14M12S</meta:editing-duration><meta:editing-cycles>3</meta:editing-cycles><meta:document-statistic meta:table-count="5" meta:image-count="1" meta:object-count="0" meta:page-count="2" meta:paragraph-count="5132" meta:word-count="19381" meta:character-count="140460" meta:non-whitespace-character-count="123258"/><meta:user-defined meta:name="google-site-verification">JUebjoxEpqXoQcpltWRTwzBZEEHtch3wApdhgiQPFiA</meta:user-defined></office:meta> <office:settings> <config:config-item-set config:name="ooo:view-settings"> - <config:config-item config:name="ViewAreaTop" config:type="long">3226</config:config-item> + <config:config-item config:name="ViewAreaTop" config:type="long">3212</config:config-item> <config:config-item config:name="ViewAreaLeft" config:type="long">501</config:config-item> - <config:config-item config:name="ViewAreaWidth" config:type="long">26813</config:config-item> - <config:config-item config:name="ViewAreaHeight" config:type="long">24837</config:config-item> + <config:config-item config:name="ViewAreaWidth" config:type="long">26866</config:config-item> + <config:config-item config:name="ViewAreaHeight" config:type="long">24890</config:config-item> <config:config-item config:name="ShowRedlineChanges" config:type="boolean">true</config:config-item> <config:config-item config:name="InBrowseMode" config:type="boolean">true</config:config-item> <config:config-item-map-indexed config:name="Views"> @@ -16,9 +16,9 @@ <config:config-item config:name="ViewLeft" config:type="long">3323</config:config-item> <config:config-item config:name="ViewTop" config:type="long">3434</config:config-item> <config:config-item config:name="VisibleLeft" config:type="long">501</config:config-item> - <config:config-item config:name="VisibleTop" config:type="long">3226</config:config-item> - <config:config-item config:name="VisibleRight" config:type="long">27312</config:config-item> - <config:config-item config:name="VisibleBottom" config:type="long">28062</config:config-item> + <config:config-item config:name="VisibleTop" config:type="long">3212</config:config-item> + <config:config-item config:name="VisibleRight" config:type="long">27365</config:config-item> + <config:config-item config:name="VisibleBottom" config:type="long">28101</config:config-item> <config:config-item config:name="ZoomType" config:type="short">0</config:config-item> <config:config-item config:name="ViewLayoutColumns" config:type="short">0</config:config-item> <config:config-item config:name="ViewLayoutBookMode" config:type="boolean">false</config:config-item> @@ -153,7 +153,7 @@ <config:config-item config:name="UseOldPrinterMetrics" config:type="boolean">false</config:config-item> <config:config-item config:name="RedlineProtectionKey" config:type="base64Binary"/> <config:config-item config:name="TabsRelativeToIndent" config:type="boolean">true</config:config-item> - <config:config-item config:name="Rsid" config:type="int">14654974</config:config-item> + <config:config-item config:name="Rsid" config:type="int">14771612</config:config-item> <config:config-item config:name="UpdateFromTemplate" config:type="boolean">true</config:config-item> <config:config-item config:name="ProtectForm" config:type="boolean">false</config:config-item> <config:config-item config:name="MsWordCompMinLineHeightByFly" config:type="boolean">false</config:config-item> @@ -182,7 +182,7 @@ <office:styles> <style:default-style style:family="graphic"> <style:graphic-properties svg:stroke-color="#3465a4" draw:fill-color="#729fcf" fo:wrap-option="no-wrap" draw:shadow-offset-x="0.3cm" draw:shadow-offset-y="0.3cm" draw:start-line-spacing-horizontal="0.283cm" draw:start-line-spacing-vertical="0.283cm" draw:end-line-spacing-horizontal="0.283cm" draw:end-line-spacing-vertical="0.283cm" style:writing-mode="lr-tb" style:flow-with-text="true"/> - <style:paragraph-properties style:text-autospace="ideograph-alpha" style:line-break="strict" loext:tab-stop-distance="0cm" style:writing-mode="lr-tb" style:font-independent-line-spacing="false"> + <style:paragraph-properties style:text-autospace="ideograph-alpha" style:line-break="strict" loext:tab-stop-distance="0cm" style:font-independent-line-spacing="false"> <style:tab-stops/> </style:paragraph-properties> <style:text-properties style:use-window-font-color="true" loext:opacity="0%" style:font-name="Thorndale AMT" fo:font-size="12pt" fo:language="hu" fo:country="HU" style:letter-kerning="true" style:font-name-asian="SimSun" style:font-size-asian="12pt" style:language-asian="zh" style:country-asian="CN" style:font-name-complex="Mangal1" style:font-size-complex="12pt" style:language-complex="hi" style:country-complex="IN"/> @@ -376,24 +376,24 @@ </office:styles> <office:automatic-styles> <style:style style:name="Tabelle1" style:family="table"> - <style:table-properties style:width="26.531cm" table:align="left"/> + <style:table-properties style:width="26.584cm" table:align="left"/> </style:style> <style:style style:name="Tabelle1.A" style:family="table-column"> <style:table-column-properties style:column-width="6.886cm"/> </style:style> <style:style style:name="Tabelle1.B" style:family="table-column"> - <style:table-column-properties style:column-width="6.719cm"/> + <style:table-column-properties style:column-width="6.184cm"/> </style:style> <style:style style:name="Tabelle1.C" style:family="table-column"> <style:table-column-properties style:column-width="6.717cm"/> </style:style> <style:style style:name="Tabelle1.D" style:family="table-column"> - <style:table-column-properties style:column-width="6.209cm"/> + <style:table-column-properties style:column-width="6.796cm"/> </style:style> <style:style style:name="Tabelle1.A1" style:family="table-cell"> <style:table-cell-properties style:vertical-align="middle" fo:padding="0.049cm" fo:border="none"/> </style:style> - <style:style style:name="Tabelle1.B490" style:family="table-cell"> + <style:style style:name="Tabelle1.C492" style:family="table-cell"> <style:table-cell-properties fo:padding="0.049cm" fo:border="none"/> </style:style> <style:style style:name="Tabelle2" style:family="table"> @@ -414,49 +414,67 @@ <style:style style:name="Tabelle2.A1" style:family="table-cell"> <style:table-cell-properties style:vertical-align="middle" fo:padding="0.049cm" fo:border="none"/> </style:style> - <style:style style:name="Tabelle2.D9" style:family="table-cell"> - <style:table-cell-properties fo:padding="0.049cm" fo:border="none"/> - </style:style> <style:style style:name="Tabelle3" style:family="table"> - <style:table-properties style:width="16.907cm" table:align="left"/> + <style:table-properties style:width="17.941cm" table:align="left"/> </style:style> <style:style style:name="Tabelle3.A" style:family="table-column"> - <style:table-column-properties style:column-width="3.881cm"/> + <style:table-column-properties style:column-width="3.852cm"/> </style:style> <style:style style:name="Tabelle3.B" style:family="table-column"> - <style:table-column-properties style:column-width="4.867cm"/> + <style:table-column-properties style:column-width="3.826cm"/> </style:style> <style:style style:name="Tabelle3.C" style:family="table-column"> - <style:table-column-properties style:column-width="4.255cm"/> + <style:table-column-properties style:column-width="6.193cm"/> </style:style> <style:style style:name="Tabelle3.D" style:family="table-column"> - <style:table-column-properties style:column-width="3.905cm"/> + <style:table-column-properties style:column-width="4.069cm"/> </style:style> <style:style style:name="Tabelle3.A1" style:family="table-cell"> <style:table-cell-properties style:vertical-align="middle" fo:padding="0.049cm" fo:border="none"/> </style:style> - <style:style style:name="Tabelle3.B3" style:family="table-cell"> + <style:style style:name="Tabelle3.C33" style:family="table-cell"> <style:table-cell-properties fo:padding="0.049cm" fo:border="none"/> </style:style> <style:style style:name="Tabelle4" style:family="table"> - <style:table-properties style:width="26.531cm" table:align="left"/> + <style:table-properties style:width="16.907cm" table:align="left"/> </style:style> <style:style style:name="Tabelle4.A" style:family="table-column"> - <style:table-column-properties style:column-width="5.405cm"/> + <style:table-column-properties style:column-width="3.881cm"/> </style:style> <style:style style:name="Tabelle4.B" style:family="table-column"> - <style:table-column-properties style:column-width="7.451cm"/> + <style:table-column-properties style:column-width="4.867cm"/> </style:style> <style:style style:name="Tabelle4.C" style:family="table-column"> - <style:table-column-properties style:column-width="5.158cm"/> + <style:table-column-properties style:column-width="4.255cm"/> </style:style> <style:style style:name="Tabelle4.D" style:family="table-column"> - <style:table-column-properties style:column-width="8.518cm"/> + <style:table-column-properties style:column-width="3.905cm"/> </style:style> <style:style style:name="Tabelle4.A1" style:family="table-cell"> <style:table-cell-properties style:vertical-align="middle" fo:padding="0.049cm" fo:border="none"/> </style:style> - <style:style style:name="Tabelle4.C744" style:family="table-cell"> + <style:style style:name="Tabelle4.B3" style:family="table-cell"> + <style:table-cell-properties fo:padding="0.049cm" fo:border="none"/> + </style:style> + <style:style style:name="Tabelle5" style:family="table"> + <style:table-properties style:width="26.584cm" table:align="left"/> + </style:style> + <style:style style:name="Tabelle5.A" style:family="table-column"> + <style:table-column-properties style:column-width="7.507cm"/> + </style:style> + <style:style style:name="Tabelle5.B" style:family="table-column"> + <style:table-column-properties style:column-width="6.204cm"/> + </style:style> + <style:style style:name="Tabelle5.C" style:family="table-column"> + <style:table-column-properties style:column-width="7.396cm"/> + </style:style> + <style:style style:name="Tabelle5.D" style:family="table-column"> + <style:table-column-properties style:column-width="5.477cm"/> + </style:style> + <style:style style:name="Tabelle5.A1" style:family="table-cell"> + <style:table-cell-properties style:vertical-align="middle" fo:padding="0.049cm" fo:border="none"/> + </style:style> + <style:style style:name="Tabelle5.B745" style:family="table-cell"> <style:table-cell-properties fo:padding="0.049cm" fo:border="none"/> </style:style> <style:style style:name="P1" style:family="paragraph" style:parent-style-name="Heading_20_1" style:master-page-name="HTML"> @@ -841,7 +859,7 @@ </draw:frame> <text:section text:style-name="Sect1" text:name="BgContainer"> <text:p text:style-name="P1"><text:span text:style-name="T1">Credits</text:span></text:p> - <text:p text:style-name="Text_20_body">2087 individuals contributed to OpenOffice.org (and whose contributions were imported into LibreOffice) or LibreOffice until 2025-07-11 12:45:34.</text:p> + <text:p text:style-name="Text_20_body">2096 individuals contributed to OpenOffice.org (and whose contributions were imported into LibreOffice) or LibreOffice until 2025-08-08 15:22:15.</text:p> <text:p text:style-name="Text_20_body"><text:span text:style-name="T2">*</text:span> marks developers whose first contributions happened after 2010-09-28.</text:p> <text:h text:style-name="P2" text:outline-level="2">Developers committing code since 2010-09-28</text:h> <table:table table:name="Tabelle1" table:style-name="Tabelle1"> @@ -854,7 +872,7 @@ <text:p text:style-name="Table_20_Contents">Ruediger Timm<text:line-break/>Commits: 82464<text:line-break/>Joined: 2000-10-10</text:p> </table:table-cell> <table:table-cell table:style-name="Tabelle1.A1" office:value-type="string"> - <text:p text:style-name="Table_20_Contents">Caolán McNamara<text:line-break/>Commits: 36726<text:line-break/>Joined: 2000-10-10</text:p> + <text:p text:style-name="Table_20_Contents">Caolán McNamara<text:line-break/>Commits: 36913<text:line-break/>Joined: 2000-10-10</text:p> </table:table-cell> <table:table-cell table:style-name="Tabelle1.A1" office:value-type="string"> <text:p text:style-name="Table_20_Contents">Kurt Zenker<text:line-break/>Commits: 31752<text:line-break/>Joined: 2000-09-25</text:p> @@ -871,15 +889,15 @@ <text:p text:style-name="Table_20_Contents">Vladimir Glazunov<text:line-break/>Commits: 25434<text:line-break/>Joined: 2000-12-04</text:p> </table:table-cell> <table:table-cell table:style-name="Tabelle1.A1" office:value-type="string"> - <text:p text:style-name="Table_20_Contents">Stephan Bergmann<text:line-break/>Commits: 21523<text:line-break/>Joined: 2000-10-04</text:p> + <text:p text:style-name="Table_20_Contents">Stephan Bergmann<text:line-break/>Commits: 21525<text:line-break/>Joined: 2000-10-04</text:p> </table:table-cell> <table:table-cell table:style-name="Tabelle1.A1" office:value-type="string"> - <text:p text:style-name="Table_20_Contents"><text:span text:style-name="T2">*</text:span>Noel Grandin<text:line-break/>Commits: 20080<text:line-break/>Joined: <text:span text:style-name="T3">2011-12-12</text:span></text:p> + <text:p text:style-name="Table_20_Contents"><text:span text:style-name="T2">*</text:span>Noel Grandin<text:line-break/>Commits: 20206<text:line-break/>Joined: <text:span text:style-name="T3">2011-12-12</text:span></text:p> </table:table-cell> </table:table-row> <table:table-row> <table:table-cell table:style-name="Tabelle1.A1" office:value-type="string"> - <text:p text:style-name="Table_20_Contents">Miklos Vajna<text:line-break/>Commits: 10273<text:line-break/>Joined: 2010-07-29</text:p> + <text:p text:style-name="Table_20_Contents">Miklos Vajna<text:line-break/>Commits: 10289<text:line-break/>Joined: 2010-07-29</text:p> </table:table-cell> <table:table-cell table:style-name="Tabelle1.A1" office:value-type="string"> <text:p text:style-name="Table_20_Contents">Ivo Hinkelmann<text:line-break/>Commits: 9480<text:line-break/>Joined: 2002-09-09</text:p> @@ -893,13 +911,13 @@ </table:table-row> <table:table-row> <table:table-cell table:style-name="Tabelle1.A1" office:value-type="string"> - <text:p text:style-name="Table_20_Contents">Kohei Yoshida<text:line-break/>Commits: 5572<text:line-break/>Joined: 2009-06-19</text:p> + <text:p text:style-name="Table_20_Contents">Kohei Yoshida<text:line-break/>Commits: 5576<text:line-break/>Joined: 2009-06-19</text:p> </table:table-cell> <table:table-cell table:style-name="Tabelle1.A1" office:value-type="string"> - <text:p text:style-name="Table_20_Contents">Eike Rathke<text:line-break/>Commits: 5395<text:line-break/>Joined: 2000-10-11</text:p> + <text:p text:style-name="Table_20_Contents">Eike Rathke<text:line-break/>Commits: 5396<text:line-break/>Joined: 2000-10-11</text:p> </table:table-cell> <table:table-cell table:style-name="Tabelle1.A1" office:value-type="string"> - <text:p text:style-name="Table_20_Contents"><text:span text:style-name="T2">*</text:span>Markus Mohrhard<text:line-break/>Commits: 5203<text:line-break/>Joined: <text:span text:style-name="T3">2011-03-17</text:span></text:p> + <text:p text:style-name="Table_20_Contents"><text:span text:style-name="T2">*</text:span>Markus Mohrhard<text:line-break/>Commits: 5212<text:line-break/>Joined: <text:span text:style-name="T3">2011-03-17</text:span></text:p> </table:table-cell> <table:table-cell table:style-name="Tabelle1.A1" office:value-type="string"> <text:p text:style-name="Table_20_Contents">Frank Schoenheit [fs]<text:line-break/>Commits: 5008<text:line-break/>Joined: 2000-09-19</text:p> @@ -907,27 +925,27 @@ </table:table-row> <table:table-row> <table:table-cell table:style-name="Tabelle1.A1" office:value-type="string"> - <text:p text:style-name="Table_20_Contents"><text:span text:style-name="T2">*</text:span>Andrea Gelmini<text:line-break/>Commits: 4431<text:line-break/>Joined: <text:span text:style-name="T3">2014-10-30</text:span></text:p> + <text:p text:style-name="Table_20_Contents"><text:span text:style-name="T2">*</text:span>Andrea Gelmini<text:line-break/>Commits: 4444<text:line-break/>Joined: <text:span text:style-name="T3">2014-10-30</text:span></text:p> </table:table-cell> <table:table-cell table:style-name="Tabelle1.A1" office:value-type="string"> - <text:p text:style-name="Table_20_Contents"><text:span text:style-name="T2">*</text:span>Mike Kaganski<text:line-break/>Commits: 4212<text:line-break/>Joined: <text:span text:style-name="T3">2015-04-26</text:span></text:p> + <text:p text:style-name="Table_20_Contents"><text:span text:style-name="T2">*</text:span>Mike Kaganski<text:line-break/>Commits: 4296<text:line-break/>Joined: <text:span text:style-name="T3">2015-04-26</text:span></text:p> </table:table-cell> <table:table-cell table:style-name="Tabelle1.A1" office:value-type="string"> - <text:p text:style-name="Table_20_Contents"><text:span text:style-name="T2">*</text:span>Julien Nabet<text:line-break/>Commits: 3997<text:line-break/>Joined: <text:span text:style-name="T3">2010-11-04</text:span></text:p> + <text:p text:style-name="Table_20_Contents"><text:span text:style-name="T2">*</text:span>Julien Nabet<text:line-break/>Commits: 4002<text:line-break/>Joined: <text:span text:style-name="T3">2010-11-04</text:span></text:p> </table:table-cell> <table:table-cell table:style-name="Tabelle1.A1" office:value-type="string"> - <text:p text:style-name="Table_20_Contents"><text:span text:style-name="T2">*</text:span>Xisco Fauli<text:line-break/>Commits: 3715<text:line-break/>Joined: <text:span text:style-name="T3">2011-02-06</text:span></text:p> + <text:p text:style-name="Table_20_Contents"><text:span text:style-name="T2">*</text:span>Xisco Fauli<text:line-break/>Commits: 3733<text:line-break/>Joined: <text:span text:style-name="T3">2011-02-06</text:span></text:p> </table:table-cell> </table:table-row> <table:table-row> <table:table-cell table:style-name="Tabelle1.A1" office:value-type="string"> - <text:p text:style-name="Table_20_Contents"><text:span text:style-name="T2">*</text:span>Tomaž Vajngerl<text:line-break/>Commits: 3687<text:line-break/>Joined: <text:span text:style-name="T3">2012-06-02</text:span></text:p> + <text:p text:style-name="Table_20_Contents"><text:span text:style-name="T2">*</text:span>Tomaž Vajngerl<text:line-break/>Commits: 3696<text:line-break/>Joined: <text:span text:style-name="T3">2012-06-02</text:span></text:p> </table:table-cell> <table:table-cell table:style-name="Tabelle1.A1" office:value-type="string"> <text:p text:style-name="Table_20_Contents">David Tardon<text:line-break/>Commits: 3648<text:line-break/>Joined: 2009-11-12</text:p> </table:table-cell> <table:table-cell table:style-name="Tabelle1.A1" office:value-type="string"> - <text:p text:style-name="Table_20_Contents"><text:span text:style-name="T2">*</text:span>Michael Weghorn<text:line-break/>Commits: 3285<text:line-break/>Joined: <text:span text:style-name="T3">2014-09-10</text:span></text:p> + <text:p text:style-name="Table_20_Contents"><text:span text:style-name="T2">*</text:span>Michael Weghorn<text:line-break/>Commits: 3587<text:line-break/>Joined: <text:span text:style-name="T3">2014-09-10</text:span></text:p> </table:table-cell> <table:table-cell table:style-name="Tabelle1.A1" office:value-type="string"> <text:p text:style-name="Table_20_Contents">Luboš Luňák<text:line-break/>Commits: 3201<text:line-break/>Joined: 2010-09-21</text:p> @@ -944,7 +962,7 @@ <text:p text:style-name="Table_20_Contents">Oliver Specht<text:line-break/>Commits: 2696<text:line-break/>Joined: 2000-09-21</text:p> </table:table-cell> <table:table-cell table:style-name="Tabelle1.A1" office:value-type="string"> - <text:p text:style-name="Table_20_Contents">Jan Holesovsky<text:line-break/>Commits: 2672<text:line-break/>Joined: 2009-06-23</text:p> + <text:p text:style-name="Table_20_Contents">Jan Holesovsky<text:line-break/>Commits: 2673<text:line-break/>Joined: 2009-06-23</text:p> </table:table-cell> </table:table-row> <table:table-row> @@ -958,7 +976,7 @@ <text:p text:style-name="Table_20_Contents">Bjoern Michaelsen<text:line-break/>Commits: 2510<text:line-break/>Joined: 2009-10-14</text:p> </table:table-cell> <table:table-cell table:style-name="Tabelle1.A1" office:value-type="string"> - <text:p text:style-name="Table_20_Contents"><text:span text:style-name="T2">*</text:span>Olivier Hallot<text:line-break/>Commits: 2438<text:line-break/>Joined: <text:span text:style-name="T3">2010-10-25</text:span></text:p> + <text:p text:style-name="Table_20_Contents"><text:span text:style-name="T2">*</text:span>Olivier Hallot<text:line-break/>Commits: 2450<text:line-break/>Joined: <text:span text:style-name="T3">2010-10-25</text:span></text:p> </table:table-cell> </table:table-row> <table:table-row> @@ -972,7 +990,7 @@ <text:p text:style-name="Table_20_Contents">Philipp Lohmann [pl]<text:line-break/>Commits: 2089<text:line-break/>Joined: 2000-09-21</text:p> </table:table-cell> <table:table-cell table:style-name="Tabelle1.A1" office:value-type="string"> - <text:p text:style-name="Table_20_Contents"><text:span text:style-name="T2">*</text:span>Andras Timar<text:line-break/>Commits: 2068<text:line-break/>Joined: <text:span text:style-name="T3">2010-10-02</text:span></text:p> + <text:p text:style-name="Table_20_Contents"><text:span text:style-name="T2">*</text:span>Andras Timar<text:line-break/>Commits: 2074<text:line-break/>Joined: <text:span text:style-name="T3">2010-10-02</text:span></text:p> </table:table-cell> </table:table-row> <table:table-row> @@ -986,7 +1004,7 @@ <text:p text:style-name="Table_20_Contents"><text:span text:style-name="T2">*</text:span>Matúš Kukan<text:line-break/>Commits: 1712<text:line-break/>Joined: <text:span text:style-name="T3">2011-04-06</text:span></text:p> </table:table-cell> <table:table-cell table:style-name="Tabelle1.A1" office:value-type="string"> - <text:p text:style-name="Table_20_Contents"><text:span text:style-name="T2">*</text:span>Christopher Sherlock<text:line-break/>Commits: 1570<text:line-break/>Joined: <text:span text:style-name="T3">2013-02-25</text:span></text:p> + <text:p text:style-name="Table_20_Contents"><text:span text:style-name="T2">*</text:span>Christopher Sherlock<text:line-break/>Commits: 1577<text:line-break/>Joined: <text:span text:style-name="T3">2013-02-25</text:span></text:p> </table:table-cell> </table:table-row> <table:table-row> @@ -1000,7 +1018,7 @@ <text:p text:style-name="Table_20_Contents">Thorsten Behrens<text:line-break/>Commits: 1442<text:line-break/>Joined: 2001-04-25</text:p> </table:table-cell> <table:table-cell table:style-name="Tabelle1.A1" office:value-type="string"> - <text:p text:style-name="Table_20_Contents">Christian Lohmaier<text:line-break/>Commits: 1428<text:line-break/>Joined: 2008-06-01</text:p> + <text:p text:style-name="Table_20_Contents">Christian Lohmaier<text:line-break/>Commits: 1432<text:line-break/>Joined: 2008-06-01</text:p> </table:table-cell> </table:table-row> <table:table-row> @@ -1042,7 +1060,7 @@ <text:p text:style-name="Table_20_Contents"><text:span text:style-name="T2">*</text:span>Lionel Elie Mamane<text:line-break/>Commits: 1051<text:line-break/>Joined: <text:span text:style-name="T3">2011-01-15</text:span></text:p> </table:table-cell> <table:table-cell table:style-name="Tabelle1.A1" office:value-type="string"> - <text:p text:style-name="Table_20_Contents"><text:span text:style-name="T2">*</text:span>László Németh<text:line-break/>Commits: 1012<text:line-break/>Joined: <text:span text:style-name="T3">2010-09-29</text:span></text:p> + <text:p text:style-name="Table_20_Contents"><text:span text:style-name="T2">*</text:span>László Németh<text:line-break/>Commits: 1013<text:line-break/>Joined: <text:span text:style-name="T3">2010-09-29</text:span></text:p> </table:table-cell> </table:table-row> <table:table-row> @@ -1056,7 +1074,7 @@ <text:p text:style-name="Table_20_Contents">Noel Power<text:line-break/>Commits: 950<text:line-break/>Joined: 2002-09-24</text:p> </table:table-cell> <table:table-cell table:style-name="Tabelle1.A1" office:value-type="string"> - <text:p text:style-name="Table_20_Contents"><text:span text:style-name="T2">*</text:span>Khaled Hosny<text:line-break/>Commits: 930<text:line-break/>Joined: <text:span text:style-name="T3">2011-01-28</text:span></text:p> + <text:p text:style-name="Table_20_Contents"><text:span text:style-name="T2">*</text:span>Khaled Hosny<text:line-break/>Commits: 931<text:line-break/>Joined: <text:span text:style-name="T3">2011-01-28</text:span></text:p> </table:table-cell> </table:table-row> <table:table-row> @@ -1120,13 +1138,13 @@ <text:p text:style-name="Table_20_Contents">Joerg Skottke [jsk]<text:line-break/>Commits: 678<text:line-break/>Joined: 2008-06-17</text:p> </table:table-cell> <table:table-cell table:style-name="Tabelle1.A1" office:value-type="string"> -e ... etc. - the rest is truncated