core.git: Branch 'distro/collabora/co-25.04' - 2 commits - sd/source

2025-02-11 Thread Hubert Figuière (via logerrit)
 sd/source/ui/unoidl/unomodel.cxx |   10 --
 1 file changed, 8 insertions(+), 2 deletions(-)

New commits:
commit a00acd19d15a3c45b417eee572f0312fc422319d
Author: Hubert Figuière 
AuthorDate: Wed Sep 18 17:22:14 2024 -0400
Commit: Andras Timar 
CommitDate: Tue Feb 11 13:36:16 2025 +0100

lok: getSlideShowInfo: return the slide names

This allow finding slides by bookmark

Change-Id: Ia951aebdd04b67f4138138f7c0e1404078cc23ac
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/178345
Tested-by: Jenkins
Reviewed-by: Miklos Vajna 

diff --git a/sd/source/ui/unoidl/unomodel.cxx b/sd/source/ui/unoidl/unomodel.cxx
index 91eb985ee651..577666448bfd 100644
--- a/sd/source/ui/unoidl/unomodel.cxx
+++ b/sd/source/ui/unoidl/unomodel.cxx
@@ -4504,13 +4504,19 @@ OString SdXImpressDocument::getPresentationInfo() const
 }
 else
 {
-SdrPage* pPage = pSlide->GetSdrPage();
+SdPage* pPage = SdPage::getImplementation(pSlide);
 
 auto aSlideNode = aJsonWriter.startStruct();
 std::string sSlideHash = 
GetInterfaceHash(cppu::getXWeak(pSlide));
 aJsonWriter.put("hash", sSlideHash);
 aJsonWriter.put("index", i);
 
+if (pPage)
+{
+auto aName = 
SdDrawPage::getPageApiNameFromUiName(pPage->GetName());
+aJsonWriter.put("name", aName);
+}
+
 bool bIsDrawPageEmpty = pSlide->getCount() == 0;
 aJsonWriter.put("empty", bIsDrawPageEmpty);
 
commit 3e4f902ac5f78473f62f1b10faf92d353b3a51bf
Author: Hubert Figuière 
AuthorDate: Tue Sep 10 14:24:28 2024 -0400
Commit: Andras Timar 
CommitDate: Tue Feb 11 13:35:05 2025 +0100

lok: impress: Fix variable name

Was missed in https://gerrit.libreoffice.org/c/core/+/172847

Change-Id: I8e5ece6be2253106df6b6e535afa5efaa86850a5
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/178291
Reviewed-by: Miklos Vajna 
Tested-by: Jenkins

diff --git a/sd/source/ui/unoidl/unomodel.cxx b/sd/source/ui/unoidl/unomodel.cxx
index db5c5ce45a4e..91eb985ee651 100644
--- a/sd/source/ui/unoidl/unomodel.cxx
+++ b/sd/source/ui/unoidl/unomodel.cxx
@@ -4592,7 +4592,7 @@ OString SdXImpressDocument::getPresentationInfo() const
 uno::Reference const 
xShapes(cppu::getXWeak(pSlide), uno::UNO_QUERY_THROW);
 if (xShapes.is())
 {
-auto aVideoList = aJsonWriter.startArray("interactions");
+auto aInteractions = 
aJsonWriter.startArray("interactions");
 auto count = xShapes->getCount();
 for (auto j = 0; j < count; j++)
 {


core.git: sc/qa sc/source

2025-02-11 Thread Noel Grandin (via logerrit)
 sc/qa/unit/data/ods/RowHeightTdf165003.ods |binary
 sc/qa/unit/subsequent_filters_test4.cxx|   23 +++
 sc/source/core/data/column2.cxx|8 +++-
 3 files changed, 30 insertions(+), 1 deletion(-)

New commits:
commit f2639e2a98f114f053a13da669440587d56a0dd8
Author: Noel Grandin 
AuthorDate: Tue Feb 11 12:54:02 2025 +0200
Commit: Noel Grandin 
CommitDate: Tue Feb 11 14:39:09 2025 +0100

tdf#165003 Row height wrong at writing direction 90°

regression from
commit f91a411340ae204ce1e6997f22e0352a4c6a8355
Author: Noel Grandin 
Date:   Thu May 23 15:09:52 2024 +0200
reduce cost of calc column height calculation

This also fixes another bug in the above commit where the code did not
update nValue for the "else if (bBreak && !bWidth)" case

Change-Id: I367a56c2cb555336e1d510efb0c7acac1447525f
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/181417
Tested-by: Jenkins
Reviewed-by: Noel Grandin 

diff --git a/sc/qa/unit/data/ods/RowHeightTdf165003.ods 
b/sc/qa/unit/data/ods/RowHeightTdf165003.ods
new file mode 100644
index ..b3672f929f82
Binary files /dev/null and b/sc/qa/unit/data/ods/RowHeightTdf165003.ods differ
diff --git a/sc/qa/unit/subsequent_filters_test4.cxx 
b/sc/qa/unit/subsequent_filters_test4.cxx
index 72a5b1bd2a53..d8f11d5a3493 100644
--- a/sc/qa/unit/subsequent_filters_test4.cxx
+++ b/sc/qa/unit/subsequent_filters_test4.cxx
@@ -440,6 +440,29 @@ CPPUNIT_TEST_FIXTURE(ScFiltersTest4, testRowHeightODS)
 CPPUNIT_ASSERT_MESSAGE("Row should have an automatic height.", !bManual);
 }
 
+CPPUNIT_TEST_FIXTURE(ScFiltersTest4, testRowHeightTdf165003)
+{
+createScDoc("ods/RowHeightTdf165003.ods");
+
+SCTAB nTab = 0;
+SCROW nRow = 0;
+ScDocument* pDoc = getScDoc();
+
+int nHeight = pDoc->GetRowHeight(nRow, nTab, false);
+CPPUNIT_ASSERT_EQUAL(256, nHeight);
+nHeight = pDoc->GetRowHeight(++nRow, nTab, false);
+CPPUNIT_ASSERT_EQUAL(256, nHeight);
+nHeight = pDoc->GetRowHeight(++nRow, nTab, false);
+CPPUNIT_ASSERT_EQUAL(256, nHeight);
+nHeight = pDoc->GetRowHeight(++nRow, nTab, false);
+CPPUNIT_ASSERT_EQUAL(256, nHeight);
+// this row has 90-degree rotated text, and without the fix, would have 
had zero height.
+nHeight = pDoc->GetRowHeight(++nRow, nTab, false);
+CPPUNIT_ASSERT_EQUAL(582, nHeight);
+nHeight = pDoc->GetRowHeight(++nRow, nTab, false);
+CPPUNIT_ASSERT_EQUAL(256, nHeight);
+}
+
 CPPUNIT_TEST_FIXTURE(ScFiltersTest4, testRichTextContentODS)
 {
 createScDoc("ods/rich-text-cells.ods");
diff --git a/sc/source/core/data/column2.cxx b/sc/source/core/data/column2.cxx
index e0e5505da9aa..37db657fb552 100644
--- a/sc/source/core/data/column2.cxx
+++ b/sc/source/core/data/column2.cxx
@@ -310,7 +310,10 @@ tools::Long ScColumn::GetNeededSize(
 tools::Long nWidth = 0;
 if ( eOrient != SvxCellOrientation::Standard )
 {
-nWidth = pDev->GetTextHeight();
+tools::Long nHeight = pDev->GetTextHeight();
+// swap width and height
+nValue = bWidth ? nHeight : pDev->GetTextWidth( aValStr );
+nWidth = nHeight;
 }
 else if ( nRotate )
 {
@@ -363,7 +366,10 @@ tools::Long ScColumn::GetNeededSize(
 }
 }
 else if (bBreak && !bWidth)
+{
 nWidth = pDev->GetTextWidth(aValStr);
+nValue = pDev->GetTextHeight();
+}
 else
 // in the common case (height), avoid calling the expensive 
GetTextWidth
 nValue = bWidth ? pDev->GetTextWidth( aValStr ) : 
pDev->GetTextHeight();


core.git: Branch 'feature/cib_contract891c' - xmlsecurity/qa

2025-02-11 Thread Thorsten Behrens (via logerrit)
 xmlsecurity/qa/unit/pdfsigning/pdfsigning.cxx |8 
 1 file changed, 8 insertions(+)

New commits:
commit 62417cc5bee7cbc130f6810ac2bd4ff8667cdb29
Author: Thorsten Behrens 
AuthorDate: Tue Feb 11 17:12:51 2025 +0100
Commit: Thorsten Behrens 
CommitDate: Tue Feb 11 17:12:51 2025 +0100

Make pdf signature tests conditional to pdfium availability

Change-Id: I5f3000ef58eeefee469fdc6fdca6d3217afec0cd

diff --git a/xmlsecurity/qa/unit/pdfsigning/pdfsigning.cxx 
b/xmlsecurity/qa/unit/pdfsigning/pdfsigning.cxx
index 58335210bf5d..3b95ebf548e8 100644
--- a/xmlsecurity/qa/unit/pdfsigning/pdfsigning.cxx
+++ b/xmlsecurity/qa/unit/pdfsigning/pdfsigning.cxx
@@ -436,6 +436,7 @@ void PDFSigningTest::testBadCertP1()
 = verify(m_directories.getURLFromSrc(DATA_DIRECTORY) + 
"bad-cert-p1.pdf", 1,
  /*rExpectedSubFilter=*/OString());
 CPPUNIT_ASSERT(!aInfos.empty());
+#if HAVE_FEATURE_PDFIUM
 SignatureInformation& rInformation = aInfos[0];
 // Without the accompanying fix in place, this test would have failed with:
 // - Expected: 0 (SecurityOperationStatus_UNKNOWN)
@@ -443,6 +444,7 @@ void PDFSigningTest::testBadCertP1()
 // i.e. annotation after a P1 signature was not considered as a bad 
modification.
 
CPPUNIT_ASSERT_EQUAL(xml::crypto::SecurityOperationStatus::SecurityOperationStatus_UNKNOWN,
  rInformation.nStatus);
+#endif
 }
 
 void PDFSigningTest::testBadCertP3Stamp()
@@ -451,6 +453,7 @@ void PDFSigningTest::testBadCertP3Stamp()
 = verify(m_directories.getURLFromSrc(DATA_DIRECTORY) + 
"bad-cert-p3-stamp.pdf", 1,
  /*rExpectedSubFilter=*/OString());
 CPPUNIT_ASSERT(!aInfos.empty());
+#if HAVE_FEATURE_PDFIUM
 SignatureInformation& rInformation = aInfos[0];
 
 // Without the accompanying fix in place, this test would have failed with:
@@ -459,6 +462,7 @@ void PDFSigningTest::testBadCertP3Stamp()
 // i.e. adding a stamp annotation was not considered as a bad modification.
 
CPPUNIT_ASSERT_EQUAL(xml::crypto::SecurityOperationStatus::SecurityOperationStatus_UNKNOWN,
  rInformation.nStatus);
+#endif
 }
 
 /// Test writing a PAdES signature.
@@ -473,12 +477,14 @@ void PDFSigningTest::testSigningCertificateAttribute()
 if (!bHadCertificates)
 return;
 
+#if HAVE_FEATURE_PDFIUM
 // Verify it.
 std::vector aInfos = verify(aOutURL, 1, 
"ETSI.CAdES.detached");
 CPPUNIT_ASSERT(!aInfos.empty());
 SignatureInformation& rInformation = aInfos[0];
 // Assert that it has a signed signingCertificateV2 attribute.
 CPPUNIT_ASSERT(rInformation.bHasSigningCertificate);
+#endif
 }
 
 void PDFSigningTest::testGood()
@@ -491,6 +497,7 @@ void PDFSigningTest::testGood()
 "dict-bool.pdf",
 };
 
+#if HAVE_FEATURE_PDFIUM
 for (const auto& rName : aNames)
 {
 std::vector aInfos = 
verify(m_directories.getURLFromSrc(DATA_DIRECTORY) + rName, 1, 
/*rExpectedSubFilter=*/OString());
@@ -498,6 +505,7 @@ void PDFSigningTest::testGood()
 SignatureInformation& rInformation = aInfos[0];
 
CPPUNIT_ASSERT_EQUAL((int)xml::crypto::SecurityOperationStatus_OPERATION_SUCCEEDED,
 (int)rInformation.nStatus);
 }
+#endif
 }
 
 void PDFSigningTest::testTokenize()


core.git: winaccessibility/source

2025-02-11 Thread Andrea Gelmini (via logerrit)
 winaccessibility/source/UAccCOM/MAccessible.cxx |2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

New commits:
commit a4dac9f93347aa3321e8efe7c575e87ab418f5e6
Author: Andrea Gelmini 
AuthorDate: Tue Feb 11 10:32:26 2025 +0100
Commit: Julien Nabet 
CommitDate: Tue Feb 11 15:19:54 2025 +0100

Fix typo

Change-Id: I34fef02e800fd1ca8d2e00e30c66e9dbea02621c
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/181410
Tested-by: Jenkins
Reviewed-by: Julien Nabet 

diff --git a/winaccessibility/source/UAccCOM/MAccessible.cxx 
b/winaccessibility/source/UAccCOM/MAccessible.cxx
index a6454f3c39f8..f1a8a9b548b2 100644
--- a/winaccessibility/source/UAccCOM/MAccessible.cxx
+++ b/winaccessibility/source/UAccCOM/MAccessible.cxx
@@ -302,7 +302,7 @@ COM_DECLSPEC_NOTHROW STDMETHODIMP 
CMAccessible::get_accChildCount(long *pcountCh
 // return error code if child count exceeds max long value
 // (for Calc sheets which report all cells as children);
 // tdf#153131: Windows Speech Recognition and apparently some 
other
-// tools quering information via the a11y API seem to query 
all children unconditionally,
+// tools querying information via the a11y API seem to query 
all children unconditionally,
 // so returning a large number (like 
std::numeric_limits::max) would cause a freeze
 SAL_WARN("iacc2", "CMAccessible::get_accChildCount: Child 
count exceeds maximum long value");
 return S_FALSE;


core.git: Branch 'distro/collabora/co-24.04' - writerfilter/source

2025-02-11 Thread Justin Luth (via logerrit)
 writerfilter/source/dmapper/DomainMapper.cxx  |2 +-
 writerfilter/source/dmapper/DomainMapper_Impl.cxx |4 ++--
 2 files changed, 3 insertions(+), 3 deletions(-)

New commits:
commit 706b303a5abadd7cd4f58905ae6582c84ed5dcbd
Author: Justin Luth 
AuthorDate: Sat Feb 8 20:00:38 2025 -0500
Commit: Miklos Vajna 
CommitDate: Tue Feb 11 15:27:05 2025 +0100

tdf#164876 tdf#165117 writerfilter: no dummy paragraphs in header

The problem was that an extra CR was being added
(often every round-trip) to headers that started with a table.

This is a long-standing bug (see moz1211781-1.docx)
that got more exposure recently from changes to
7.6.6 (via 86ad08f9d25110e91e92a0badf6de75e785b3644)
and 24.8.0 (via ef77086255821d61838a7e26fee9baadaca0b9e0)

Change-Id: Idb6a0efda246fa064822f01a9ce097f686810b5c
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/181307
Tested-by: Jenkins
Reviewed-by: Justin Luth 
(cherry picked from commit 44eda1f72b4d67b9627155741067d3e57a1f9747)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/181354
Reviewed-by: Xisco Fauli 
Signed-off-by: Xisco Fauli 
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/181368
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/181420
Tested-by: Jenkins CollaboraOffice 
Reviewed-by: Miklos Vajna 

diff --git a/writerfilter/source/dmapper/DomainMapper.cxx 
b/writerfilter/source/dmapper/DomainMapper.cxx
index 479373de6660..8183dccd70a3 100644
--- a/writerfilter/source/dmapper/DomainMapper.cxx
+++ b/writerfilter/source/dmapper/DomainMapper.cxx
@@ -3418,7 +3418,7 @@ void DomainMapper::sprmWithProps( Sprm& rSprm, const 
PropertyMapPtr& rContext )
 if (m_pImpl->m_StreamStateStack.top().nTableDepth == 0
 && m_pImpl->GetIsFirstParagraphInSection()
 && !m_pImpl->GetIsDummyParaAddedForTableInSection() && 
!m_pImpl->GetIsTextFrameInserted()
-&& !m_pImpl->GetIsPreviousParagraphFramed() && 
!IsInHeaderFooter())
+&& !m_pImpl->GetIsPreviousParagraphFramed())
 {
 m_pImpl->AddDummyParaForTableInSection();
 }
diff --git a/writerfilter/source/dmapper/DomainMapper_Impl.cxx 
b/writerfilter/source/dmapper/DomainMapper_Impl.cxx
index 2247758d8ad0..0057799f99a2 100644
--- a/writerfilter/source/dmapper/DomainMapper_Impl.cxx
+++ b/writerfilter/source/dmapper/DomainMapper_Impl.cxx
@@ -691,8 +691,8 @@ void DomainMapper_Impl::RemoveDummyParaForTableInSection()
 }
 void DomainMapper_Impl::AddDummyParaForTableInSection()
 {
-// Shapes and textboxes can't have sections.
-if (IsInShape() || m_bIsInTextBox)
+// Shapes, headers, and textboxes can't have sections.
+if (IsInShape() || IsInHeaderFooter() || m_bIsInTextBox)
 return;
 
 if (!m_aTextAppendStack.empty())


core.git: Branch 'distro/collabora/co-24.04' - sw/source

2025-02-11 Thread Caolán McNamara (via logerrit)
 sw/source/filter/ww8/docxattributeoutput.cxx  |5 +--
 sw/source/filter/ww8/docxexport.cxx   |   36 +-
 sw/source/filter/ww8/docxexportfilter.cxx |   27 +++
 sw/source/filter/ww8/docxtablestyleexport.cxx |3 +-
 sw/source/filter/ww8/wrtww8.cxx   |5 ++-
 sw/source/filter/ww8/wrtww8.hxx   |2 +
 6 files changed, 34 insertions(+), 44 deletions(-)

New commits:
commit 62ccbbbc3fdc9c07e84a13b3872db9ff3d842610
Author: Caolán McNamara 
AuthorDate: Sun Feb 9 21:37:00 2025 +
Commit: Miklos Vajna 
CommitDate: Tue Feb 11 15:24:11 2025 +0100

cut down the amount of GetBaseModel querying

Change-Id: Ib7007a223373232006b8c4261778748b6fe3bf97
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/181409
Tested-by: Jenkins CollaboraOffice 
Reviewed-by: Miklos Vajna 

diff --git a/sw/source/filter/ww8/docxattributeoutput.cxx 
b/sw/source/filter/ww8/docxattributeoutput.cxx
index da96e47b0611..2e4b2367c064 100644
--- a/sw/source/filter/ww8/docxattributeoutput.cxx
+++ b/sw/source/filter/ww8/docxattributeoutput.cxx
@@ -4879,7 +4879,7 @@ DocxStringTokenMap const aExceptionTokens[] = {
 void DocxAttributeOutput::LatentStyles()
 {
 // Do we have latent styles available?
-uno::Reference 
xPropertySet(m_rExport.m_rDoc.GetDocShell()->GetBaseModel(), 
uno::UNO_QUERY_THROW);
+rtl::Reference xPropertySet(m_rExport.m_xTextDoc);
 uno::Sequence aInteropGrabBag;
 xPropertySet->getPropertyValue("InteropGrabBag") >>= aInteropGrabBag;
 uno::Sequence aLatentStyles;
@@ -5870,9 +5870,8 @@ void DocxAttributeOutput::WriteOLE( SwOLENode& rNode, 
const Size& rSize, const S
 OSL_ASSERT(pFlyFrameFormat);
 
 // get interoperability information about embedded objects
-uno::Reference< beans::XPropertySet > xPropSet( 
m_rExport.m_rDoc.GetDocShell()->GetBaseModel(), uno::UNO_QUERY_THROW );
 uno::Sequence< beans::PropertyValue > aGrabBag, 
aObjectsInteropList,aObjectInteropAttributes;
-xPropSet->getPropertyValue( UNO_NAME_MISC_OBJ_INTEROPGRABBAG ) >>= 
aGrabBag;
+m_rExport.m_xTextDoc->getPropertyValue( UNO_NAME_MISC_OBJ_INTEROPGRABBAG ) 
>>= aGrabBag;
 auto pProp = std::find_if(std::cbegin(aGrabBag), std::cend(aGrabBag),
 [](const beans::PropertyValue& rProp) { return rProp.Name == 
"EmbeddedObjects"; });
 if (pProp != std::cend(aGrabBag))
diff --git a/sw/source/filter/ww8/docxexport.cxx 
b/sw/source/filter/ww8/docxexport.cxx
index fe0b86381369..d6cd3522b6df 100644
--- a/sw/source/filter/ww8/docxexport.cxx
+++ b/sw/source/filter/ww8/docxexport.cxx
@@ -1228,15 +1228,13 @@ void DocxExport::WriteSettings()
 m_pAttrOutput->WriteFootnoteEndnotePr( pFS, XML_endnotePr, 
m_rDoc.GetEndNoteInfo(), XML_endnote );
 
 // Has themeFontLang information
-rtl::Reference< SwXTextDocument > xPropSet( pDocShell->GetXTextDocument() 
);
-
 bool bUseGrabBagProtection = false;
 bool bWriterWantsToProtect = false;
 bool bWriterWantsToProtectForm = false;
 bool bWriterWantsToProtectRedline = false;
 bool bHasDummyRedlineProtectionKey = false;
 bool bReadOnlyStatusUnchanged = true;
-uno::Reference< beans::XPropertySetInfo > xPropSetInfo = 
xPropSet->getPropertySetInfo();
+uno::Reference< beans::XPropertySetInfo > xPropSetInfo = 
m_xTextDoc->getPropertySetInfo();
 if ( 
m_rDoc.getIDocumentSettingAccess().get(DocumentSettingId::PROTECT_FORM) ||
  m_pSections->DocumentIsProtected() )
 {
@@ -1245,7 +1243,7 @@ void DocxExport::WriteSettings()
 if ( xPropSetInfo->hasPropertyByName( "RedlineProtectionKey" ) )
 {
 uno::Sequence aKey;
-xPropSet->getPropertyValue( "RedlineProtectionKey" ) >>= aKey;
+m_xTextDoc->getPropertyValue( "RedlineProtectionKey" ) >>= aKey;
 bool bHasRedlineProtectionKey = aKey.hasElements();
 bHasDummyRedlineProtectionKey = aKey.getLength() == 1 && aKey[0] == 1;
 if ( bHasRedlineProtectionKey && !bHasDummyRedlineProtectionKey )
@@ -1275,7 +1273,7 @@ void DocxExport::WriteSettings()
 if ( xPropSetInfo->hasPropertyByName( aGrabBagName ) )
 {
 uno::Sequence< beans::PropertyValue > propList;
-xPropSet->getPropertyValue( aGrabBagName ) >>= propList;
+m_xTextDoc->getPropertyValue( aGrabBagName ) >>= propList;
 
 for( const auto& rProp : std::as_const(propList) )
 {
@@ -1502,9 +1500,7 @@ void DocxExport::WriteTheme()
 // See OOXMLDocumentImpl::resolveGlossaryStream
 void DocxExport::WriteGlossary()
 {
-rtl::Reference< SwXTextDocument > xPropSet( 
m_rDoc.GetDocShell()->GetXTextDocument() );
-
-uno::Reference< beans::XPropertySetInfo > xPropSetInfo = 
xPropSet->getPropertySetInfo();
+uno::Reference< beans::XPropertySetInfo > xPropSetInfo = 
m_xTextDoc->getPropertySetInfo();
 OUString aName = UNO_NAME_MISC_OBJ_INTEROPGRABBAG;
 if ( !xPropSetInfo->hasPropertyByName( aName ) )
 return;
@@ -1512,7 +1508,7 

core.git: Branch 'feature/cib_contract49d' - sw/qa sw/source

2025-02-11 Thread Oliver Specht (via logerrit)
 sw/qa/extras/ooxmlexport/data/tdf164176.docx |binary
 sw/qa/extras/ooxmlexport/ooxmlexport21.cxx   |   15 +++
 sw/source/writerfilter/dmapper/SettingsTable.cxx |4 +++-
 3 files changed, 18 insertions(+), 1 deletion(-)

New commits:
commit fc5f6664668c3b07234f8b0c42170ae125c26712
Author: Oliver Specht 
AuthorDate: Thu Dec 5 07:48:10 2024 +0100
Commit: Gabor Kelemen 
CommitDate: Tue Feb 11 17:26:17 2025 +0100

tdf#164176 Import multiline document variable with break

Converts the '_x000d_' or '_x000d__x000a_' to a paragraph
break in docx import.

Change-Id: Ib8b5203338e987028279711928d3aecb9cedd836
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/178731
Reviewed-by: Gabor Kelemen 
Tested-by: allotropia jenkins 

diff --git a/sw/qa/extras/ooxmlexport/data/tdf164176.docx 
b/sw/qa/extras/ooxmlexport/data/tdf164176.docx
new file mode 100644
index ..2d93cfd3765d
Binary files /dev/null and b/sw/qa/extras/ooxmlexport/data/tdf164176.docx differ
diff --git a/sw/qa/extras/ooxmlexport/ooxmlexport21.cxx 
b/sw/qa/extras/ooxmlexport/ooxmlexport21.cxx
index f846a248022d..1107173e0ad8 100644
--- a/sw/qa/extras/ooxmlexport/ooxmlexport21.cxx
+++ b/sw/qa/extras/ooxmlexport/ooxmlexport21.cxx
@@ -16,6 +16,8 @@
 #include 
 #include 
 #include 
+#include 
+#include 
 #include 
 #include 
 #include 
@@ -890,6 +892,19 @@ CPPUNIT_TEST_FIXTURE(Test, testTdf164065)
 CPPUNIT_ASSERT_EQUAL(u"a"_ustr, xCell->getString());
 }
 
+DECLARE_OOXMLEXPORT_TEST(testTdf164176, "tdf164176.docx")
+{
+uno::Reference xTextFieldsSupplier(mxComponent, 
uno::UNO_QUERY);
+uno::Reference xFieldsAccess(
+xTextFieldsSupplier->getTextFields());
+uno::Reference 
xFields(xFieldsAccess->createEnumeration());
+
+uno::Reference 
xEnumerationAccess1(xFields->nextElement(), uno::UNO_QUERY);
+rtl::OUString sPresentation = 
xEnumerationAccess1->getPresentation(true).trim();
+CPPUNIT_ASSERT_EQUAL(sal_Int32(-1), sPresentation.indexOf("_x000d_"));
+CPPUNIT_ASSERT_EQUAL(sal_Int32(-1), sPresentation.indexOf("_x000a_"));
+}
+
 } // end of anonymous namespace
 CPPUNIT_PLUGIN_IMPLEMENT();
 
diff --git a/sw/source/writerfilter/dmapper/SettingsTable.cxx 
b/sw/source/writerfilter/dmapper/SettingsTable.cxx
index da276ca67d92..6e2da1061525 100644
--- a/sw/source/writerfilter/dmapper/SettingsTable.cxx
+++ b/sw/source/writerfilter/dmapper/SettingsTable.cxx
@@ -212,7 +212,9 @@ void SettingsTable::lcl_attribute(Id nName, Value & val)
 m_pImpl->m_aDocVars.back().first = sStringValue;
 break;
 case NS_ooxml::LN_CT_DocVar_val:
-m_pImpl->m_aDocVars.back().second = sStringValue;
+m_pImpl->m_aDocVars.back().second =
+sStringValue.replaceAll("_x000d__x000a_", "
")
+.replaceAll("_x000d_", "
");
 break;
 case NS_ooxml::LN_CT_CompatSetting_name:
 m_pImpl->m_aCurrentCompatSettingName = sStringValue;


core.git: Branch 'feature/cib_contract49d' - sw/inc sw/source

2025-02-11 Thread Oliver Specht (via logerrit)
 sw/inc/crsrsh.hxx|8 
 sw/inc/fesh.hxx  |2 +-
 sw/inc/mdiexp.hxx|4 +++-
 sw/inc/view.hxx  |7 +--
 sw/inc/viewsh.hxx|9 -
 sw/source/core/crsr/crsrsh.cxx   |   19 ++-
 sw/source/core/frmedt/feshview.cxx   |4 ++--
 sw/source/core/view/viewsh.cxx   |4 ++--
 sw/source/ui/dialog/uiregionsw.cxx   |2 +-
 sw/source/ui/index/swuiidxmrk.cxx|2 +-
 sw/source/ui/misc/insfnote.cxx   |6 +++---
 sw/source/uibase/dochdl/swdtflvr.cxx |2 +-
 sw/source/uibase/docvw/edtdd.cxx |4 ++--
 sw/source/uibase/docvw/edtwin.cxx|   22 ++
 sw/source/uibase/docvw/edtwin3.cxx   |5 +++--
 sw/source/uibase/inc/edtwin.hxx  |4 +++-
 sw/source/uibase/inc/wrtsh.hxx   |   20 +---
 sw/source/uibase/shells/tabsh.cxx|2 +-
 sw/source/uibase/shells/textsh1.cxx  |2 +-
 sw/source/uibase/uiview/viewport.cxx |   29 +++--
 sw/source/uibase/uno/unotxdoc.cxx|2 +-
 sw/source/uibase/wrtsh/move.cxx  |6 +++---
 sw/source/uibase/wrtsh/select.cxx|   16 
 sw/source/uibase/wrtsh/wrtsh3.cxx|8 
 24 files changed, 117 insertions(+), 72 deletions(-)

New commits:
commit 80d581202abf3fe0a1a565016182c756d27ec429
Author: Oliver Specht 
AuthorDate: Wed Dec 18 15:11:38 2024 +0100
Commit: Gabor Kelemen 
CommitDate: Tue Feb 11 17:38:39 2025 +0100

tdf#50743 tdf#37507 Improve scrolling while selecting

If the mouse leaves the document window scrolling of selections
happens now in smaller steps so the user is able to stop at the
intended position easier.

Reviewed-on: https://gerrit.libreoffice.org/c/core/+/178724
Reviewed-by: Gabor Kelemen 
Tested-by: Jenkins
Tested-by: Gabor Kelemen 
Change-Id: Ic6c48cffa246b0e341bc25c35070e95f5e706f0c
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/181415
Tested-by: allotropia jenkins 

diff --git a/sw/inc/crsrsh.hxx b/sw/inc/crsrsh.hxx
index 2417fb507cae..fd1ca6b11fa2 100644
--- a/sw/inc/crsrsh.hxx
+++ b/sw/inc/crsrsh.hxx
@@ -169,7 +169,7 @@ public:
 
 SW_DLLPUBLIC void UpdateCursor(
 sal_uInt16 eFlags = SwCursorShell::SCROLLWIN|SwCursorShell::CHKRANGE,
-bool bIdleEnd = false );
+bool bIdleEnd = false, ScrollSizeMode eScrollSizeMode = 
ScrollSizeMode::ScrollSizeDefault );
 
 private:
 
@@ -421,7 +421,7 @@ public:
  *the cursor is done in order to get at the properties under the 
mouse pointer.
  */
 SW_DLLPUBLIC int SetCursor(const Point& rPt, bool bOnlyText = false, bool 
bBlock = true,
-  bool bFieldInfo = false);
+  bool bFieldInfo = false, ScrollSizeMode eScrollSizeMode = 
ScrollSizeMode::ScrollSizeDefault);
 
 /*
  * Notification that the visible area was changed. m_aVisArea is reset, 
then
@@ -731,7 +731,7 @@ public:
 // Place only the visible cursor at the given position in the document.
 // Return false if SPoint was corrected by layout.
 // (This is needed for displaying the Drag&Drop/Copy-Cursor.)
-bool SetVisibleCursor( const Point &rPt );
+bool SetVisibleCursor( const Point &rPt, ScrollSizeMode eScrollSizeMode = 
ScrollSizeMode::ScrollSizeDefault );
 inline void UnSetVisibleCursor();
 SW_DLLPUBLIC SwVisibleCursor* GetVisibleCursor() const;
 
@@ -813,7 +813,7 @@ public:
 bool GotoRegion( std::u16string_view rName );
 
 // show the current selection
-virtual void MakeSelVisible();
+virtual void MakeSelVisible(ScrollSizeMode eScrollSizeMode = 
ScrollSizeMode::ScrollSizeDefault);
 
 // set the cursor to a NOT protected/hidden node
 bool FindValidContentNode( bool bOnlyText );
diff --git a/sw/inc/fesh.hxx b/sw/inc/fesh.hxx
index 6e4466dc60d7..b6ccbee8b939 100644
--- a/sw/inc/fesh.hxx
+++ b/sw/inc/fesh.hxx
@@ -360,7 +360,7 @@ public:
 void SetPageObjsNewPage( std::vector& rFillArr );
 
 /// Show current selection (frame / draw object as required).
-virtual void MakeSelVisible() override;
+virtual void MakeSelVisible(ScrollSizeMode eScrollSizeMode = 
ScrollSizeMode::ScrollSizeDefault) override;
 
 /** @return FrameFormat of object that may be under Point.
  Object does not become selected! */
diff --git a/sw/inc/mdiexp.hxx b/sw/inc/mdiexp.hxx
index afe308e1ad89..6d4af73bd80b 100644
--- a/sw/inc/mdiexp.hxx
+++ b/sw/inc/mdiexp.hxx
@@ -22,6 +22,7 @@
 #include "tblenum.hxx"
 #include "swdllapi.h"
 #include 
+#include "viewsh.hxx"
 
 #include 
 
@@ -30,7 +31,8 @@ class Size;
 class SwViewShell;
 class SwDocShell;
 
-extern void ScrollMDI(SwViewShell const * pVwSh, const SwRect &, sal_uInt16 
nRangeX, sal_uInt16 nRangeY);
+extern void ScrollMDI(SwViewShell const * pVwSh, const SwRect &, sal_uInt16 
nRangeX, sal_uInt16 nRangeY
+, ScrollSizeMode eScrollSizeMode = ScrollSizeMod

core.git: Branch 'feature/cib_contract49d' - sw/inc sw/source

2025-02-11 Thread Gabor Kelemen (via logerrit)
 sw/inc/crsrsh.hxx|9 -
 sw/inc/fesh.hxx  |2 +-
 sw/inc/mdiexp.hxx|4 +---
 sw/inc/view.hxx  |7 ++-
 sw/inc/viewsh.hxx|9 +
 sw/source/core/crsr/crsrsh.cxx   |   19 +--
 sw/source/core/frmedt/feshview.cxx   |4 ++--
 sw/source/core/view/viewsh.cxx   |4 ++--
 sw/source/ui/dialog/uiregionsw.cxx   |2 +-
 sw/source/ui/index/swuiidxmrk.cxx|2 +-
 sw/source/ui/misc/insfnote.cxx   |6 +++---
 sw/source/uibase/dochdl/swdtflvr.cxx |2 +-
 sw/source/uibase/docvw/edtdd.cxx |4 ++--
 sw/source/uibase/docvw/edtwin.cxx|   22 --
 sw/source/uibase/docvw/edtwin3.cxx   |5 ++---
 sw/source/uibase/inc/edtwin.hxx  |4 +---
 sw/source/uibase/inc/wrtsh.hxx   |   20 +++-
 sw/source/uibase/shells/tabsh.cxx|2 +-
 sw/source/uibase/shells/textsh1.cxx  |2 +-
 sw/source/uibase/uiview/viewport.cxx |   29 ++---
 sw/source/uibase/uno/unotxdoc.cxx|2 +-
 sw/source/uibase/wrtsh/move.cxx  |6 +++---
 sw/source/uibase/wrtsh/select.cxx|   16 
 sw/source/uibase/wrtsh/wrtsh3.cxx|8 
 24 files changed, 72 insertions(+), 118 deletions(-)

New commits:
commit db37276f60f5e1d93d5685918904beeb04daa80a
Author: Gabor Kelemen 
AuthorDate: Mon Feb 10 17:53:30 2025 +
Commit: Gabor Kelemen 
CommitDate: Tue Feb 11 17:38:23 2025 +0100

Revert "tdf#50743 Improve scrolling while selecting"

This reverts commit b357de0cb6eb5108b6b31de2c8ee652c71d0fe7a.

This was an older version of the patch than the one in master

Change-Id: I98c33e72d4de1249dbbed8a83f2e4c245028577e
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/181414
Tested-by: allotropia jenkins 
Reviewed-by: Gabor Kelemen 

diff --git a/sw/inc/crsrsh.hxx b/sw/inc/crsrsh.hxx
index 2cb968fb7905..2417fb507cae 100644
--- a/sw/inc/crsrsh.hxx
+++ b/sw/inc/crsrsh.hxx
@@ -169,7 +169,7 @@ public:
 
 SW_DLLPUBLIC void UpdateCursor(
 sal_uInt16 eFlags = SwCursorShell::SCROLLWIN|SwCursorShell::CHKRANGE,
-bool bIdleEnd = false, ScrollSizeMode eScrollSizeMode = 
ScrollSizeMode::ScrollSizeDefault );
+bool bIdleEnd = false );
 
 private:
 
@@ -421,7 +421,7 @@ public:
  *the cursor is done in order to get at the properties under the 
mouse pointer.
  */
 SW_DLLPUBLIC int SetCursor(const Point& rPt, bool bOnlyText = false, bool 
bBlock = true,
-  bool bFieldInfo = false, ScrollSizeMode eScrollSizeMode = 
ScrollSizeMode::ScrollSizeDefault);
+  bool bFieldInfo = false);
 
 /*
  * Notification that the visible area was changed. m_aVisArea is reset, 
then
@@ -731,8 +731,7 @@ public:
 // Place only the visible cursor at the given position in the document.
 // Return false if SPoint was corrected by layout.
 // (This is needed for displaying the Drag&Drop/Copy-Cursor.)
-bool SetVisibleCursor( const Point &rPt,
-ScrollSizeMode eScrollSizeMode = ScrollSizeMode::ScrollSizeDefault );
+bool SetVisibleCursor( const Point &rPt );
 inline void UnSetVisibleCursor();
 SW_DLLPUBLIC SwVisibleCursor* GetVisibleCursor() const;
 
@@ -814,7 +813,7 @@ public:
 bool GotoRegion( std::u16string_view rName );
 
 // show the current selection
-virtual void MakeSelVisible(ScrollSizeMode eScrollSizeMode = 
ScrollSizeMode::ScrollSizeDefault);
+virtual void MakeSelVisible();
 
 // set the cursor to a NOT protected/hidden node
 bool FindValidContentNode( bool bOnlyText );
diff --git a/sw/inc/fesh.hxx b/sw/inc/fesh.hxx
index b6ccbee8b939..6e4466dc60d7 100644
--- a/sw/inc/fesh.hxx
+++ b/sw/inc/fesh.hxx
@@ -360,7 +360,7 @@ public:
 void SetPageObjsNewPage( std::vector& rFillArr );
 
 /// Show current selection (frame / draw object as required).
-virtual void MakeSelVisible(ScrollSizeMode eScrollSizeMode = 
ScrollSizeMode::ScrollSizeDefault) override;
+virtual void MakeSelVisible() override;
 
 /** @return FrameFormat of object that may be under Point.
  Object does not become selected! */
diff --git a/sw/inc/mdiexp.hxx b/sw/inc/mdiexp.hxx
index 6d4af73bd80b..afe308e1ad89 100644
--- a/sw/inc/mdiexp.hxx
+++ b/sw/inc/mdiexp.hxx
@@ -22,7 +22,6 @@
 #include "tblenum.hxx"
 #include "swdllapi.h"
 #include 
-#include "viewsh.hxx"
 
 #include 
 
@@ -31,8 +30,7 @@ class Size;
 class SwViewShell;
 class SwDocShell;
 
-extern void ScrollMDI(SwViewShell const * pVwSh, const SwRect &, sal_uInt16 
nRangeX, sal_uInt16 nRangeY
-, ScrollSizeMode eScrollSizeMode = ScrollSizeMode::ScrollSizeDefault);
+extern void ScrollMDI(SwViewShell const * pVwSh, const SwRect &, sal_uInt16 
nRangeX, sal_uInt16 nRangeY);
 extern bool IsScrollMDI(SwViewShell const * pVwSh, const SwRect &);
 extern void SizeNotify(SwViewShell const * pV

core.git: desktop/source

2025-02-11 Thread Caolán McNamara (via logerrit)
 desktop/source/lib/init.cxx |   29 +++--
 1 file changed, 23 insertions(+), 6 deletions(-)

New commits:
commit 01a214d9596a595570b08d5e9d0c5776f892aa09
Author: Caolán McNamara 
AuthorDate: Mon Jan 27 12:56:26 2025 +
Commit: Caolán McNamara 
CommitDate: Tue Feb 11 11:51:45 2025 +0100

allow zero or more xcu files to be installed

Change-Id: Ibcca052697c391794b636606cf590549568821be
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/180782
Tested-by: Jenkins CollaboraOffice 
Reviewed-by: Miklos Vajna 
(cherry picked from commit e3b6888f9071011fd69e1d15aa8adb0eae5e658c)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/181411
Reviewed-by: Caolán McNamara 
Tested-by: Jenkins

diff --git a/desktop/source/lib/init.cxx b/desktop/source/lib/init.cxx
index b143e8b104b3..ea70d1f186b2 100644
--- a/desktop/source/lib/init.cxx
+++ b/desktop/source/lib/init.cxx
@@ -5247,15 +5247,13 @@ static void lo_sendDialogEvent(LibreOfficeKit* 
/*pThis*/, unsigned long long int
 static void updateConfig(const OUString& rConfigPath)
 {
 osl::Directory aScanRootDir(rConfigPath);
-osl::FileBase::RC nRetCode = aScanRootDir.open();
-if (nRetCode != osl::Directory::E_None)
+if (aScanRootDir.open() != osl::Directory::E_None)
 {
 SAL_WARN("lok", "Failed to open config URL: " << rConfigPath);
 return;
 }
 osl::DirectoryItem item;
-osl::File::RC errorNext = osl::File::E_None;
-while ((errorNext = aScanRootDir.getNextItem(item)) == ::osl::File::E_None)
+while (aScanRootDir.getNextItem(item) == ::osl::File::E_None)
 {
 osl::FileStatus stat(osl_FileStatus_Mask_FileName | 
osl_FileStatus_Mask_FileURL);
 if (item.getFileStatus(stat) != osl::FileBase::E_None)
@@ -5267,9 +5265,28 @@ static void updateConfig(const OUString& rConfigPath)
 OUString sFileName = stat.getFileName();
 if (sFileName == "xcu")
 {
-OUString aXcuPath(stat.getFileURL() + "/config.xcu");
+osl::Directory aXCURootDir(stat.getFileURL());
+if (aXCURootDir.open() != osl::Directory::E_None)
+{
+SAL_WARN("lok", "Failed to open XCU URL: " << 
stat.getFileURL());
+continue;
+}
+
 auto 
xUpdate(css::configuration::Update::get(comphelper::getProcessComponentContext()));
-xUpdate->insertModificationXcuFile(aXcuPath, { u"/"_ustr }, {});
+
+osl::DirectoryItem xcu;
+while (aXCURootDir.getNextItem(xcu) == ::osl::File::E_None)
+{
+osl::FileStatus xcustat(osl_FileStatus_Mask_FileName | 
osl_FileStatus_Mask_FileURL);
+if (xcu.getFileStatus(xcustat) != osl::FileBase::E_None)
+{
+SAL_WARN("lok", "Failed to get xcu item info");
+continue;
+}
+
+SAL_INFO("lok", "Installing XCU Item: " << 
xcustat.getFileName());
+xUpdate->insertModificationXcuFile(xcustat.getFileURL(), { 
u"/"_ustr }, {});
+}
 }
 else if (sFileName == "wordbook")
 {


core.git: Branch 'distro/collabora/co-25.04' - sc/inc sc/qa sc/source

2025-02-11 Thread Noel Grandin (via logerrit)
 sc/inc/document.hxx  |   10 +++
 sc/inc/table.hxx |   10 +++
 sc/qa/unit/tiledrendering/tiledrendering.cxx |4 +
 sc/source/core/data/document.cxx |5 +
 sc/source/core/data/table2.cxx   |   85 +++
 sc/source/ui/view/viewdata.cxx   |   33 +++---
 6 files changed, 137 insertions(+), 10 deletions(-)

New commits:
commit f06d8569fe19cd086d6d7e165e880cbc1833a206
Author: Noel Grandin 
AuthorDate: Fri Dec 20 13:00:39 2024 +0200
Commit: Andras Timar 
CommitDate: Tue Feb 11 13:34:05 2025 +0100

optimise ScBoundsProvider::GetIndexTowards

Especially when laying out rows in sheets with thousands of rows.
By pushing the work down to a new GetRowForHeightPixels method,
we can do the work in only a couple of iterations of the loop, because row 
heights are normally represented by only a few spans.

Change-Id: If3f62a131a3e7a0794d7352d7c6c1a5de0ef2df0
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/179086
Reviewed-by: Noel Grandin 
Tested-by: Jenkins

diff --git a/sc/inc/document.hxx b/sc/inc/document.hxx
index 7908be80dcc7..027abc943f15 100644
--- a/sc/inc/document.hxx
+++ b/sc/inc/document.hxx
@@ -2061,6 +2061,16 @@ public:
  * specified height.
  */
 SCROW   GetRowForHeight( SCTAB nTab, tools::Long 
nHeight ) const;
+/**
+ * Given the height i.e. total vertical distance from the top of the sheet
+ * grid, return the first visible row whose top position is below the
+ * specified height and after the specified row.
+ * Note that this variant uses pixels, not twips.
+ * @param nStartRow the row to start searching at.
+ * @param rStartRowHeightPx this is both the height at nStartRow, and 
returns the height of the first row
+ *which has height > nHeight
+ */
+SCROW   GetRowForHeightPixels( SCTAB nTab, SCROW 
nStartRow, tools::Long& rStartRowHeightPx, tools::Long nHeightPx, double fPPTY 
) const;
 tools::Long GetScaledRowHeight( SCROW nStartRow, SCROW 
nEndRow, SCTAB nTab, double fScale ) const;
 SC_DLLPUBLIC tools::LongGetColOffset( SCCOL nCol, SCTAB nTab, bool 
bHiddenAsZero = true ) const;
 SC_DLLPUBLIC tools::LongGetRowOffset( SCROW nRow, SCTAB nTab, bool 
bHiddenAsZero = true ) const;
diff --git a/sc/inc/table.hxx b/sc/inc/table.hxx
index 5f36e5d9d5c7..74d4f978a523 100644
--- a/sc/inc/table.hxx
+++ b/sc/inc/table.hxx
@@ -909,6 +909,16 @@ public:
  * @return SCROW last row of the range within specified height.
  */
 SCROW   GetRowForHeight(tools::Long nHeight) const;
+/**
+ * Given the height i.e. total vertical distance from the top of the sheet
+ * grid, return the first visible row whose top position is below the
+ * specified height.
+ * Note that this variant uses pixels, not twips.
+ * @param nStartRow the row to start searching at.
+ * @param rStartRowHeightPx this is both the height at nStartRow, and 
returns the height of the first row
+ *which has height > nHeight
+ */
+SCROW   GetRowForHeightPixels( SCROW nStartRow, tools::Long& 
rStartRowHeightPx, tools::Long nHeightPx, double fPPTY ) const;
 
 sal_uInt16  GetOriginalWidth( SCCOL nCol ) const;
 sal_uInt16  GetOriginalHeight( SCROW nRow ) const;
diff --git a/sc/qa/unit/tiledrendering/tiledrendering.cxx 
b/sc/qa/unit/tiledrendering/tiledrendering.cxx
index ca4c5191c1c5..8d5280ea3128 100644
--- a/sc/qa/unit/tiledrendering/tiledrendering.cxx
+++ b/sc/qa/unit/tiledrendering/tiledrendering.cxx
@@ -1547,6 +1547,10 @@ CPPUNIT_TEST_FIXTURE(ScTiledRenderingTest, 
testInsertDeletePageInvalidation)
 
 CPPUNIT_TEST_FIXTURE(ScTiledRenderingTest, testGetRowColumnHeadersInvalidation)
 {
+// NOTE NOTE NOTE
+// If you run this test in isolation using CPPUNIT_TEST_NAME=, it will 
fail because the invalidations
+// will be different.
+
 ScModelObj* pModelObj = createDoc("empty.ods");
 ScViewData* pViewData = ScDocShell::GetViewData();
 CPPUNIT_ASSERT(pViewData);
diff --git a/sc/source/core/data/document.cxx b/sc/source/core/data/document.cxx
index 36f37a7ee8de..231a42d52a4e 100644
--- a/sc/source/core/data/document.cxx
+++ b/sc/source/core/data/document.cxx
@@ -4248,6 +4248,11 @@ SCROW ScDocument::GetRowForHeight( SCTAB nTab, 
tools::Long nHeight ) const
 return maTabs[nTab]->GetRowForHeight(nHeight);
 }
 
+SCROW ScDocument::GetRowForHeightPixels( SCTAB nTab, SCROW nStartRow, 
tools::Long& rStartRowHeightPx, tools::Long nHeightPx, double fPPTY ) const
+{
+return maTabs[nTab]->GetRowForHeightPixels(nStartRow, rStartRowHeightPx, 
nHeightPx, fPPTY);
+}
+
 tools::Long ScDocument::GetScaledRowHeight( SCROW nStartRow, SCROW nEndRow,
 SCTAB nTab, double fScale ) const
 {
diff --git a/sc/source/core/data/table2.cxx b/sc/source/core/data/table2.cxx
index 0

core.git: Branch 'distro/collabora/co-25.04' - sc/qa sc/source

2025-02-11 Thread Justin Luth (via logerrit)
 sc/qa/unit/data/xlsx/freezePaneStartCell.xlsx |binary
 sc/qa/unit/subsequent_export_test2.cxx|   16 
 sc/source/filter/excel/xeview.cxx |7 +++
 3 files changed, 23 insertions(+)

New commits:
commit 427bbe63c153d50ce34110ef4aa6131deb95fe61
Author: Justin Luth 
AuthorDate: Fri Feb 7 14:08:42 2025 -0500
Commit: Andras Timar 
CommitDate: Tue Feb 11 13:52:25 2025 +0100

tdf#165130 sc: prevent pane's topLeftCell from being in frozen zone

While Excel 2010 opens this unit test just fine
(and looks like a split window)
Excel 2019 complains it is corrupt.

So, this patch just prevents writing an invalid topLeftCell
which will avoid us from causing such a problem
as well as fixing documents that already exhibit the problem.

make CppunitTest_sc_subsequent_export_test2 \
CPPUNIT_TEST_NAME=testFreezePaneStartCellXLSX

Change-Id: I32888d7d020ec16dca436686cd76008ed417d699
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/181275
Reviewed-by: Justin Luth 
Tested-by: Jenkins

diff --git a/sc/qa/unit/data/xlsx/freezePaneStartCell.xlsx 
b/sc/qa/unit/data/xlsx/freezePaneStartCell.xlsx
new file mode 100644
index ..9bce2671009c
Binary files /dev/null and b/sc/qa/unit/data/xlsx/freezePaneStartCell.xlsx 
differ
diff --git a/sc/qa/unit/subsequent_export_test2.cxx 
b/sc/qa/unit/subsequent_export_test2.cxx
index 43226bb14e9f..4f705abe5a7e 100644
--- a/sc/qa/unit/subsequent_export_test2.cxx
+++ b/sc/qa/unit/subsequent_export_test2.cxx
@@ -50,6 +50,22 @@ CPPUNIT_TEST_FIXTURE(ScExportTest2, testGroupShape)
 assertXPath(pDoc, "/xdr:wsDr/xdr:twoCellAnchor/xdr:grpSp/xdr:grpSpPr");
 }
 
+CPPUNIT_TEST_FIXTURE(ScExportTest2, testFreezePaneStartCellXLSX)
+{
+// given a hand-mangled document with a newly-invalid topLeftCell for the 
active pane
+// where pane xSplit="5" ySplit="10" topLeftCell="A1" state="frozen"
+
+createScDoc("xlsx/freezePaneStartCell.xlsx");
+
+save(u"Calc Office Open XML"_ustr);
+
+xmlDocUniquePtr pDoc = parseExport(u"xl/worksheets/sheet1.xml"_ustr);
+OUString sFirstNonFrozenCell = getXPath(pDoc, "//x:sheetViews//x:pane", 
"topLeftCell");
+
+// new versions of Excel complain if the start of the non-frozen section 
is inside the freeze
+CPPUNIT_ASSERT_EQUAL(u"F11"_ustr, sFirstNonFrozenCell);
+}
+
 CPPUNIT_TEST_FIXTURE(ScExportTest2, testMatrixMultiplicationXLSX)
 {
 createScDoc("xlsx/matrix-multiplication.xlsx");
diff --git a/sc/source/filter/excel/xeview.cxx 
b/sc/source/filter/excel/xeview.cxx
index 5db6de1c2fff..c5760fafcdb7 100644
--- a/sc/source/filter/excel/xeview.cxx
+++ b/sc/source/filter/excel/xeview.cxx
@@ -348,6 +348,13 @@ XclExpTabViewSettings::XclExpTabViewSettings( const 
XclExpRoot& rRoot, SCTAB nSc
 maData.mnActivePane = EXC_PANE_TOPRIGHT;
 else if( maData.HasPane( EXC_PANE_BOTTOMLEFT ) )
 maData.mnActivePane = EXC_PANE_BOTTOMLEFT;
+
+// Starting cell for active, frozen pane must not be less than the 
split position
+// i.e. it must not be in the frozen section (or Excel 2019 
considers the file corrupt).
+if (maData.maSecondXclPos.mnCol < maData.mnSplitX)
+maData.maSecondXclPos.mnCol = maData.mnSplitX;
+if (maData.maSecondXclPos.mnRow < maData.mnSplitY)
+maData.maSecondXclPos.mnRow = maData.mnSplitY;
 }
 else
 {


core.git: Branch 'distro/collabora/co-25.04' - sc/source

2025-02-11 Thread Gülşah Köse (via logerrit)
 sc/source/filter/xcl97/xcl97esc.cxx |4 
 1 file changed, 4 insertions(+)

New commits:
commit 7f06e1e26cd3e76c65fcb271563d5741b3a45333
Author: Gülşah Köse 
AuthorDate: Fri Jan 17 16:57:59 2025 +0300
Commit: Gülşah Köse 
CommitDate: Tue Feb 11 15:44:16 2025 +0100

tdf#164141 Fix command button xls to xlsx convert problem.

MSO has two type controls. ActiveX and normal. ControlTypeinMSO
specifies the form control object is ActiveX or not.

2: ActiveX form control
1: Normal form control

Current case is simple ActiveX button created by MSO can not be exported by
LibreOffice properly. It was triggering the repair dialog on MSO. And we
even lost the button in LibreOffice.

If the pCurrXclObj is failed, we need to give a chance to export button
by using XclExpTbxControlObj instead of directly XclObjAny

This patch just fixes the Command button xls to xlsx convertion problem.
Not all the form controls.

Signed-off-by: Gülşah Köse 
Change-Id: Ifabf4d0e16bd620f8201a2143d8af7c64d8859a6
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/180414
Reviewed-by: Szymon Kłos 
Tested-by: Jenkins CollaboraOffice 
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/181345

diff --git a/sc/source/filter/xcl97/xcl97esc.cxx 
b/sc/source/filter/xcl97/xcl97esc.cxx
index b2f81453c667..525ddb1bf44e 100644
--- a/sc/source/filter/xcl97/xcl97esc.cxx
+++ b/sc/source/filter/xcl97/xcl97esc.cxx
@@ -240,7 +240,11 @@ EscherExHostAppData* XclEscherEx::StartShape( const 
Reference< XShape >& rxShape
 SAL_WARN("sc", "XclEscherEx::StartShape, this control can't 
get the property ControlTypeinMSO!");
 }
 if( nMsCtlType == 2 )  //OCX Form Control
+{
 pCurrXclObj = CreateOCXCtrlObj( rxShape, pChildAnchor 
).release();
+if(!pCurrXclObj) // Give a chance to handle control object 
with XclExpTbxControlObj instead of XclObjAny
+pCurrXclObj = CreateTBXCtrlObj( rxShape, pChildAnchor 
).release();
+}
 else  //TBX Form Control
 pCurrXclObj = CreateTBXCtrlObj( rxShape, pChildAnchor 
).release();
 if( !pCurrXclObj )


core.git: sc/qa

2025-02-11 Thread Xisco Fauli (via logerrit)
 sc/qa/unit/data/xls/tdf165080.xls   |binary
 sc/qa/unit/subsequent_filters_test2.cxx |   18 ++
 2 files changed, 18 insertions(+)

New commits:
commit 449b905f78737337eef8daff03a6342f96df845e
Author: Xisco Fauli 
AuthorDate: Tue Feb 11 14:41:14 2025 +0100
Commit: Xisco Fauli 
CommitDate: Tue Feb 11 15:46:17 2025 +0100

tdf#165080: sc_subsequent_filters_test2: Add unittest

Change-Id: I2352f6c40cf18344a5ac97467ddfe074e9bb4016
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/181421
Tested-by: Jenkins
Reviewed-by: Xisco Fauli 

diff --git a/sc/qa/unit/data/xls/tdf165080.xls 
b/sc/qa/unit/data/xls/tdf165080.xls
new file mode 100644
index ..01323774499c
Binary files /dev/null and b/sc/qa/unit/data/xls/tdf165080.xls differ
diff --git a/sc/qa/unit/subsequent_filters_test2.cxx 
b/sc/qa/unit/subsequent_filters_test2.cxx
index 60966f08bc5c..f1d9faec8c4b 100644
--- a/sc/qa/unit/subsequent_filters_test2.cxx
+++ b/sc/qa/unit/subsequent_filters_test2.cxx
@@ -862,6 +862,24 @@ CPPUNIT_TEST_FIXTURE(ScFiltersTest2, testTdf130132)
 }
 }
 
+CPPUNIT_TEST_FIXTURE(ScFiltersTest2, testTdf165080)
+{
+createScDoc("xls/tdf165080.xls");
+
+ScDocument* pDoc = getScDoc();
+
+const ScPatternAttr* pAttr = pDoc->GetPattern(0, 0, 0);
+
+const SfxPoolItem& rItem = pAttr->GetItem(ATTR_BACKGROUND);
+const SvxBrushItem& rBackground = static_cast(rItem);
+const Color& rColor = rBackground.GetColor();
+
+// Without the fix in place, this test would have failed with
+// - Expected: rgba[c0c0c0ff]
+// - Actual  : rgba[ff00]
+CPPUNIT_ASSERT_EQUAL(COL_LIGHTGRAY, rColor);
+}
+
 CPPUNIT_TEST_FIXTURE(ScFiltersTest2, testTdf133327)
 {
 createScDoc("ods/tdf133327.ods");


core.git: Branch 'libreoffice-24-8' - sc/qa sc/source

2025-02-11 Thread Noel Grandin (via logerrit)
 sc/qa/unit/data/ods/RowHeightTdf165003.ods |binary
 sc/qa/unit/subsequent_filters_test4.cxx|   23 +++
 sc/source/core/data/column2.cxx|8 +++-
 3 files changed, 30 insertions(+), 1 deletion(-)

New commits:
commit ef385dbed89bbec4eac75f9fb6e1d348bc91fd03
Author: Noel Grandin 
AuthorDate: Tue Feb 11 12:54:02 2025 +0200
Commit: Xisco Fauli 
CommitDate: Tue Feb 11 15:46:26 2025 +0100

tdf#165003 Row height wrong at writing direction 90°

regression from
commit f91a411340ae204ce1e6997f22e0352a4c6a8355
Author: Noel Grandin 
Date:   Thu May 23 15:09:52 2024 +0200
reduce cost of calc column height calculation

This also fixes another bug in the above commit where the code did not
update nValue for the "else if (bBreak && !bWidth)" case

Change-Id: I367a56c2cb555336e1d510efb0c7acac1447525f
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/181417
Tested-by: Jenkins
Reviewed-by: Noel Grandin 
(cherry picked from commit f2639e2a98f114f053a13da669440587d56a0dd8)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/181423
Reviewed-by: Xisco Fauli 

diff --git a/sc/qa/unit/data/ods/RowHeightTdf165003.ods 
b/sc/qa/unit/data/ods/RowHeightTdf165003.ods
new file mode 100644
index ..b3672f929f82
Binary files /dev/null and b/sc/qa/unit/data/ods/RowHeightTdf165003.ods differ
diff --git a/sc/qa/unit/subsequent_filters_test4.cxx 
b/sc/qa/unit/subsequent_filters_test4.cxx
index caf29b9f9c03..d3e29f89d333 100644
--- a/sc/qa/unit/subsequent_filters_test4.cxx
+++ b/sc/qa/unit/subsequent_filters_test4.cxx
@@ -418,6 +418,29 @@ CPPUNIT_TEST_FIXTURE(ScFiltersTest4, testRowHeightODS)
 CPPUNIT_ASSERT_MESSAGE("Row should have an automatic height.", !bManual);
 }
 
+CPPUNIT_TEST_FIXTURE(ScFiltersTest4, testRowHeightTdf165003)
+{
+createScDoc("ods/RowHeightTdf165003.ods");
+
+SCTAB nTab = 0;
+SCROW nRow = 0;
+ScDocument* pDoc = getScDoc();
+
+int nHeight = pDoc->GetRowHeight(nRow, nTab, false);
+CPPUNIT_ASSERT_EQUAL(256, nHeight);
+nHeight = pDoc->GetRowHeight(++nRow, nTab, false);
+CPPUNIT_ASSERT_EQUAL(256, nHeight);
+nHeight = pDoc->GetRowHeight(++nRow, nTab, false);
+CPPUNIT_ASSERT_EQUAL(256, nHeight);
+nHeight = pDoc->GetRowHeight(++nRow, nTab, false);
+CPPUNIT_ASSERT_EQUAL(256, nHeight);
+// this row has 90-degree rotated text, and without the fix, would have 
had zero height.
+nHeight = pDoc->GetRowHeight(++nRow, nTab, false);
+CPPUNIT_ASSERT_EQUAL(582, nHeight);
+nHeight = pDoc->GetRowHeight(++nRow, nTab, false);
+CPPUNIT_ASSERT_EQUAL(256, nHeight);
+}
+
 CPPUNIT_TEST_FIXTURE(ScFiltersTest4, testRichTextContentODS)
 {
 createScDoc("ods/rich-text-cells.ods");
diff --git a/sc/source/core/data/column2.cxx b/sc/source/core/data/column2.cxx
index 2b0a88aef220..dd9fbf29a566 100644
--- a/sc/source/core/data/column2.cxx
+++ b/sc/source/core/data/column2.cxx
@@ -310,7 +310,10 @@ tools::Long ScColumn::GetNeededSize(
 tools::Long nWidth = 0;
 if ( eOrient != SvxCellOrientation::Standard )
 {
-nWidth = pDev->GetTextHeight();
+tools::Long nHeight = pDev->GetTextHeight();
+// swap width and height
+nValue = bWidth ? nHeight : pDev->GetTextWidth( aValStr );
+nWidth = nHeight;
 }
 else if ( nRotate )
 {
@@ -363,7 +366,10 @@ tools::Long ScColumn::GetNeededSize(
 }
 }
 else if (bBreak && !bWidth)
+{
 nWidth = pDev->GetTextWidth(aValStr);
+nValue = pDev->GetTextHeight();
+}
 else
 // in the common case (height), avoid calling the expensive 
GetTextWidth
 nValue = bWidth ? pDev->GetTextWidth( aValStr ) : 
pDev->GetTextHeight();


core.git: helpcontent2

2025-02-11 Thread Olivier Hallot (via logerrit)
 helpcontent2 |2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

New commits:
commit f647131cb34fabbc206b4b72705d95a5d59884e7
Author: Olivier Hallot 
AuthorDate: Tue Feb 11 11:53:55 2025 -0300
Commit: Gerrit Code Review 
CommitDate: Tue Feb 11 15:53:55 2025 +0100

Update git submodules

* Update helpcontent2 from branch 'master'
  to 84435ba08d96a46d9ced24ccd37599d2932e8932
  - tdf#137419 (part) Restore Data Provider Help page

+ Restore deleted help page
+ Refactor, add some bookmark entries, how-to-get ...
+ Page need further work once the feature is properly documented.

Change-Id: I7984ac16dd355f4df1e63bbbcd928109660b0cd5
Reviewed-on: https://gerrit.libreoffice.org/c/help/+/181419
Reviewed-by: Olivier Hallot 
Tested-by: Jenkins

diff --git a/helpcontent2 b/helpcontent2
index 59b3b34772dc..84435ba08d96 16
--- a/helpcontent2
+++ b/helpcontent2
@@ -1 +1 @@
-Subproject commit 59b3b34772dc046c393d4b31570a4262cfd523ef
+Subproject commit 84435ba08d96a46d9ced24ccd37599d2932e8932


core.git: Branch 'libreoffice-25-2' - download.lst

2025-02-11 Thread Xisco Fauli (via logerrit)
 download.lst |4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

New commits:
commit c252b97bb875ff37fa1f85d1b8cac0791c4ce1dd
Author: Xisco Fauli 
AuthorDate: Tue Feb 11 17:36:26 2025 +0100
Commit: Michael Weghorn 
CommitDate: Tue Feb 11 22:13:42 2025 +0100

openssl: upgrade to 3.0.16

Downloaded from 
https://github.com/openssl/openssl/releases/download/openssl-3.0.16/openssl-3.0.16.tar.gz

Change-Id: I9eeb10132455be1240cbe7312275d5211dee3600
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/181442
Tested-by: Jenkins
Reviewed-by: Xisco Fauli 
(cherry picked from commit fe39e60102f34f6dba59828579ee75e4c05486e0)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/181453
Reviewed-by: Michael Weghorn 

diff --git a/download.lst b/download.lst
index 4b85a040e8e5..98293e9dc0cd 100644
--- a/download.lst
+++ b/download.lst
@@ -543,8 +543,8 @@ OPENLDAP_TARBALL := openldap-2.6.9.tgz
 # three static lines
 # so that git cherry-pick
 # will not run into conflicts
-OPENSSL_SHA256SUM := 
23c666d0edf20f14249b3d8f0368acaee9ab585b09e1de82107c66e1f3ec9533
-OPENSSL_TARBALL := openssl-3.0.15.tar.gz
+OPENSSL_SHA256SUM := 
57e03c50feab5d31b152af2b764f10379aecd8ee92f16c985983ce4a99f7ef86
+OPENSSL_TARBALL := openssl-3.0.16.tar.gz
 # three static lines
 # so that git cherry-pick
 # will not run into conflicts


core.git: Branch 'libreoffice-24-8-5' - xmlsecurity/source

2025-02-11 Thread Miklos Vajna (via logerrit)
 xmlsecurity/source/xmlsec/nss/xmlsignature_nssimpl.cxx |1 +
 1 file changed, 1 insertion(+)

New commits:
commit e7405fe114fcb81073f8e875da0711e38fcaa233
Author: Miklos Vajna 
AuthorDate: Tue Jan 28 16:38:10 2025 +0100
Commit: Michael Weghorn 
CommitDate: Tue Feb 11 22:19:35 2025 +0100

tdf#161872 xmlsecurity nss: don't require trusted signing certs

Configure your signing cert in Firefox, (unusually) don't trust the CA
that you would use to issue your signing cert, try to sign a document,
error.

This is reportedly wrong since commit
bfd479abf0d1d8ce36c3b0dcc6c824216f88a95b (Update libxmlsec to 1.3.1,
2023-06-09), for some reason our usage of libxmlsec-1.2 didn't trigger
this problem.

Given that we already disable libxmlsec-side cert verify while
verifying a signature (and have our own logic there), it's consistent to
do the same while creating the signature, and that fixes the bug, too.

The Windows / MSCNG backend is not yet changed here.

Change-Id: I8a7adf06b9a26731f1a180a4f6257317084e414a
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/180844
Tested-by: Jenkins
Reviewed-by: Miklos Vajna 
(cherry picked from commit 1817760f56b74e47120c1b4d7641fbaebcf378ad)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/180885
Reviewed-by: Moritz Duge 
Reviewed-by: Xisco Fauli 
(cherry picked from commit 723ecfa63f5218b2f06f0a807b56869b80a19fe2)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/181049
(cherry picked from commit 3166d5fc732a812ca8f8c296de285dbeee6dcb1e)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/181367
Reviewed-by: Ilmari Lauhakangas 
Reviewed-by: Michael Weghorn 
Tested-by: Michael Weghorn 

diff --git a/xmlsecurity/source/xmlsec/nss/xmlsignature_nssimpl.cxx 
b/xmlsecurity/source/xmlsec/nss/xmlsignature_nssimpl.cxx
index ce61942dda27..feb31594f5d4 100644
--- a/xmlsecurity/source/xmlsec/nss/xmlsignature_nssimpl.cxx
+++ b/xmlsecurity/source/xmlsec/nss/xmlsignature_nssimpl.cxx
@@ -150,6 +150,7 @@ SAL_CALL XMLSignature_NssImpl::generate(
 }
 
 //Sign the template
+pDsigCtx->keyInfoReadCtx.flags |= 
XMLSEC_KEYINFO_FLAGS_X509DATA_DONT_VERIFY_CERTS;
 if( xmlSecDSigCtxSign( pDsigCtx.get() , pNode ) == 0 )
 {
 if (pDsigCtx->status == xmlSecDSigStatusSucceeded)


core.git: Branch 'libreoffice-24-8-5' - xmlsecurity/source

2025-02-11 Thread Miklos Vajna (via logerrit)
 xmlsecurity/source/xmlsec/mscrypt/xmlsignature_mscryptimpl.cxx |1 +
 1 file changed, 1 insertion(+)

New commits:
commit c61a5f5657bc259accc2d05d9c628050db2153c1
Author: Miklos Vajna 
AuthorDate: Wed Jan 29 09:40:46 2025 +0100
Commit: Michael Weghorn 
CommitDate: Tue Feb 11 22:20:18 2025 +0100

tdf#161872 xmlsecurity mscrypt: don't require trusted signing certs

See commit 1817760f56b74e47120c1b4d7641fbaebcf378ad (tdf#161872
xmlsecurity nss: don't require trusted signing certs, 2025-01-28), this
is the same situation, but this time on Windows.

Change-Id: I945899da47ab5dcc421f35db31ec7af240c59b8c
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/180881
Reviewed-by: Miklos Vajna 
Tested-by: Jenkins
(cherry picked from commit ec9dbbe288ccb759ed95533fb849dac8a65c4a6b)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/180886
Reviewed-by: Moritz Duge 
Reviewed-by: Xisco Fauli 
(cherry picked from commit b9c8f8a0fb0f56fc91b4882afcc06041796f1ca3)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/181050
(cherry picked from commit 83a67cfbde00887b5e158e1026d0b6c2cadff3b4)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/181366
Tested-by: Michael Weghorn 
Reviewed-by: Michael Weghorn 
Reviewed-by: Ilmari Lauhakangas 

diff --git a/xmlsecurity/source/xmlsec/mscrypt/xmlsignature_mscryptimpl.cxx 
b/xmlsecurity/source/xmlsec/mscrypt/xmlsignature_mscryptimpl.cxx
index 581249292f1a..1014addbff27 100644
--- a/xmlsecurity/source/xmlsec/mscrypt/xmlsignature_mscryptimpl.cxx
+++ b/xmlsecurity/source/xmlsec/mscrypt/xmlsignature_mscryptimpl.cxx
@@ -143,6 +143,7 @@ SAL_CALL XMLSignature_MSCryptImpl::generate(
 }
 
 //Sign the template
+pDsigCtx->keyInfoReadCtx.flags |= 
XMLSEC_KEYINFO_FLAGS_X509DATA_DONT_VERIFY_CERTS;
 if( xmlSecDSigCtxSign( pDsigCtx , pNode ) == 0 )
 {
 if (pDsigCtx->status == xmlSecDSigStatusSucceeded)


core.git: Branch 'libreoffice-24-8-5' - sc/source

2025-02-11 Thread Samuel Mehrbrodt (via logerrit)
 sc/source/ui/dbgui/filtdlg.cxx |3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

New commits:
commit 4cc9f1db86c636bd8f01fca514be5a65c0317fcf
Author: Samuel Mehrbrodt 
AuthorDate: Mon Feb 3 09:37:24 2025 +0100
Commit: Michael Weghorn 
CommitDate: Tue Feb 11 22:22:14 2025 +0100

tdf#149907 Update results when changing condition

Regression from d9dd003f63a781e63bfbe380ea737e080c21881f

Change-Id: I9373be1f77ba13049a91816f57c5ae6b8913f071
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/181028
Tested-by: Jenkins
Reviewed-by: Samuel Mehrbrodt 
(cherry picked from commit 5be5e9da58c7dcee418264b2da29ddcc07e4709d)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/181033
Reviewed-by: Xisco Fauli 
(cherry picked from commit 78c5864e5b98d5dc0fd6fd6118e4678c6e419bd3)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/181129
Reviewed-by: Michael Weghorn 
Reviewed-by: Ilmari Lauhakangas 
Reviewed-by: Jonathan Clark 
Tested-by: Michael Weghorn 

diff --git a/sc/source/ui/dbgui/filtdlg.cxx b/sc/source/ui/dbgui/filtdlg.cxx
index 8e9995b07385..daa057c73fcb 100644
--- a/sc/source/ui/dbgui/filtdlg.cxx
+++ b/sc/source/ui/dbgui/filtdlg.cxx
@@ -1160,8 +1160,7 @@ IMPL_LINK(ScFilterDlg, LbSelectHdl, weld::ComboBox&, rLb, 
void)
 UpdateColorList(4);
 }
 
-auto aEntry = theQueryData.GetEntry(nQ);
-aEntry.eOp = op;
+theQueryData.GetEntry(nQ).eOp = op;
 }
 else if (&rLb == m_xLbColor1.get() || &rLb == m_xLbColor2.get() || &rLb == 
m_xLbColor3.get()
  || &rLb == m_xLbColor4.get())


core.git: Branch 'libreoffice-24-8-5' - sc/qa sc/source

2025-02-11 Thread Noel Grandin (via logerrit)
 sc/qa/unit/data/ods/RowHeightTdf165003.ods |binary
 sc/qa/unit/subsequent_filters_test4.cxx|   23 +++
 sc/source/core/data/column2.cxx|8 +++-
 3 files changed, 30 insertions(+), 1 deletion(-)

New commits:
commit 4a334d519c3fb2b5cb9c59b3ea4adc3a22be5d58
Author: Noel Grandin 
AuthorDate: Tue Feb 11 12:54:02 2025 +0200
Commit: Michael Weghorn 
CommitDate: Tue Feb 11 22:21:18 2025 +0100

tdf#165003 Row height wrong at writing direction 90°

regression from
commit f91a411340ae204ce1e6997f22e0352a4c6a8355
Author: Noel Grandin 
Date:   Thu May 23 15:09:52 2024 +0200
reduce cost of calc column height calculation

This also fixes another bug in the above commit where the code did not
update nValue for the "else if (bBreak && !bWidth)" case

Change-Id: I367a56c2cb555336e1d510efb0c7acac1447525f
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/181417
Tested-by: Jenkins
Reviewed-by: Noel Grandin 
(cherry picked from commit f2639e2a98f114f053a13da669440587d56a0dd8)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/181423
Reviewed-by: Xisco Fauli 
(cherry picked from commit ef385dbed89bbec4eac75f9fb6e1d348bc91fd03)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/181427
Reviewed-by: Michael Weghorn 
Tested-by: Michael Weghorn 
Reviewed-by: Ilmari Lauhakangas 

diff --git a/sc/qa/unit/data/ods/RowHeightTdf165003.ods 
b/sc/qa/unit/data/ods/RowHeightTdf165003.ods
new file mode 100644
index ..b3672f929f82
Binary files /dev/null and b/sc/qa/unit/data/ods/RowHeightTdf165003.ods differ
diff --git a/sc/qa/unit/subsequent_filters_test4.cxx 
b/sc/qa/unit/subsequent_filters_test4.cxx
index caf29b9f9c03..d3e29f89d333 100644
--- a/sc/qa/unit/subsequent_filters_test4.cxx
+++ b/sc/qa/unit/subsequent_filters_test4.cxx
@@ -418,6 +418,29 @@ CPPUNIT_TEST_FIXTURE(ScFiltersTest4, testRowHeightODS)
 CPPUNIT_ASSERT_MESSAGE("Row should have an automatic height.", !bManual);
 }
 
+CPPUNIT_TEST_FIXTURE(ScFiltersTest4, testRowHeightTdf165003)
+{
+createScDoc("ods/RowHeightTdf165003.ods");
+
+SCTAB nTab = 0;
+SCROW nRow = 0;
+ScDocument* pDoc = getScDoc();
+
+int nHeight = pDoc->GetRowHeight(nRow, nTab, false);
+CPPUNIT_ASSERT_EQUAL(256, nHeight);
+nHeight = pDoc->GetRowHeight(++nRow, nTab, false);
+CPPUNIT_ASSERT_EQUAL(256, nHeight);
+nHeight = pDoc->GetRowHeight(++nRow, nTab, false);
+CPPUNIT_ASSERT_EQUAL(256, nHeight);
+nHeight = pDoc->GetRowHeight(++nRow, nTab, false);
+CPPUNIT_ASSERT_EQUAL(256, nHeight);
+// this row has 90-degree rotated text, and without the fix, would have 
had zero height.
+nHeight = pDoc->GetRowHeight(++nRow, nTab, false);
+CPPUNIT_ASSERT_EQUAL(582, nHeight);
+nHeight = pDoc->GetRowHeight(++nRow, nTab, false);
+CPPUNIT_ASSERT_EQUAL(256, nHeight);
+}
+
 CPPUNIT_TEST_FIXTURE(ScFiltersTest4, testRichTextContentODS)
 {
 createScDoc("ods/rich-text-cells.ods");
diff --git a/sc/source/core/data/column2.cxx b/sc/source/core/data/column2.cxx
index 2b0a88aef220..dd9fbf29a566 100644
--- a/sc/source/core/data/column2.cxx
+++ b/sc/source/core/data/column2.cxx
@@ -310,7 +310,10 @@ tools::Long ScColumn::GetNeededSize(
 tools::Long nWidth = 0;
 if ( eOrient != SvxCellOrientation::Standard )
 {
-nWidth = pDev->GetTextHeight();
+tools::Long nHeight = pDev->GetTextHeight();
+// swap width and height
+nValue = bWidth ? nHeight : pDev->GetTextWidth( aValStr );
+nWidth = nHeight;
 }
 else if ( nRotate )
 {
@@ -363,7 +366,10 @@ tools::Long ScColumn::GetNeededSize(
 }
 }
 else if (bBreak && !bWidth)
+{
 nWidth = pDev->GetTextWidth(aValStr);
+nValue = pDev->GetTextHeight();
+}
 else
 // in the common case (height), avoid calling the expensive 
GetTextWidth
 nValue = bWidth ? pDev->GetTextWidth( aValStr ) : 
pDev->GetTextHeight();


core.git: Branch 'libreoffice-24-8-5' - download.lst external/gpgmepp

2025-02-11 Thread Xisco Fauli (via logerrit)
 download.lst|4 ++--
 external/gpgmepp/ExternalPackage_gpgmepp.mk |4 ++--
 2 files changed, 4 insertions(+), 4 deletions(-)

New commits:
commit 097eb0bbe0b1ae1f8729142ee11cd5efcde884e7
Author: Xisco Fauli 
AuthorDate: Mon Feb 10 15:58:58 2025 +0100
Commit: Michael Weghorn 
CommitDate: Tue Feb 11 22:23:35 2025 +0100

gpgme: upgrade to 1.24.2

Downloaded from https://gnupg.org/ftp/gcrypt/gpgme/gpgme-1.24.2.tar.bz2

Change-Id: I3b75db7258a99cbab1f68151e678d118376b949c
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/181362
Tested-by: Jenkins
Reviewed-by: Xisco Fauli 
(cherry picked from commit 249440f5b7a84f5855301ce71f365679e7ce45a6)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/181384
Reviewed-by: Taichi Haradaguchi <20001...@protonmail.com>
(cherry picked from commit 7478a018d7fb068b46f301452b7f8e88043ee1f5)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/181403
Reviewed-by: Ilmari Lauhakangas 
Reviewed-by: Michael Weghorn 
Tested-by: Michael Weghorn 
Reviewed-by: Christian Lohmaier 

diff --git a/download.lst b/download.lst
index a4cafb3e6f04..38916325cebd 100644
--- a/download.lst
+++ b/download.lst
@@ -282,8 +282,8 @@ GLM_TARBALL := glm-1.0.1.zip
 # three static lines
 # so that git cherry-pick
 # will not run into conflicts
-GPGME_SHA256SUM := 
ea05d0258e71061d61716584ec34cef59330a91340571edc46b78374973ba85f
-GPGME_TARBALL := gpgme-1.24.1.tar.bz2
+GPGME_SHA256SUM := 
e11b1a0e361777e9e55f48a03d89096e2abf08c63d84b7017cfe1dce06639581
+GPGME_TARBALL := gpgme-1.24.2.tar.bz2
 # three static lines
 # so that git cherry-pick
 # will not run into conflicts
diff --git a/external/gpgmepp/ExternalPackage_gpgmepp.mk 
b/external/gpgmepp/ExternalPackage_gpgmepp.mk
index 731e3a6a87bc..448815c8a630 100644
--- a/external/gpgmepp/ExternalPackage_gpgmepp.mk
+++ b/external/gpgmepp/ExternalPackage_gpgmepp.mk
@@ -15,8 +15,8 @@ ifneq ($(DISABLE_DYNLOADING),TRUE)
 
 ifeq ($(OS),LINUX)
 
-$(eval $(call 
gb_ExternalPackage_add_file,gpgmepp,$(LIBO_LIB_FOLDER)/libgpgmepp.so.6,lang/cpp/src/.libs/libgpgmepp.so.6.21.1))
-$(eval $(call 
gb_ExternalPackage_add_file,gpgmepp,$(LIBO_LIB_FOLDER)/libgpgme.so.11,src/.libs/libgpgme.so.11.33.1))
+$(eval $(call 
gb_ExternalPackage_add_file,gpgmepp,$(LIBO_LIB_FOLDER)/libgpgmepp.so.6,lang/cpp/src/.libs/libgpgmepp.so.6.21.2))
+$(eval $(call 
gb_ExternalPackage_add_file,gpgmepp,$(LIBO_LIB_FOLDER)/libgpgme.so.11,src/.libs/libgpgme.so.11.33.2))
 
 else ifeq ($(OS),MACOSX)
 


core.git: Branch 'libreoffice-24-8-5' - sc/qa sc/source

2025-02-11 Thread Xisco Fauli (via logerrit)
 sc/qa/unit/data/functions/spreadsheet/fods/unique.fods |  111 +
 sc/source/core/tool/interpr1.cxx   |6 
 2 files changed, 114 insertions(+), 3 deletions(-)

New commits:
commit 28e3f195794f4ea00d097b1eecea84ea2f604113
Author: Xisco Fauli 
AuthorDate: Mon Feb 3 12:11:34 2025 +0100
Commit: Michael Weghorn 
CommitDate: Tue Feb 11 22:23:10 2025 +0100

tdf#162601: UNIQUE function is case-insensitive

This patch also includes
commit 11e62f3a0566464186cef88f6133dbf88fe60a08 (origin/master, origin/HEAD)
Author: Xisco Fauli 
Date:   Mon Feb 3 20:56:35 2025 +0100

related: tdf#162601 UNIQUE function is case-insensitive also for non 
ASCII

Kudos to M. Kaganski for flagging it

Change-Id: I12d67cb926c1e6dc8b7863529639dc252385b8e3
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/181035
Reviewed-by: Xisco Fauli 
Tested-by: Jenkins
(cherry picked from commit 0ef05087b54621caec96e72fc8aaf13f86a90bf9)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/181063
Tested-by: Xisco Fauli 
Reviewed-by: Balazs Varga 
(cherry picked from commit 29c9a61b96c88856784d2c4f9abafcfc0e979bc1)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/181064
(cherry picked from commit e348153cbd05391f0be124c026341b3055ada429)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/181114
Reviewed-by: Jonathan Clark 
Tested-by: Michael Weghorn 
Reviewed-by: Michael Weghorn 
Reviewed-by: Ilmari Lauhakangas 

diff --git a/sc/qa/unit/data/functions/spreadsheet/fods/unique.fods 
b/sc/qa/unit/data/functions/spreadsheet/fods/unique.fods
index 5fce49310229..ac9674441351 100644
--- a/sc/qa/unit/data/functions/spreadsheet/fods/unique.fods
+++ b/sc/qa/unit/data/functions/spreadsheet/fods/unique.fods
@@ -5044,6 +5044,117 @@
  
  
 
+
+ 
+ 
+ 
+ 
+  case insensitive
+ 
+ 
+
+
+ 
+  A
+ 
+ 
+ 
+  A
+ 
+ 
+ 
+  TRUE
+ 
+ 
+  
{=UNIQUE({"A";"a";"b";"B"})}
+ 
+ 
+
+
+ 
+  b
+ 
+ 
+ 
+  b
+ 
+ 
+ 
+  TRUE
+ 
+ 
+  
{=UNIQUE({"A";"a";"b";"B"})}
+ 
+ 
+
+
+ 
+  c
+ 
+ 
+ 
+  c
+ 
+ 
+ 
+  TRUE
+ 
+ 
+  
{=UNIQUE({"A";"a";"b";"B";"c"};
 ; 1)}
+ 
+ 
+
+
+ 
+  Á
+ 
+ 
+ 
+  Á
+ 
+ 
+ 
+  TRUE
+ 
+ 
+  
{=UNIQUE({"Á";"á";"é";"É"})}
+ 
+ 
+
+
+ 
+  é
+ 
+ 
+ 
+  é
+ 
+ 
+ 
+  TRUE
+ 
+ 
+  
{=UNIQUE({"Á";"á";"é";"É"})}
+ 
+ 
+
+
+ 
+  c
+ 
+ 
+ 
+  c
+ 
+ 
+ 
+  TRUE
+ 
+ 
+  
{=UNIQUE({"Á";"á";"é";"É";"c"};
 ; 1)}
+ 
+ 
+
 
  
  
diff --git a/sc/source/core/tool/interpr1.cxx b/sc/source/core/tool/interpr1.cxx
index e8ccc4570acb..01b06bd45218 100644
--- a/sc/source/core/tool/interpr1.cxx
+++ b/sc/source/core/tool/interpr1.cxx
@@ -8854,7 +8854,7 @@ void ScInterpreter::ScUnique()
 aStr += aCellStr + u"\x0001";
 }
 
-if (aStrSet.insert(aStr).second) // unique if inserted
+if (aStrSet.insert(ScGlobal::getCharClass().lowercase(aStr)).second) 
// unique if inserted
 {
 aResPos.emplace_back(std::make_pair(i, aStr));
 }
@@ -8863,9 +8863,9 @@ void ScInterpreter::ScUnique()
 if (bExactly_once)
 {
 auto it = std::find_if(aResPos.begin(), aResPos.end(),
-[&aStr](const std::pair& aRes)
+[str = ScGlobal::getCharClass().lowercase(aStr)](const 
std::pair& aRes)
 {
-return aRes.second.equals(aStr);
+return 
ScGlobal::getCharClass().lowercase(aRes.second).equals(str);
 }
 );
 if (it != aResPos.end())


core.git: Branch 'libreoffice-24-8' - download.lst external/gpgmepp

2025-02-11 Thread Xisco Fauli (via logerrit)
 download.lst|4 ++--
 external/gpgmepp/ExternalPackage_gpgmepp.mk |4 ++--
 2 files changed, 4 insertions(+), 4 deletions(-)

New commits:
commit 6abc5b882ee8f377e1252f239471a7d54d775411
Author: Xisco Fauli 
AuthorDate: Mon Feb 10 15:58:58 2025 +0100
Commit: Michael Weghorn 
CommitDate: Tue Feb 11 22:23:50 2025 +0100

gpgme: upgrade to 1.24.2

Downloaded from https://gnupg.org/ftp/gcrypt/gpgme/gpgme-1.24.2.tar.bz2

Change-Id: I3b75db7258a99cbab1f68151e678d118376b949c
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/181362
Tested-by: Jenkins
Reviewed-by: Xisco Fauli 
(cherry picked from commit 249440f5b7a84f5855301ce71f365679e7ce45a6)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/181384
Reviewed-by: Taichi Haradaguchi <20001...@protonmail.com>
(cherry picked from commit 7478a018d7fb068b46f301452b7f8e88043ee1f5)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/181402
Reviewed-by: Michael Weghorn 

diff --git a/download.lst b/download.lst
index 1e31bb1c1121..24992a0a6fb7 100644
--- a/download.lst
+++ b/download.lst
@@ -282,8 +282,8 @@ GLM_TARBALL := glm-1.0.1.zip
 # three static lines
 # so that git cherry-pick
 # will not run into conflicts
-GPGME_SHA256SUM := 
ea05d0258e71061d61716584ec34cef59330a91340571edc46b78374973ba85f
-GPGME_TARBALL := gpgme-1.24.1.tar.bz2
+GPGME_SHA256SUM := 
e11b1a0e361777e9e55f48a03d89096e2abf08c63d84b7017cfe1dce06639581
+GPGME_TARBALL := gpgme-1.24.2.tar.bz2
 # three static lines
 # so that git cherry-pick
 # will not run into conflicts
diff --git a/external/gpgmepp/ExternalPackage_gpgmepp.mk 
b/external/gpgmepp/ExternalPackage_gpgmepp.mk
index 731e3a6a87bc..448815c8a630 100644
--- a/external/gpgmepp/ExternalPackage_gpgmepp.mk
+++ b/external/gpgmepp/ExternalPackage_gpgmepp.mk
@@ -15,8 +15,8 @@ ifneq ($(DISABLE_DYNLOADING),TRUE)
 
 ifeq ($(OS),LINUX)
 
-$(eval $(call 
gb_ExternalPackage_add_file,gpgmepp,$(LIBO_LIB_FOLDER)/libgpgmepp.so.6,lang/cpp/src/.libs/libgpgmepp.so.6.21.1))
-$(eval $(call 
gb_ExternalPackage_add_file,gpgmepp,$(LIBO_LIB_FOLDER)/libgpgme.so.11,src/.libs/libgpgme.so.11.33.1))
+$(eval $(call 
gb_ExternalPackage_add_file,gpgmepp,$(LIBO_LIB_FOLDER)/libgpgmepp.so.6,lang/cpp/src/.libs/libgpgmepp.so.6.21.2))
+$(eval $(call 
gb_ExternalPackage_add_file,gpgmepp,$(LIBO_LIB_FOLDER)/libgpgme.so.11,src/.libs/libgpgme.so.11.33.2))
 
 else ifeq ($(OS),MACOSX)
 


core.git: Branch 'libreoffice-24-8' - download.lst

2025-02-11 Thread Xisco Fauli (via logerrit)
 download.lst |4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

New commits:
commit 9d23fc99a20abcb5335f3982552b6fee689887b4
Author: Xisco Fauli 
AuthorDate: Mon Feb 10 10:19:13 2025 +0100
Commit: Michael Weghorn 
CommitDate: Tue Feb 11 22:24:52 2025 +0100

language-subtag-registry: upgrade to 2025-02-06

How the file was created:
mkdir data
cd data
wget

https://www.iana.org/assignments/language-subtag-registry/language-subtag-registry
cd ..
tar cvjf language-subtag-registry-2025-02-06.tar.bz2 
data/language-subtag-registry

Change-Id: I3b61e752e14384ff45b692f63b2f741d6a09dc77
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/181331
Tested-by: Jenkins
Reviewed-by: Xisco Fauli 
(cherry picked from commit ee29fb4b41b143eaa6cae5d962c55339e7cf1906)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/181349
Reviewed-by: Michael Weghorn 

diff --git a/download.lst b/download.lst
index 24992a0a6fb7..7d5e4dd861ee 100644
--- a/download.lst
+++ b/download.lst
@@ -359,8 +359,8 @@ LIBJPEG_TURBO_TARBALL := libjpeg-turbo-2.1.5.1.tar.gz
 # three static lines
 # so that git cherry-pick
 # will not run into conflicts
-LANGTAGREG_SHA256SUM := 
06b37484c2736816e84b8bdd2075011d5961c2316865bc2795831230b925608d
-LANGTAGREG_TARBALL := language-subtag-registry-2025-01-21.tar.bz2
+LANGTAGREG_SHA256SUM := 
e5fffcbd640e743fa9b699087d63ccf8ab5b52eed521da68f8c894f350856662
+LANGTAGREG_TARBALL := language-subtag-registry-2025-02-06.tar.bz2
 # three static lines
 # so that git cherry-pick
 # will not run into conflicts


core.git: Branch 'libreoffice-24-8-5' - download.lst

2025-02-11 Thread Xisco Fauli (via logerrit)
 download.lst |4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

New commits:
commit cb4685685e4ad3c66de01e69ba97b762488c041e
Author: Xisco Fauli 
AuthorDate: Mon Feb 10 10:19:13 2025 +0100
Commit: Michael Weghorn 
CommitDate: Tue Feb 11 22:25:29 2025 +0100

language-subtag-registry: upgrade to 2025-02-06

How the file was created:
mkdir data
cd data
wget

https://www.iana.org/assignments/language-subtag-registry/language-subtag-registry
cd ..
tar cvjf language-subtag-registry-2025-02-06.tar.bz2 
data/language-subtag-registry

Change-Id: I3b61e752e14384ff45b692f63b2f741d6a09dc77
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/181331
Tested-by: Jenkins
Reviewed-by: Xisco Fauli 
(cherry picked from commit ee29fb4b41b143eaa6cae5d962c55339e7cf1906)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/181382
Reviewed-by: Michael Weghorn 
Reviewed-by: Christian Lohmaier 
Reviewed-by: Ilmari Lauhakangas 
Tested-by: Michael Weghorn 

diff --git a/download.lst b/download.lst
index 24992a0a6fb7..7d5e4dd861ee 100644
--- a/download.lst
+++ b/download.lst
@@ -359,8 +359,8 @@ LIBJPEG_TURBO_TARBALL := libjpeg-turbo-2.1.5.1.tar.gz
 # three static lines
 # so that git cherry-pick
 # will not run into conflicts
-LANGTAGREG_SHA256SUM := 
06b37484c2736816e84b8bdd2075011d5961c2316865bc2795831230b925608d
-LANGTAGREG_TARBALL := language-subtag-registry-2025-01-21.tar.bz2
+LANGTAGREG_SHA256SUM := 
e5fffcbd640e743fa9b699087d63ccf8ab5b52eed521da68f8c894f350856662
+LANGTAGREG_TARBALL := language-subtag-registry-2025-02-06.tar.bz2
 # three static lines
 # so that git cherry-pick
 # will not run into conflicts


core.git: Branch 'libreoffice-24-8-5' - xmloff/source

2025-02-11 Thread Balazs Varga (via logerrit)
 xmloff/source/draw/shapeexport.cxx  |4 ++--
 xmloff/source/forms/layerexport.cxx |   14 ++
 2 files changed, 16 insertions(+), 2 deletions(-)

New commits:
commit aef44ca736e5d6921b5350e5e61767f74d17b4a8
Author: Balazs Varga 
AuthorDate: Fri Feb 7 12:53:22 2025 +0100
Commit: Michael Weghorn 
CommitDate: Tue Feb 11 22:28:53 2025 +0100

tdf#120397 - odf export fix missing texts in text box control

(Ab)use a call to XTextRange::getText to flush edits and restore
the selection of the textcontent in the textfields.

TODO: unit/UItest

Change-Id: If8e1c85f3565ae1b80fd0645c0905aae16404379
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/181245
Tested-by: Jenkins
Reviewed-by: Balazs Varga 
(cherry picked from commit 4328d1cca66ed9d1e34a8d788d16a2205fe77c1c)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/181280
Reviewed-by: Michael Stahl 
(cherry picked from commit 960e6af4fbe15e4cf857f74382adc0b994a12ff8)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/181326
Reviewed-by: Ilmari Lauhakangas 
Tested-by: Michael Weghorn 
Reviewed-by: Xisco Fauli 
Reviewed-by: Michael Weghorn 

diff --git a/xmloff/source/draw/shapeexport.cxx 
b/xmloff/source/draw/shapeexport.cxx
index 65709b7bfba3..b77cd9927cb8 100644
--- a/xmloff/source/draw/shapeexport.cxx
+++ b/xmloff/source/draw/shapeexport.cxx
@@ -311,10 +311,10 @@ void XMLShapeExport::collectShapeAutoStyles(const 
uno::Reference< drawing::XShap
 {
 try
 {
-// tdf#153161: it seems that the call to XTextRange::getString 
flushes the changes
+// tdf#153161: it seems that the call to xText->getText 
flushes the changes
 // for some objects, that otherwise fail to get exported 
correctly. Maybe at some
 // point it would make sense to find a better place for more 
targeted flush.
-xText->getString();
+xText = xText->getText();
 }
 catch (uno::RuntimeException const&)
 {
diff --git a/xmloff/source/forms/layerexport.cxx 
b/xmloff/source/forms/layerexport.cxx
index 13785cd60156..9e38e9659a24 100644
--- a/xmloff/source/forms/layerexport.cxx
+++ b/xmloff/source/forms/layerexport.cxx
@@ -524,6 +524,20 @@ namespace xmloff
 Reference< XText > xControlText( _rxObject, UNO_QUERY );
 if ( xControlText.is() )
 {
+try
+{
+// tdf#120397: similar to the fix of tdf#153161 where
+// XTextRange::getText() --> ::GetSelection() flushes the 
changes
+// for some Shape objects we also need to set the end 
cursor pos
+// to the end of the form text objects, otherwise fail to 
get
+// exported correctly. Maybe at some point it would make 
sense
+// to find a better place for more targeted flush.
+xControlText = xControlText->getText();
+}
+catch (css::uno::RuntimeException const&)
+{
+// just in case if we would hit something here
+}
 m_rContext.GetTextParagraphExport()->collectTextAutoStyles( 
xControlText );
 }
 


core.git: Branch 'libreoffice-25-2' - download.lst

2025-02-11 Thread Xisco Fauli (via logerrit)
 download.lst |4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

New commits:
commit 0124275c06b9f06fc6dab459e7a4e9f5177c6e5d
Author: Xisco Fauli 
AuthorDate: Mon Feb 10 10:19:13 2025 +0100
Commit: Michael Weghorn 
CommitDate: Tue Feb 11 22:25:01 2025 +0100

language-subtag-registry: upgrade to 2025-02-06

How the file was created:
mkdir data
cd data
wget

https://www.iana.org/assignments/language-subtag-registry/language-subtag-registry
cd ..
tar cvjf language-subtag-registry-2025-02-06.tar.bz2 
data/language-subtag-registry

Change-Id: I3b61e752e14384ff45b692f63b2f741d6a09dc77
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/181331
Tested-by: Jenkins
Reviewed-by: Xisco Fauli 
(cherry picked from commit ee29fb4b41b143eaa6cae5d962c55339e7cf1906)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/181348
Reviewed-by: Michael Weghorn 

diff --git a/download.lst b/download.lst
index 98293e9dc0cd..91f58642270e 100644
--- a/download.lst
+++ b/download.lst
@@ -394,8 +394,8 @@ LIBJPEG_TURBO_TARBALL := libjpeg-turbo-2.1.5.1.tar.gz
 # three static lines
 # so that git cherry-pick
 # will not run into conflicts
-LANGTAGREG_SHA256SUM := 
06b37484c2736816e84b8bdd2075011d5961c2316865bc2795831230b925608d
-LANGTAGREG_TARBALL := language-subtag-registry-2025-01-21.tar.bz2
+LANGTAGREG_SHA256SUM := 
e5fffcbd640e743fa9b699087d63ccf8ab5b52eed521da68f8c894f350856662
+LANGTAGREG_TARBALL := language-subtag-registry-2025-02-06.tar.bz2
 # three static lines
 # so that git cherry-pick
 # will not run into conflicts


core.git: Branch 'libreoffice-24-8-5' - download.lst

2025-02-11 Thread Xisco Fauli (via logerrit)
 download.lst |4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

New commits:
commit 1e92026e4eea4db8de55c6f99b19147d173b66d0
Author: Xisco Fauli 
AuthorDate: Fri Feb 7 12:35:30 2025 +0100
Commit: Michael Weghorn 
CommitDate: Tue Feb 11 22:24:23 2025 +0100

mariadb-connector-c: upgrade to 3.3.14

Downloaded from 
https://mirror.raiolanetworks.com/mariadb///connector-c-3.3.14/mariadb-connector-c-3.3.14-src.tar.gz

Change-Id: I4efa0c4bfff6587758c85f69442b2c78b81fd384
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/181247
Tested-by: Jenkins
Reviewed-by: Taichi Haradaguchi <20001...@protonmail.com>
(cherry picked from commit ded3931062020bf886f764a8593f21b933f962d3)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/181260
Reviewed-by: Ilmari Lauhakangas 
Tested-by: Michael Weghorn 
Reviewed-by: Christian Lohmaier 
Reviewed-by: Michael Weghorn 

diff --git a/download.lst b/download.lst
index 38916325cebd..24992a0a6fb7 100644
--- a/download.lst
+++ b/download.lst
@@ -446,8 +446,8 @@ LXML_TARBALL := lxml-5.2.2.tar.gz
 # three static lines
 # so that git cherry-pick
 # will not run into conflicts
-MARIADB_CONNECTOR_C_SHA256SUM := 
1c03c30b394871ab354dbdb47574beae19e2657da21a911ecc9e33e9388a3bef
-MARIADB_CONNECTOR_C_TARBALL := mariadb-connector-c-3.3.13-src.tar.gz
+MARIADB_CONNECTOR_C_SHA256SUM := 
497c324ed9ebce1dd8a940c1d308574f0d4db41c8209f19bfb3ded25e733ed49
+MARIADB_CONNECTOR_C_TARBALL := mariadb-connector-c-3.3.14-src.tar.gz
 # three static lines
 # so that git cherry-pick
 # will not run into conflicts


core.git: Branch 'libreoffice-24-8-5' - sw/inc sw/source

2025-02-11 Thread Michael Stahl (via logerrit)
 sw/inc/unotextrange.hxx|8 +---
 sw/source/core/unocore/unobkm.cxx  |3 ++-
 sw/source/core/unocore/unoobj2.cxx |   25 -
 3 files changed, 23 insertions(+), 13 deletions(-)

New commits:
commit 2273885b0785b91546962925e5ec44326eb302de
Author: Michael Stahl 
AuthorDate: Fri Jan 31 11:47:46 2025 +0100
Commit: Michael Weghorn 
CommitDate: Tue Feb 11 22:27:40 2025 +0100

tdf#158198 sw: prevent xBookmark.getAnchor().setString("") from deleting

... the bookmark.

Add a RANGE_IS_BOOKMARK to SwXTextRange and special case setString() so
that it will do a replace, not a delete, to prevent the bookmark from
being deleted.

SwXBookmark::getAnchor() will create such a SwXTextRange.

Bookmarks may be in table cells of course so we need RANGE_IN_CELL to be
a flag now so it can be used with 2 different enum values.

(regression from commit baf8d2c1c16cb3bdc4edad2560f95fea807a034f)

Change-Id: I69169b9a5f6f7525715122b16de009c894246bef
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/180985
Reviewed-by: Michael Stahl 
Tested-by: Jenkins
(cherry picked from commit b0d4b4664a295631ce4d8dee2ceb5cd94ae12edb)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/180989
Reviewed-by: Adolfo Jayme Barrientos 
(cherry picked from commit fe5635c78557ef9f51e3bac1d782cf1c8555655d)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/181105
Reviewed-by: Michael Weghorn 
Tested-by: Michael Weghorn 
Reviewed-by: Christian Lohmaier 
Reviewed-by: Ilmari Lauhakangas 

diff --git a/sw/inc/unotextrange.hxx b/sw/inc/unotextrange.hxx
index 1d2265ddfec1..077bbf3e3e75 100644
--- a/sw/inc/unotextrange.hxx
+++ b/sw/inc/unotextrange.hxx
@@ -110,14 +110,15 @@ public:
 enum RangePosition
 {
 RANGE_IN_TEXT,  // "ordinary" css::text::TextRange
-RANGE_IN_CELL,  // position created with a cell that has no uno object
 RANGE_IS_TABLE, // anchor of a table
 RANGE_IS_SECTION, // anchor of a section
+RANGE_IS_BOOKMARK, ///< anchor of a bookmark
 };
 
 SwXTextRange(SwPaM const & rPam,
 const css::uno::Reference< css::text::XText > & xParent,
-const enum RangePosition eRange = RANGE_IN_TEXT);
+const enum RangePosition eRange = RANGE_IN_TEXT,
+bool isInCell = false);
 // only for RANGE_IS_TABLE
 SwXTextRange(SwTableFormat& rTableFormat);
 // only for RANGE_IS_SECTION
@@ -130,7 +131,8 @@ public:
 
 static rtl::Reference< SwXTextRange > CreateXTextRange(
 SwDoc & rDoc,
-const SwPosition& rPos, const SwPosition *const pMark);
+const SwPosition& rPos, const SwPosition *const pMark,
+RangePosition eRange = RANGE_IN_TEXT);
 
 // XServiceInfo
 virtual OUString SAL_CALL getImplementationName() override;
diff --git a/sw/source/core/unocore/unobkm.cxx 
b/sw/source/core/unocore/unobkm.cxx
index cb9b3894a72e..6f0aa41fdf70 100644
--- a/sw/source/core/unocore/unobkm.cxx
+++ b/sw/source/core/unocore/unobkm.cxx
@@ -272,7 +272,8 @@ uno::Reference< text::XTextRange > SAL_CALL 
SwXBookmark::getAnchor()
 *m_pImpl->m_pDoc,
 m_pImpl->m_pRegisteredBookmark->GetMarkPos(),
 (m_pImpl->m_pRegisteredBookmark->IsExpanded())
-? &m_pImpl->m_pRegisteredBookmark->GetOtherMarkPos() : 
nullptr);
+? &m_pImpl->m_pRegisteredBookmark->GetOtherMarkPos() : nullptr,
+SwXTextRange::RANGE_IS_BOOKMARK);
 }
 
 void SAL_CALL SwXBookmark::dispose()
diff --git a/sw/source/core/unocore/unoobj2.cxx 
b/sw/source/core/unocore/unoobj2.cxx
index f043515aefb4..5fa37d8b6b98 100644
--- a/sw/source/core/unocore/unoobj2.cxx
+++ b/sw/source/core/unocore/unoobj2.cxx
@@ -676,16 +676,18 @@ class SwXTextRange::Impl
 public:
 const SfxItemPropertySet& m_rPropSet;
 const enum RangePosition m_eRangePosition;
+bool const m_isRangeInCell; //< position created with a cell that has no 
uno object
 SwDoc& m_rDoc;
 uno::Reference m_xParentText;
 const SwFrameFormat* m_pTableOrSectionFormat;
 const ::sw::mark::IMark* m_pMark;
 
-Impl(SwDoc& rDoc, const enum RangePosition eRange,
+Impl(SwDoc& rDoc, const enum RangePosition eRange, bool const isInCell,
 SwFrameFormat* const pTableOrSectionFormat,
 uno::Reference xParent = nullptr)
 : m_rPropSet(*aSwMapProvider.GetPropertySet(PROPERTY_MAP_TEXT_CURSOR))
 , m_eRangePosition(eRange)
+, m_isRangeInCell(isInCell)
 , m_rDoc(rDoc)
 , m_xParentText(std::move(xParent))
 , m_pTableOrSectionFormat(pTableOrSectionFormat)
@@ -744,15 +746,16 @@ void SwXTextRange::Impl::Notify(const SfxHint& rHint)
 
 SwXTextRange::SwXTextRange(SwPaM const & rPam,
 const uno::Reference< text::XText > & xParent,
-const enum RangePosition eRange)
-: m_pImpl( new SwXTextRange::Imp

core.git: Branch 'libreoffice-24-8-5' - sc/qa sc/source

2025-02-11 Thread Andras Timar (via logerrit)
 sc/qa/unit/data/functions/date_time/fods/weeknum.fods |   10 +-
 sc/source/core/tool/interpr2.cxx  |   15 ++-
 2 files changed, 19 insertions(+), 6 deletions(-)

New commits:
commit ffa1dd40bd10d265c7bf8e25ba2e7ca24a061785
Author: Andras Timar 
AuthorDate: Mon Feb 3 14:55:54 2025 +0100
Commit: Michael Weghorn 
CommitDate: Tue Feb 11 22:28:16 2025 +0100

tdf#165011 accept empty second parameter of WEEKNUM spreadsheet function

and treat it like if it was the the default "1".

Change-Id: I618575a7441a2a6650228fc1a29177e294933ce0
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/181048
Tested-by: Jenkins
Reviewed-by: Andras Timar 
(cherry picked from commit bfb8dbc4a6a462bc9a836d125faaeafd81daadd9)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/181097
Reviewed-by: Xisco Fauli 
(cherry picked from commit 199f1c9da36470ce46b653f95a447e9d78d9605c)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/181104
Tested-by: Christian Lohmaier 
Reviewed-by: Christian Lohmaier 
Reviewed-by: Ilmari Lauhakangas 

diff --git a/sc/qa/unit/data/functions/date_time/fods/weeknum.fods 
b/sc/qa/unit/data/functions/date_time/fods/weeknum.fods
index a4e1c08ebbd6..2f84286ae929 100644
--- a/sc/qa/unit/data/functions/date_time/fods/weeknum.fods
+++ b/sc/qa/unit/data/functions/date_time/fods/weeknum.fods
@@ -769,13 +769,13 @@
  
 
 
- 
-  Err:502
+ 
+  31
  
- 
-  ERR
+ 
+  31
  
- 
+ 
   PRAVDA
  
  
diff --git a/sc/source/core/tool/interpr2.cxx b/sc/source/core/tool/interpr2.cxx
index 2d87abed4789..c556df37d1cb 100644
--- a/sc/source/core/tool/interpr2.cxx
+++ b/sc/source/core/tool/interpr2.cxx
@@ -253,7 +253,20 @@ void ScInterpreter::ScGetWeekOfYear()
 if ( !MustHaveParamCount( nParamCount, 1, 2 ) )
 return;
 
-sal_Int16 nFlag = ( nParamCount == 1 ) ? 1 : GetInt16();
+sal_Int16 nFlag;
+if (nParamCount == 1)
+{
+nFlag = 1;
+}
+else if (GetRawStackType() == svMissing)
+{
+nFlag = 1;
+Pop();
+}
+else
+{
+nFlag = GetInt16();
+}
 
 Date aDate = mrContext.NFGetNullDate();
 aDate.AddDays( GetFloor32());


core.git: Branch 'libreoffice-25-2' - sc/source

2025-02-11 Thread Noel Grandin (via logerrit)
 sc/source/filter/excel/xistyle.cxx |   21 ++---
 1 file changed, 10 insertions(+), 11 deletions(-)

New commits:
commit cadfb0db14c6ff96688259b8a1eeb8615a2f8a49
Author: Noel Grandin 
AuthorDate: Mon Feb 10 13:20:24 2025 +0200
Commit: Michael Weghorn 
CommitDate: Tue Feb 11 22:29:59 2025 +0100

tdf#165080 Background color cells are reset to white

regression from
commit 2d208c4e42595bb85fd0ef726a89e10dd32b48b1
Author: Noel Grandin 
Date:   Tue Jun 25 09:03:49 2024 +0200
tdf#161210 speed xls load

Change-Id: Ided4df0ce448cf811e7f43bcf601641e2b7c29c2
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/181350
Reviewed-by: Noel Grandin 
Tested-by: Jenkins
(cherry picked from commit c5f3e78f34a31077df6f9f8e3e9093454cdca25f)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/181385
Reviewed-by: Michael Weghorn 

diff --git a/sc/source/filter/excel/xistyle.cxx 
b/sc/source/filter/excel/xistyle.cxx
index dddf509b0944..0c859e6be53f 100644
--- a/sc/source/filter/excel/xistyle.cxx
+++ b/sc/source/filter/excel/xistyle.cxx
@@ -1993,17 +1993,6 @@ void XclImpXFRangeBuffer::Finalize()
 ScDocument& rDoc = rDocImport.getDoc();
 SCTAB nScTab = GetCurrScTab();
 
-// apply row styles
-for( SCROW nScRow = 0; nScRow < static_cast(maRows.size()); 
++nScRow )
-{
-if (!maRows[nScRow])
-continue;
-sal_uInt16 nXFIndex = *maRows[nScRow];
-for( SCCOL nScCol = 0; nScCol < static_cast(maColumns.size()); 
++nScCol )
-if (maColumns[nScCol])
-SetXF( ScAddress( nScCol, nScRow, 0 ), nXFIndex, xlXFModeRow );
-}
-
 // apply patterns
 XclImpXFBuffer& rXFBuffer = GetXFBuffer();
 ScDocumentImport::Attrs aPendingAttrParam;
@@ -2062,6 +2051,16 @@ void XclImpXFRangeBuffer::Finalize()
 if( pendingColStart != -1 )
 rDocImport.setAttrEntries(nScTab, pendingColStart, pendingColEnd, 
std::move(aPendingAttrParam));
 
+// apply row styles
+for( SCROW nScRow = 0; nScRow < static_cast(maRows.size()); 
++nScRow )
+{
+if (!maRows[nScRow])
+continue;
+sal_uInt16 nXFIndex = *maRows[nScRow];
+for( nScCol = 0; nScCol < static_cast(maColumns.size()); 
++nScCol )
+SetXF( ScAddress( nScCol, nScRow, 0 ), nXFIndex, xlXFModeRow );
+}
+
 // insert hyperlink cells
 for( const auto& [rXclRange, rUrl] : maHyperlinks )
 XclImpHyperlink::InsertUrl( GetRoot(), rXclRange, rUrl );


core.git: Branch 'libreoffice-25-2-1' - vcl/win

2025-02-11 Thread Sahil Gautam (via logerrit)
 vcl/win/gdi/salnativewidgets-luna.cxx |   11 +--
 1 file changed, 9 insertions(+), 2 deletions(-)

New commits:
commit f59ec1465b440aa89e20a82c298fd4e3bdf316f6
Author: Sahil Gautam 
AuthorDate: Fri Feb 7 23:40:31 2025 +0530
Commit: Michael Weghorn 
CommitDate: Tue Feb 11 22:32:00 2025 +0100

tdf#164972 Fix white-on-white themed scrollbars on windows

- in case of light mode, decrease the base color luminance.

- this is just a temporary fix similar to how other controls
  like disabled buttons are themed and would be replaced with
  themed native controls.

Change-Id: If574e96499f48a5139775a2efcd6aa1f20e26c43
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/181271
Tested-by: Jenkins
Reviewed-by: Sahil Gautam 
(cherry picked from commit 731a4876b72d9794d2a76f170d0338f799369d3f)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/181332
Reviewed-by: Xisco Fauli 
(cherry picked from commit d879bc9e76afb1873236a1aabd3df6bd4f3ad495)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/181392
Tested-by: Michael Weghorn 
Reviewed-by: Michael Stahl 
Reviewed-by: Michael Weghorn 

diff --git a/vcl/win/gdi/salnativewidgets-luna.cxx 
b/vcl/win/gdi/salnativewidgets-luna.cxx
index 36011eb31bee..d0aa805284b8 100644
--- a/vcl/win/gdi/salnativewidgets-luna.cxx
+++ b/vcl/win/gdi/salnativewidgets-luna.cxx
@@ -498,10 +498,17 @@ static bool drawThemedControl(HDC hDC, ControlType nType, 
int iPart, int iState,
 Color aScrollBarThumbColor = 
ThemeColors::GetThemeColors().GetBaseColor();
 const Color& rBackgroundColor = 
ThemeColors::GetThemeColors().GetWindowColor();
 
+bool bUseDarkMode = UseDarkMode();
 if (iState == SCRBS_PRESSED)
-aScrollBarThumbColor.IncreaseLuminance(60);
+if (bUseDarkMode)
+aScrollBarThumbColor.IncreaseLuminance(60);
+else
+aScrollBarThumbColor.DecreaseLuminance(60);
 else if (iState = SCRBS_HOT)
-aScrollBarThumbColor.IncreaseLuminance(30);
+if (bUseDarkMode)
+aScrollBarThumbColor.IncreaseLuminance(30);
+else
+aScrollBarThumbColor.DecreaseLuminance(30);
 
 ScopedHBRUSH hbrush(CreateSolidBrush(RGB(rBackgroundColor.GetRed(),
  
rBackgroundColor.GetGreen(),


help.git: source/text

2025-02-11 Thread Simon Chenery (via logerrit)
 source/text/sbasic/shared/03030203.xhp |3 +++
 1 file changed, 3 insertions(+)

New commits:
commit 0b34aab50fc803bfe100a2b4dbe62a52ae3dccb3
Author: Simon Chenery 
AuthorDate: Mon Feb 10 19:30:42 2025 +0100
Commit: Olivier Hallot 
CommitDate: Tue Feb 11 22:33:03 2025 +0100

tdf#154285 Error code 5 Invalid procedure call possible for NOW()

Change-Id: Ia2b249988f7df784801dc74992127c26f967749d
Reviewed-on: https://gerrit.libreoffice.org/c/help/+/181376
Tested-by: Jenkins
Reviewed-by: Olivier Hallot 

diff --git a/source/text/sbasic/shared/03030203.xhp 
b/source/text/sbasic/shared/03030203.xhp
index 0bbd2ebc22..9777a2d1a6 100644
--- a/source/text/sbasic/shared/03030203.xhp
+++ b/source/text/sbasic/shared/03030203.xhp
@@ -44,6 +44,9 @@
 
 Date
 
+
+
+
 
 
   Sub 
ExampleNow


core.git: helpcontent2

2025-02-11 Thread Olivier Hallot (via logerrit)
 helpcontent2 |2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

New commits:
commit 5204069793c77c2179c059679cae8b69a5b5edaa
Author: Olivier Hallot 
AuthorDate: Tue Feb 11 18:34:07 2025 -0300
Commit: Gerrit Code Review 
CommitDate: Tue Feb 11 22:34:07 2025 +0100

Update git submodules

* Update helpcontent2 from branch 'master'
  to 35b759e6da136e3d46e3e1d08ef2245c50b1d76d
  - tdf#137419 (part 2) Data Provider Help page

+ Refactor, add some bookmark entries, how-to-get ...
+ Page need further work once the feature is properly documented.

Change-Id: I6bfb9fc2c1bef43ee49caef7e5b9d6d5adbd153d
Reviewed-on: https://gerrit.libreoffice.org/c/help/+/181462
Tested-by: Jenkins
Reviewed-by: Olivier Hallot 

diff --git a/helpcontent2 b/helpcontent2
index 0b34aab50fc8..35b759e6da13 16
--- a/helpcontent2
+++ b/helpcontent2
@@ -1 +1 @@
-Subproject commit 0b34aab50fc803bfe100a2b4dbe62a52ae3dccb3
+Subproject commit 35b759e6da136e3d46e3e1d08ef2245c50b1d76d


core.git: helpcontent2

2025-02-11 Thread Simon Chenery (via logerrit)
 helpcontent2 |2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

New commits:
commit b064297cfc660a01a4e788bac331e5765649c121
Author: Simon Chenery 
AuthorDate: Tue Feb 11 22:33:03 2025 +0100
Commit: Gerrit Code Review 
CommitDate: Tue Feb 11 22:33:03 2025 +0100

Update git submodules

* Update helpcontent2 from branch 'master'
  to 0b34aab50fc803bfe100a2b4dbe62a52ae3dccb3
  - tdf#154285 Error code 5 Invalid procedure call possible for NOW()

Change-Id: Ia2b249988f7df784801dc74992127c26f967749d
Reviewed-on: https://gerrit.libreoffice.org/c/help/+/181376
Tested-by: Jenkins
Reviewed-by: Olivier Hallot 

diff --git a/helpcontent2 b/helpcontent2
index 07e8db4df115..0b34aab50fc8 16
--- a/helpcontent2
+++ b/helpcontent2
@@ -1 +1 @@
-Subproject commit 07e8db4df115a5662b5e28831cbc7049cd50c217
+Subproject commit 0b34aab50fc803bfe100a2b4dbe62a52ae3dccb3


core.git: sw/qa sw/source

2025-02-11 Thread Oliver Specht (via logerrit)
 sw/qa/extras/unowriter/data/tdf164921.odt |binary
 sw/qa/extras/unowriter/unowriter.cxx  |   44 ++
 sw/source/core/doc/docnum.cxx |   19 +++-
 3 files changed, 61 insertions(+), 2 deletions(-)

New commits:
commit fe1a74c68b892d01bf5d8be9aed90c12c5bf6abd
Author: Oliver Specht 
AuthorDate: Wed Jan 29 12:38:55 2025 +0100
Commit: Gabor Kelemen 
CommitDate: Tue Feb 11 23:05:52 2025 +0100

tdf#164921 Renaming list styles fixed

User defined list styles are now correctly updated in paragraph
styles that are using them and only directly applied to paragraphs
that had a direct formating before.

Change-Id: I9b671655ffa430d643c48fc35f15f38b41de4b9b
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/180892
Reviewed-by: Gabor Kelemen 
Tested-by: Gabor Kelemen 
Tested-by: Jenkins

diff --git a/sw/qa/extras/unowriter/data/tdf164921.odt 
b/sw/qa/extras/unowriter/data/tdf164921.odt
new file mode 100644
index ..b24b4b6f3299
Binary files /dev/null and b/sw/qa/extras/unowriter/data/tdf164921.odt differ
diff --git a/sw/qa/extras/unowriter/unowriter.cxx 
b/sw/qa/extras/unowriter/unowriter.cxx
index fee61f62b819..0e74fb83cdde 100644
--- a/sw/qa/extras/unowriter/unowriter.cxx
+++ b/sw/qa/extras/unowriter/unowriter.cxx
@@ -47,6 +47,7 @@
 #include 
 #include 
 #include 
+#include 
 
 #include 
 #include 
@@ -1516,6 +1517,49 @@ CPPUNIT_TEST_FIXTURE(SwUnoWriter, testTdf164885)
 CPPUNIT_ASSERT_EQUAL(u".uno:Open"_ustr, 
interceptor->pDispatch->sLastCommand);
 }
 
+CPPUNIT_TEST_FIXTURE(SwUnoWriter, testTdf164921)
+{
+// check renaming list style
+OUString sChangedListStyle = u"ChangedListStyle"_ustr;
+
+{
+createSwDoc("tdf164921.odt");
+//change list style name
+//auto xModel = mxComponent.queryThrow();
+uno::Reference xSFS(mxComponent, 
uno::UNO_QUERY);
+uno::Reference xListStyles(
+xSFS->getStyleFamilies()->getByName(u"NumberingStyles"_ustr), 
uno::UNO_QUERY);
+uno::Reference 
xListStyle(xListStyles->getByName(u"NewListStyle"_ustr),
+ uno::UNO_QUERY);
+xListStyle->setName(sChangedListStyle);
+
+utl::MediaDescriptor aMediaDescriptor;
+aMediaDescriptor[u"FilterName"_ustr] <<= u"writer8"_ustr;
+uno::Reference const xStorable(mxComponent, 
uno::UNO_QUERY);
+xStorable->storeToURL(maTempFile.GetURL(), 
aMediaDescriptor.getAsConstPropertyValueList());
+}
+{
+saveAndReload(u"writer8"_ustr);
+
+uno::Reference xSFS(mxComponent, 
uno::UNO_QUERY);
+uno::Reference xListStyles(
+xSFS->getStyleFamilies()->getByName(u"NumberingStyles"_ustr), 
uno::UNO_QUERY);
+uno::Reference xNewListStyle(
+xListStyles->getByName(u"ChangedListStyle"_ustr), uno::UNO_QUERY);
+
+CPPUNIT_ASSERT_EQUAL(xNewListStyle->getName(), sChangedListStyle);
+
+uno::Reference xParaStyles(
+xSFS->getStyleFamilies()->getByName(u"ParagraphStyles"_ustr), 
uno::UNO_QUERY);
+uno::Reference 
xBodyTextStyle(xParaStyles->getByName("Text body"),
+   uno::UNO_QUERY);
+
+rtl::OUString sListStyleName;
+xBodyTextStyle->getPropertyValue(u"NumberingStyleName"_ustr) >>= 
sListStyleName;
+CPPUNIT_ASSERT_EQUAL(sListStyleName, sChangedListStyle);
+}
+}
+
 } // end of anonymous namespace
 CPPUNIT_PLUGIN_IMPLEMENT();
 
diff --git a/sw/source/core/doc/docnum.cxx b/sw/source/core/doc/docnum.cxx
index afbdfe7b63dc..c33c4fd77e49 100644
--- a/sw/source/core/doc/docnum.cxx
+++ b/sw/source/core/doc/docnum.cxx
@@ -1232,12 +1232,27 @@ bool SwDoc::RenameNumRule(const OUString & rOldName, 
const OUString & rNewName,
 pNumRule->GetTextNodeList( aTextNodeList );
 
 pNumRule->SetName( rNewName, getIDocumentListsAccess() );
-
 SwNumRuleItem aItem(rNewName);
 
+const size_t nArrLen = GetTextFormatColls()->size();
+for( size_t i = 0; i < nArrLen; i++ )
+{
+SwTextFormatColl* pColl = (*GetTextFormatColls())[ i ];
+const SwAttrSet& rAttrSet = pColl->GetAttrSet();
+
+const SfxPoolItem* pTempItem = nullptr;
+if (SfxItemState::SET == rAttrSet.GetItemState(RES_PARATR_NUMRULE, 
false, &pTempItem))
+{
+const SwNumRuleItem* pNumItem = static_cast(pTempItem);
+if (pNumItem->GetValue().equals(rOldName))
+pColl->SetFormatAttr( aItem );
+}
+}
+
 for ( SwTextNode* pTextNd : aTextNodeList )
 {
-pTextNd->SetAttr(aItem);
+if (SfxItemState::SET == 
pTextNd->GetSwAttrSet().GetItemState(RES_PARATR_NUMRULE, false))
+pTextNd->SetAttr(aItem);
 }
 
 bResult = true;


core.git: Branch 'feature/cib_contract49d' - sw/qa

2025-02-11 Thread Oliver Specht (via logerrit)
 sw/qa/extras/rtfimport/data/tdf162198.rtf |  258 ++
 sw/qa/extras/rtfimport/rtfimport.cxx  |   17 +
 2 files changed, 275 insertions(+)

New commits:
commit 680b04ebc82a9ce29964376cef0e02bef2bb6f7b
Author: Oliver Specht 
AuthorDate: Thu Sep 26 11:39:46 2024 +0200
Commit: Gabor Kelemen 
CommitDate: Tue Feb 11 22:49:21 2025 +0100

tdf#162198 Reset default cell padding in RTF

66b4bfe302e248fc1503c5c74b83f4fb5fee4026 introduced a default left/right
cell margin of 0.19 cm in DOCX import but is was also applied in RTF.
This is no longer applied in RTF import.

Change-Id: I192b2d17018c234837b926be64fdf27554b024e2
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/173981
Tested-by: Jenkins
Tested-by: Gabor Kelemen 
Reviewed-by: Thorsten Behrens 
(cherry picked from commit 0313b56b931d78453ac5711d5f5f16eed38d02ca)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/181461
Tested-by: allotropia jenkins 
Reviewed-by: Gabor Kelemen 

diff --git a/sw/qa/extras/rtfimport/data/tdf162198.rtf 
b/sw/qa/extras/rtfimport/data/tdf162198.rtf
new file mode 100644
index ..d211768aee53
--- /dev/null
+++ b/sw/qa/extras/rtfimport/data/tdf162198.rtf
@@ -0,0 +1,258 @@
+{ 
tf1deflang1025nsinsicpg1250\uc1deff0\deff0\stshfdbch31505\stshfloch31506\stshfhich31506\stshfbi0\deflang1038\deflangfe1038
   hemelang3079hemelangfe0 hemelangcs0{onttbl{0bidi roman
charset0prq2{\*\panose 02020603050405020304}Times New Roman{\*alt Arial};}
+{0bidi romancharset0prq2{\*\panose 02020603050405020304}Times New 
Roman{\*alt Arial};}{40bidi swisscharset0prq2{\*\panose 
}Verdana;}
+{lomajor31500bidi romancharset0prq2{\*\panose 02020603050405020304}Times 
New Roman{\*alt Arial};}{dbmajor31501bidi romancharset0prq2{\*\panose 
02020603050405020304}Times New Roman{\*alt Arial};}
+{himajor31502bidi romancharset0prq2{\*\panose 
02040503050406030204}Cambria;}{bimajor31503bidi romancharset0
prq2{\*\panose 02020603050405020304}Times New Roman{\*alt Arial};}
+{lominor31504bidi romancharset0prq2{\*\panose 02020603050405020304}Times 
New Roman{\*alt Arial};}{dbminor31505bidi romancharset0prq2{\*\panose 
02020603050405020304}Times New Roman{\*alt Arial};}
+{himinor31506bidi swisscharset0prq2{\*\panose 
020f0502020204030204}Calibri;}{biminor31507bidi romancharset0
prq2{\*\panose 02020603050405020304}Times New Roman{\*alt Arial};}
+{42bidi romancharset238prq2 Times New Roman CE{\*alt Arial};}{43bidi 
romancharset204prq2 Times New Roman Cyr{\*alt Arial};}{45bidi roman
charset161prq2 Times New Roman Greek{\*alt Arial};}
+{46bidi romancharset162prq2 Times New Roman Tur{\*alt Arial};}{47bidi 
romancharset177prq2 Times New Roman (Hebrew){\*alt Arial};}{48bidi roman
charset178prq2 Times New Roman (Arabic){\*alt Arial};}
+{49bidi romancharset186prq2 Times New Roman Baltic{\*alt Arial};}{50
bidi romancharset163prq2 Times New Roman (Vietnamese){\*alt Arial};}{42
bidi romancharset238prq2 Times New Roman CE{\*alt Arial};}
+{43bidi romancharset204prq2 Times New Roman Cyr{\*alt Arial};}{45bidi 
romancharset161prq2 Times New Roman Greek{\*alt Arial};}{46bidi roman
charset162prq2 Times New Roman Tur{\*alt Arial};}
+{47bidi romancharset177prq2 Times New Roman (Hebrew){\*alt Arial};}{48
bidi romancharset178prq2 Times New Roman (Arabic){\*alt Arial};}{49bidi 
romancharset186prq2 Times New Roman Baltic{\*alt Arial};}
+{50bidi romancharset163prq2 Times New Roman (Vietnamese){\*alt Arial};}{
442bidi swisscharset238prq2 Verdana CE;}{443bidi swisscharset204prq2 
Verdana Cyr;}{445bidi swisscharset161prq2 Verdana Greek;}
+{446bidi swisscharset162prq2 Verdana Tur;}{449bidi swisscharset186
prq2 Verdana Baltic;}{450bidi swisscharset163prq2 Verdana (Vietnamese);}{
lomajor31508bidi romancharset238prq2 Times New Roman CE{\*alt Arial};}
+{lomajor31509bidi romancharset204prq2 Times New Roman Cyr{\*alt 
Arial};}{lomajor31511bidi romancharset161prq2 Times New Roman Greek{\*
alt Arial};}
+{lomajor31512bidi romancharset162prq2 Times New Roman Tur{\*alt 
Arial};}{lomajor31513bidi romancharset177prq2 Times New Roman (Hebrew){\*
alt Arial};}
+{lomajor31514bidi romancharset178prq2 Times New Roman (Arabic){\*alt 
Arial};}{lomajor31515bidi romancharset186prq2 Times New Roman Baltic{\*
alt Arial};}
+{lomajor31516bidi romancharset163prq2 Times New Roman (Vietnamese){\*
alt Arial};}{dbmajor31518bidi romancharset238prq2 Times New Roman CE{\*
alt Arial};}
+{dbmajor31519bidi romancharset204prq2 Times New Roman Cyr{\*alt 
Arial};}{dbmajor31521bidi romancharset161prq2 Times New Roman Greek{\*
alt Arial};}
+{dbmajor31522bidi romancharset162prq2 Times New Roman Tur{\*alt 
Arial};}{dbmajor31523bid

core.git: Branch 'distro/collabora/co-24.04' - sc/qa sc/source

2025-02-11 Thread Justin Luth (via logerrit)
 sc/qa/unit/data/xlsx/freezePaneStartCell.xlsx |binary
 sc/qa/unit/subsequent_export_test2.cxx|   17 +
 sc/source/filter/excel/xeview.cxx |7 +++
 3 files changed, 24 insertions(+)

New commits:
commit fd253b79f8f4c641f57d675cddb7f3a9609e45dd
Author: Justin Luth 
AuthorDate: Fri Feb 7 14:08:42 2025 -0500
Commit: Miklos Vajna 
CommitDate: Tue Feb 11 09:19:33 2025 +0100

tdf#165130 sc: prevent pane's topLeftCell from being in frozen zone

While Excel 2010 opens this unit test just fine
(and looks like a split window)
Excel 2019 complains it is corrupt.

So, this patch just prevents writing an invalid topLeftCell
which will avoid us from causing such a problem
as well as fixing documents that already exhibit the problem.

make CppunitTest_sc_subsequent_export_test2 \
CPPUNIT_TEST_NAME=testFreezePaneStartCellXLSX

Change-Id: I32888d7d020ec16dca436686cd76008ed417d699
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/181275
Reviewed-by: Justin Luth 
Tested-by: Jenkins
(cherry picked from commit 5ef44a0b2ad238fbd13196e2f602de71f42a34d1)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/181301
Tested-by: Jenkins CollaboraOffice 
Reviewed-by: Miklos Vajna 

diff --git a/sc/qa/unit/data/xlsx/freezePaneStartCell.xlsx 
b/sc/qa/unit/data/xlsx/freezePaneStartCell.xlsx
new file mode 100644
index ..9bce2671009c
Binary files /dev/null and b/sc/qa/unit/data/xlsx/freezePaneStartCell.xlsx 
differ
diff --git a/sc/qa/unit/subsequent_export_test2.cxx 
b/sc/qa/unit/subsequent_export_test2.cxx
index 5a3c87e4548f..0252c8e6321e 100644
--- a/sc/qa/unit/subsequent_export_test2.cxx
+++ b/sc/qa/unit/subsequent_export_test2.cxx
@@ -50,6 +50,23 @@ CPPUNIT_TEST_FIXTURE(ScExportTest2, testGroupShape)
 assertXPath(pDoc, 
"/xdr:wsDr/xdr:twoCellAnchor/xdr:grpSp/xdr:grpSpPr"_ostr);
 }
 
+CPPUNIT_TEST_FIXTURE(ScExportTest2, testFreezePaneStartCellXLSX)
+{
+// given a hand-mangled document with a newly-invalid topLeftCell for the 
active pane
+// where pane xSplit="5" ySplit="10" topLeftCell="A1" state="frozen"
+
+createScDoc("xlsx/freezePaneStartCell.xlsx");
+
+save(u"Calc Office Open XML"_ustr);
+
+xmlDocUniquePtr pDoc = parseExport(u"xl/worksheets/sheet1.xml"_ustr);
+OUString sFirstNonFrozenCell
+= getXPath(pDoc, "//x:sheetViews//x:pane"_ostr, "topLeftCell"_ostr);
+
+// new versions of Excel complain if the start of the non-frozen section 
is inside the freeze
+CPPUNIT_ASSERT_EQUAL(u"F11"_ustr, sFirstNonFrozenCell);
+}
+
 CPPUNIT_TEST_FIXTURE(ScExportTest2, testMatrixMultiplicationXLSX)
 {
 createScDoc("xlsx/matrix-multiplication.xlsx");
diff --git a/sc/source/filter/excel/xeview.cxx 
b/sc/source/filter/excel/xeview.cxx
index 5db6de1c2fff..c5760fafcdb7 100644
--- a/sc/source/filter/excel/xeview.cxx
+++ b/sc/source/filter/excel/xeview.cxx
@@ -348,6 +348,13 @@ XclExpTabViewSettings::XclExpTabViewSettings( const 
XclExpRoot& rRoot, SCTAB nSc
 maData.mnActivePane = EXC_PANE_TOPRIGHT;
 else if( maData.HasPane( EXC_PANE_BOTTOMLEFT ) )
 maData.mnActivePane = EXC_PANE_BOTTOMLEFT;
+
+// Starting cell for active, frozen pane must not be less than the 
split position
+// i.e. it must not be in the frozen section (or Excel 2019 
considers the file corrupt).
+if (maData.maSecondXclPos.mnCol < maData.mnSplitX)
+maData.maSecondXclPos.mnCol = maData.mnSplitX;
+if (maData.maSecondXclPos.mnRow < maData.mnSplitY)
+maData.maSecondXclPos.mnRow = maData.mnSplitY;
 }
 else
 {


core.git: vcl/unx

2025-02-11 Thread Sahil Gautam (via logerrit)
 vcl/unx/gtk3/custom-theme.cxx |   35 ---
 1 file changed, 24 insertions(+), 11 deletions(-)

New commits:
commit 2ebefc61f48b13456de7b45597e64ca5f4d9f729
Author: Sahil Gautam 
AuthorDate: Tue Feb 11 00:46:34 2025 +0530
Commit: Sahil Gautam 
CommitDate: Tue Feb 11 10:55:46 2025 +0100

tdf#164969 fix widget theming/styling in gtk

- when using automatic theme, and when theming is enabled,
  if everything is set to automatic, then the application
  shouldn't have any visual changes.

- use close button color from libadwaita specification, that's
  the closest we can get to the defaults without defining a
  "close button color" variable under theme colors.

- remove  border  from  the notebook  headers,  change  the
  color/style to match the default look without any theming.

Change-Id: Ib0143ccc681b4f0f5863be028a32af32d9631917
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/181381
Reviewed-by: Sahil Gautam 
Tested-by: Jenkins

diff --git a/vcl/unx/gtk3/custom-theme.cxx b/vcl/unx/gtk3/custom-theme.cxx
index 71bb0ec843b8..b22bb0fe4439 100644
--- a/vcl/unx/gtk3/custom-theme.cxx
+++ b/vcl/unx/gtk3/custom-theme.cxx
@@ -125,11 +125,18 @@ OString CreateStyleString()
 Color aSpinBack = aThemeColors.GetBaseColor();
 aSpinBack.SetAlpha(20);
 
-Color aPressedColor = ThemeColors::GetThemeColors().GetWindowColor();
+Color aPressedColor = ThemeColors::GetThemeColors().GetBaseColor();
+Color aNotebookBorderColor = aPressedColor;
 if (aPressedColor.IsDark())
-aPressedColor.IncreaseLuminance(30);
+{
+aPressedColor.DecreaseLuminance(5);
+aNotebookBorderColor.DecreaseLuminance(20);
+}
 else
-aPressedColor.DecreaseLuminance(30);
+{
+aPressedColor.IncreaseLuminance(5);
+aNotebookBorderColor.IncreaseLuminance(20);
+}
 
 // clang-format off
 OUString aStr =
@@ -295,25 +302,30 @@ OString CreateStyleString()
*/
 
 "tabbox > tab:hover,"
+"notebook > header tab:checked:hover,"
 "notebook > header tab:hover {"
-"  background-color: #" + aPressedColor.AsRGBHexString() + ";"
-"  border: 1px solid #" + 
aThemeColors.GetSeparatorColor().AsRGBHexString() + ";"
+"  background-color: #" + 
ThemeColors::GetThemeColors().GetBaseColor().AsRGBHexString() + ";"
 "  color: #" + aThemeColors.GetWindowTextColor().AsRGBHexString() + ";"
 "}"
 
 "tabbox > tab:checked, notebook > header tab:checked {"
 "  background-color: #" + aPressedColor.AsRGBHexString() + ";"
-"  border: 1px solid #" + 
aThemeColors.GetSeparatorColor().AsRGBHexString() + ";"
+"  color: #" + aThemeColors.GetWindowTextColor().AsRGBHexString() + ";"
+"}"
+
+"tabbox > tab, notebook > header tab {"
 "  color: #" + aThemeColors.GetWindowTextColor().AsRGBHexString() + ";"
 "}"
 
 "notebook {"
 "  background-color: #" + 
aThemeColors.GetWindowColor().AsRGBHexString() + ";"
+"  color: #" + aThemeColors.GetWindowTextColor().AsRGBHexString() + ";"
 "}"
 
 "notebook > header {"
-"  background-color: #" + aThemeColors.GetBaseColor().AsRGBHexString() 
+ ";"
-"  border-color: #" + aThemeColors.GetBaseColor().AsRGBHexString() + 
";"
+"  background-color: #" + aPressedColor.AsRGBHexString() + ";"
+"  border-color: #" + aNotebookBorderColor.AsRGBHexString() + ";"
+"  color: #" + aThemeColors.GetWindowTextColor().AsRGBHexString() + ";"
 "}"
 
 "notebook > stack:not(:only-child) {"
@@ -522,7 +534,6 @@ OString CreateStyleString()
 "}"
 
 "button.combo:only-child:disabled {"
-"  box-shadow: 0 0 0 2px transparent;"
 "  background-color: #" + 
aThemeColors.GetDisabledColor().AsRGBHexString() + ";"
 "  color: #" + aThemeColors.GetInactiveTextColor().AsRGBHexString() + 
";"
 "}"
@@ -595,9 +606,11 @@ OString CreateStyleString()
 "  text-shadow: none;"
 "}"
 
+// use default destructive color value as per libadwaita 
named-colors.html
+// 
https://gnome.pages.gitlab.gnome.org/libadwaita/doc/1.5/named-colors.html
 "button.destructive-action:not(:disabled) {"
-"  background-color: #f38ba8;"
-"  color: #" + aThemeColors.GetButtonTextColor().AsRGBHexString() + ";"
+"  background-color: #c01c28;"
+"  color: #ff;"
 "}"
 
 ".view:selected {"


core.git: sc/source sd/source sfx2/sdi sw/source

2025-02-11 Thread Mike Kaganski (via logerrit)
 sc/source/ui/view/tabvwsha.cxx   |2 +-
 sd/source/ui/docshell/docshell.cxx   |2 +-
 sfx2/sdi/sfx.sdi |2 +-
 sw/source/uibase/uiview/viewsrch.cxx |2 +-
 4 files changed, 4 insertions(+), 4 deletions(-)

New commits:
commit ebea5ef578bd919ab10d769d2eb27521d2c15012
Author: Mike Kaganski 
AuthorDate: Tue Feb 11 14:24:40 2025 +0500
Commit: Mike Kaganski 
CommitDate: Tue Feb 11 11:29:23 2025 +0100

tdf#165185: consider LOK read-only view in SID_SEARCH_OPTIONS

This reverts commit cae3ed92df74672a886ee706ebb970a763be3712 "disable
invoking Search and Replace dialog (by Ctrl+H) in read-only documents",
2025-02-11. Instead, the dialog will disable replacement controls.

Change-Id: Iefef1f636492f60b2bcff07379c2c2dc7bcead79
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/181408
Tested-by: Jenkins
Reviewed-by: Mike Kaganski 

diff --git a/sc/source/ui/view/tabvwsha.cxx b/sc/source/ui/view/tabvwsha.cxx
index 63e930928439..bca95efa1494 100644
--- a/sc/source/ui/view/tabvwsha.cxx
+++ b/sc/source/ui/view/tabvwsha.cxx
@@ -254,7 +254,7 @@ void ScTabViewShell::GetState( SfxItemSet& rSet )
 SearchOptionFlags nOptions = SearchOptionFlags::ALL;
 
 // No replacement if ReadOnly
-if (GetViewData().GetDocShell()->IsReadOnly())
+if (GetViewData().GetDocShell()->IsReadOnly() || 
IsCurrentLokViewReadOnly())
 nOptions &= ~SearchOptionFlags( 
SearchOptionFlags::REPLACE | SearchOptionFlags::REPLACE_ALL );
 rSet.Put( SfxUInt16Item( nWhich, 
static_cast(nOptions) ) );
 }
diff --git a/sd/source/ui/docshell/docshell.cxx 
b/sd/source/ui/docshell/docshell.cxx
index 834de4941159..d1c4d1c0b091 100644
--- a/sd/source/ui/docshell/docshell.cxx
+++ b/sd/source/ui/docshell/docshell.cxx
@@ -241,7 +241,7 @@ void DrawDocShell::GetState(SfxItemSet &rSet)
   SearchOptionFlags::SIMILARITY  |
   SearchOptionFlags::SELECTION;
 
-if (!IsReadOnly())
+if (!IsReadOnly() && !SfxViewShell::IsCurrentLokViewReadOnly())
 {
 nOpt |= SearchOptionFlags::REPLACE;
 nOpt |= SearchOptionFlags::REPLACE_ALL;
diff --git a/sfx2/sdi/sfx.sdi b/sfx2/sdi/sfx.sdi
index 2952289293cf..c07d4bbf7a83 100644
--- a/sfx2/sdi/sfx.sdi
+++ b/sfx2/sdi/sfx.sdi
@@ -4002,7 +4002,7 @@ SfxBoolItem SearchDialog SID_SEARCH_DLG
 [
 AutoUpdate = TRUE,
 FastCall = FALSE,
-ReadOnlyDoc = FALSE,
+ReadOnlyDoc = TRUE,
 Toggle = FALSE,
 Container = FALSE,
 RecordAbsolute = FALSE,
diff --git a/sw/source/uibase/uiview/viewsrch.cxx 
b/sw/source/uibase/uiview/viewsrch.cxx
index 8234cf5501af..1944f1f40ca3 100644
--- a/sw/source/uibase/uiview/viewsrch.cxx
+++ b/sw/source/uibase/uiview/viewsrch.cxx
@@ -869,7 +869,7 @@ void SwView::StateSearch(SfxItemSet &rSet)
 case SID_SEARCH_OPTIONS:
 {
 SearchOptionFlags nOpt = SearchOptionFlags::ALL;
-if( GetDocShell()->IsReadOnly() )
+if (GetDocShell()->IsReadOnly() || IsCurrentLokViewReadOnly())
 nOpt &= ~SearchOptionFlags( SearchOptionFlags::REPLACE |
SearchOptionFlags::REPLACE_ALL );
 rSet.Put( SfxUInt16Item( SID_SEARCH_OPTIONS, 
static_cast(nOpt) ));


core.git: download.lst external/lcms2

2025-02-11 Thread Xisco Fauli (via logerrit)
 download.lst|4 +--
 external/lcms2/0001-Added-missing-export.patch.1|   25 ---
 external/lcms2/ExternalPackage_lcms2.mk |2 -
 external/lcms2/UnpackedTarball_lcms2.mk |4 ---
 external/lcms2/lcms2-windows_aarch64_outdir.patch.1 |   26 
 5 files changed, 3 insertions(+), 58 deletions(-)

New commits:
commit e52899ed08405f67ea755271a2592ed0df516c77
Author: Xisco Fauli 
AuthorDate: Mon Feb 10 10:52:43 2025 +0100
Commit: Xisco Fauli 
CommitDate: Tue Feb 11 11:09:52 2025 +0100

lcms2: upgrade to 2.17

* external/lcms2/0001-Added-missing-export.patch.1 has been
fixed uptream
* external/lcms2/lcms2-windows_aarch64_outdir.patch.1 has been
fixed upstream

Downloaded from

https://sourceforge.net/projects/lcms/files/lcms/2.17/lcms2-2.17.tar.gz/download

Change-Id: Iae97a557f153279582878c8eb94dc2fab75b658d
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/181340
Reviewed-by: Xisco Fauli 
Tested-by: Jenkins

diff --git a/download.lst b/download.lst
index c18cd6d64a7d..9fa191045967 100644
--- a/download.lst
+++ b/download.lst
@@ -399,8 +399,8 @@ LANGTAGREG_TARBALL := 
language-subtag-registry-2025-02-06.tar.bz2
 # three static lines
 # so that git cherry-pick
 # will not run into conflicts
-LCMS2_SHA256SUM := 
d873d34ad8b9b4cea010631f1a6228d2087475e4dc5e763eb81acc23d9d45a51
-LCMS2_TARBALL := lcms2-2.16.tar.gz
+LCMS2_SHA256SUM := 
d11af569e42a1baa1650d20ad61d12e41af4fead4aa7964a01f93b08b53ab074
+LCMS2_TARBALL := lcms2-2.17.tar.gz
 # three static lines
 # so that git cherry-pick
 # will not run into conflicts
diff --git a/external/lcms2/0001-Added-missing-export.patch.1 
b/external/lcms2/0001-Added-missing-export.patch.1
deleted file mode 100644
index ad131e9533d3..
--- a/external/lcms2/0001-Added-missing-export.patch.1
+++ /dev/null
@@ -1,25 +0,0 @@
-From f7b3c637c20508655f8b49935a4b556d52937b69 Mon Sep 17 00:00:00 2001
-From: Dirk Lemstra 
-Date: Sun, 10 Dec 2023 20:31:32 +0100
-Subject: [PATCH] Added missing export.
-

- src/cmsvirt.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/src/cmsvirt.c b/src/cmsvirt.c
-index 3d662b2..6615604 100644
 a/src/cmsvirt.c
-+++ b/src/cmsvirt.c
-@@ -676,7 +676,7 @@ cmsHPROFILE CMSEXPORT cmsCreate_sRGBProfile(void)
- * 
- * This virtual profile cannot be saved as an ICC file
- */
--cmsHPROFILE cmsCreate_OkLabProfile(cmsContext ctx)
-+cmsHPROFILE CMSEXPORT cmsCreate_OkLabProfile(cmsContext ctx)
- {
- cmsStage* XYZPCS = _cmsStageNormalizeFromXyzFloat(ctx);
- cmsStage* PCSXYZ = _cmsStageNormalizeToXyzFloat(ctx);
--- 
-2.44.0.windows.1
-
diff --git a/external/lcms2/ExternalPackage_lcms2.mk 
b/external/lcms2/ExternalPackage_lcms2.mk
index 62e2ebad8981..a71b31ef7395 100644
--- a/external/lcms2/ExternalPackage_lcms2.mk
+++ b/external/lcms2/ExternalPackage_lcms2.mk
@@ -17,7 +17,7 @@ $(eval $(call 
gb_ExternalPackage_add_file,lcms2,$(LIBO_LIB_FOLDER)/liblcms2.2.dy
 else ifeq ($(COM),MSC)
 $(eval $(call 
gb_ExternalPackage_add_file,lcms2,$(LIBO_LIB_FOLDER)/lcms2.dll,bin/lcms2.dll))
 else
-$(eval $(call 
gb_ExternalPackage_add_file,lcms2,$(LIBO_LIB_FOLDER)/liblcms2.so.2,src/.libs/liblcms2.so.2.0.16))
+$(eval $(call 
gb_ExternalPackage_add_file,lcms2,$(LIBO_LIB_FOLDER)/liblcms2.so.2,src/.libs/liblcms2.so.2.0.17))
 endif
 endif # $(DISABLE_DYNLOADING)
 
diff --git a/external/lcms2/UnpackedTarball_lcms2.mk 
b/external/lcms2/UnpackedTarball_lcms2.mk
index f44683e03809..f99fc708a33e 100644
--- a/external/lcms2/UnpackedTarball_lcms2.mk
+++ b/external/lcms2/UnpackedTarball_lcms2.mk
@@ -20,12 +20,8 @@ ifneq ($(MSYSTEM),)
 $(eval $(call gb_UnpackedTarball_set_patchflags,lcms2,--binary))
 endif
 
-# external/lcms2/0001-Added-missing-export.patch.1:
-# backport of 
https://github.com/mm2/Little-CMS/commit/f7b3c637c20508655f8b49935a4b556d52937b69
 $(eval $(call gb_UnpackedTarball_add_patches,lcms2,\
-   external/lcms2/0001-Added-missing-export.patch.1 \
external/lcms2/lcms2-2.4-windows.patch \
-   external/lcms2/lcms2-windows_aarch64_outdir.patch.1 \
 ))
 
 # vim: set noet sw=4 ts=4:
diff --git a/external/lcms2/lcms2-windows_aarch64_outdir.patch.1 
b/external/lcms2/lcms2-windows_aarch64_outdir.patch.1
deleted file mode 100644
index aa27b1b77923..
--- a/external/lcms2/lcms2-windows_aarch64_outdir.patch.1
+++ /dev/null
@@ -1,26 +0,0 @@
-diff -ur lcms2.org/Projects/VC2019/lcms2_DLL/lcms2_DLL.vcxproj 
lcms2/Projects/VC2019/lcms2_DLL/lcms2_DLL.vcxproj
 lcms2.org/Projects/VC2019/lcms2_DLL/lcms2_DLL.vcxproj  2023-12-08 
18:49:59.819483000 +0100
-+++ lcms2/Projects/VC2019/lcms2_DLL/lcms2_DLL.vcxproj  2023-12-08 
18:50:59.460115500 +0100
-@@ -92,6 +92,7 @@
- <_ProjectFileVersion>10.0.21006.1
- ..\..\..in\
- ..\..\..in\
-+..\..\..in\
- $(Configuration)_$(Platform)\
- $(Configuration)_$(Platform)\
- $(Configuration)_$(Platf

core.git: include/svx svx/source

2025-02-11 Thread Miklos Vajna (via logerrit)
 include/svx/galctrl.hxx |6 +++---
 svx/source/gallery2/galctrl.cxx |   12 ++--
 2 files changed, 9 insertions(+), 9 deletions(-)

New commits:
commit fb8bf5f209e1bd7fd7d8ad555ec66dbf31649ee8
Author: Miklos Vajna 
AuthorDate: Tue Feb 11 08:08:50 2025 +0100
Commit: Miklos Vajna 
CommitDate: Tue Feb 11 09:11:33 2025 +0100

svx: prefix members of DialogGalleryPreview

See tdf#94879 for motivation.

Change-Id: I2ddf9dfcd65ae44852fc17d97d634c5382d296b3
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/181400
Reviewed-by: Miklos Vajna 
Tested-by: Jenkins

diff --git a/include/svx/galctrl.hxx b/include/svx/galctrl.hxx
index 4e35d5aaae3d..43e3b3673bea 100644
--- a/include/svx/galctrl.hxx
+++ b/include/svx/galctrl.hxx
@@ -69,8 +69,8 @@ public:
 class SVXCORE_DLLPUBLIC DialogGalleryPreview final : public 
weld::CustomWidgetController
 {
 private:
-GraphicObject aGraphicObj;
-tools::Rectangle aPreviewRect;
+GraphicObject maGraphicObj;
+tools::Rectangle maPreviewRect;
 
 SVX_DLLPRIVATE bool ImplGetGraphicCenterRect( const Graphic& 
rGraphic, tools::Rectangle& rResultRect ) const;
 
@@ -81,7 +81,7 @@ public:
 DialogGalleryPreview();
 
 virtual voidSetDrawingArea(weld::DrawingArea* pDrawingArea) 
override;
-voidSetGraphic( const Graphic& rGraphic ) { 
aGraphicObj.SetGraphic( rGraphic ); }
+voidSetGraphic( const Graphic& rGraphic ) { 
maGraphicObj.SetGraphic( rGraphic ); }
 boolSetGraphic( const INetURLObject& );
 };
 
diff --git a/svx/source/gallery2/galctrl.cxx b/svx/source/gallery2/galctrl.cxx
index 4e33db6d8267..a6b916beb472 100644
--- a/svx/source/gallery2/galctrl.cxx
+++ b/svx/source/gallery2/galctrl.cxx
@@ -258,15 +258,15 @@ void DialogGalleryPreview::Paint(vcl::RenderContext& 
rRenderContext, const tools
 {
 rRenderContext.SetBackground(Wallpaper(GALLERY_BG_COLOR));
 
-if (ImplGetGraphicCenterRect(aGraphicObj.GetGraphic(), aPreviewRect))
+if (ImplGetGraphicCenterRect(maGraphicObj.GetGraphic(), maPreviewRect))
 {
-const Point aPos( aPreviewRect.TopLeft() );
-const Size  aSize( aPreviewRect.GetSize() );
+const Point aPos( maPreviewRect.TopLeft() );
+const Size  aSize( maPreviewRect.GetSize() );
 
-if( aGraphicObj.IsAnimated() )
-aGraphicObj.StartAnimation(rRenderContext, aPos, aSize);
+if( maGraphicObj.IsAnimated() )
+maGraphicObj.StartAnimation(rRenderContext, aPos, aSize);
 else
-aGraphicObj.Draw(rRenderContext, aPos, aSize);
+maGraphicObj.Draw(rRenderContext, aPos, aSize);
 }
 }
 


core.git: Branch 'libreoffice-25-2' - sw/source

2025-02-11 Thread Justin Luth (via logerrit)
 sw/source/core/objectpositioning/anchoredobjectposition.cxx |2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

New commits:
commit 45d640fcf5b473acec55ef45503aa56b998c3b8b
Author: Justin Luth 
AuthorDate: Mon Feb 10 16:37:10 2025 -0500
Commit: Michael Stahl 
CommitDate: Tue Feb 11 10:06:53 2025 +0100

tdf#165040 tdf#143899 compat15 layout: restrict body fly #2

What was happening was that layout was considering
whether to put the fly on a different page than the anchor,
and my 25.2 commit 1de6bea27ed36167ec138818607da7b49e92ec4a
apparently caused layout to accept that location in some cases,
in which case it wasn't visible at all...

Now, I'm not going to pretend that I actually understand LAYOUT at all,
but my patch was only intending to affect the image
in relation to the same page as the anchor is.
So forcing that as a criteria seems to get me out of hot water.

Since this is just bits-on-a-screen in some random kind of
I'd-like-to-stick-myself-on-a-different-page layout anomaly
and I don't have any nice changes-page-count examples,
I'm not going to try to add a unit test.

Change-Id: I84b980f109016ae6d904fb3720f77e131197b6a3
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/181391
Tested-by: Jenkins
Reviewed-by: Justin Luth 
(cherry picked from commit 95b173d41fa7a450821d0e69225df3faa899d290)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/181396
Reviewed-by: Michael Stahl 

diff --git a/sw/source/core/objectpositioning/anchoredobjectposition.cxx 
b/sw/source/core/objectpositioning/anchoredobjectposition.cxx
index c2a4797e..fffa50e1948e 100644
--- a/sw/source/core/objectpositioning/anchoredobjectposition.cxx
+++ b/sw/source/core/objectpositioning/anchoredobjectposition.cxx
@@ -495,7 +495,7 @@ SwTwips SwAnchoredObjectPosition::ImplAdjustVertRelPos( 
const SwTwips nTopOfAnch
 const SwBodyFrame* pBodyFrame = mpAnchorFrame->FindBodyFrame();
 while (pBodyFrame && !pBodyFrame->IsPageBodyFrame())
 pBodyFrame = pBodyFrame->GetUpper()->FindBodyFrame();
-if (pBodyFrame)
+if (pBodyFrame && pBodyFrame->GetUpper() == &rPageFrame) // 
same physical page...
 aPgAlignArea = pBodyFrame->getFrameArea();
 }
 }


core.git: Branch 'distro/collabora/co-24.04' - sc/source sd/source sfx2/sdi sw/source

2025-02-11 Thread Mike Kaganski (via logerrit)
 sc/source/ui/view/tabvwsha.cxx   |2 +-
 sd/source/ui/docshell/docshell.cxx   |2 +-
 sfx2/sdi/sfx.sdi |2 +-
 sw/source/uibase/uiview/viewsrch.cxx |2 +-
 4 files changed, 4 insertions(+), 4 deletions(-)

New commits:
commit 60861c131d0bbc6e45d235f09c8c3d8c1bd69b0a
Author: Mike Kaganski 
AuthorDate: Tue Feb 11 14:24:40 2025 +0500
Commit: Andras Timar 
CommitDate: Tue Feb 11 11:40:50 2025 +0100

tdf#165185: consider LOK read-only view in SID_SEARCH_OPTIONS

This reverts commit cae3ed92df74672a886ee706ebb970a763be3712 "disable
invoking Search and Replace dialog (by Ctrl+H) in read-only documents",
2025-02-11. Instead, the dialog will disable replacement controls.

Change-Id: Iefef1f636492f60b2bcff07379c2c2dc7bcead79
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/181412
Tested-by: Jenkins CollaboraOffice 
Reviewed-by: Andras Timar 

diff --git a/sc/source/ui/view/tabvwsha.cxx b/sc/source/ui/view/tabvwsha.cxx
index ead308730fd9..ddd94926303a 100644
--- a/sc/source/ui/view/tabvwsha.cxx
+++ b/sc/source/ui/view/tabvwsha.cxx
@@ -255,7 +255,7 @@ void ScTabViewShell::GetState( SfxItemSet& rSet )
 SearchOptionFlags nOptions = SearchOptionFlags::ALL;
 
 // No replacement if ReadOnly
-if (GetViewData().GetDocShell()->IsReadOnly())
+if (GetViewData().GetDocShell()->IsReadOnly() || 
IsCurrentLokViewReadOnly())
 nOptions &= ~SearchOptionFlags( 
SearchOptionFlags::REPLACE | SearchOptionFlags::REPLACE_ALL );
 rSet.Put( SfxUInt16Item( nWhich, 
static_cast(nOptions) ) );
 }
diff --git a/sd/source/ui/docshell/docshell.cxx 
b/sd/source/ui/docshell/docshell.cxx
index 5ac592f80be3..6dae05250ba1 100644
--- a/sd/source/ui/docshell/docshell.cxx
+++ b/sd/source/ui/docshell/docshell.cxx
@@ -241,7 +241,7 @@ void DrawDocShell::GetState(SfxItemSet &rSet)
   SearchOptionFlags::SIMILARITY  |
   SearchOptionFlags::SELECTION;
 
-if (!IsReadOnly())
+if (!IsReadOnly() && !SfxViewShell::IsCurrentLokViewReadOnly())
 {
 nOpt |= SearchOptionFlags::REPLACE;
 nOpt |= SearchOptionFlags::REPLACE_ALL;
diff --git a/sfx2/sdi/sfx.sdi b/sfx2/sdi/sfx.sdi
index 7318b659c292..ad4a5a5b4189 100644
--- a/sfx2/sdi/sfx.sdi
+++ b/sfx2/sdi/sfx.sdi
@@ -3968,7 +3968,7 @@ SfxBoolItem SearchDialog SID_SEARCH_DLG
 [
 AutoUpdate = TRUE,
 FastCall = FALSE,
-ReadOnlyDoc = FALSE,
+ReadOnlyDoc = TRUE,
 Toggle = FALSE,
 Container = FALSE,
 RecordAbsolute = FALSE,
diff --git a/sw/source/uibase/uiview/viewsrch.cxx 
b/sw/source/uibase/uiview/viewsrch.cxx
index 5fc92d517b1b..1b2b64d1d460 100644
--- a/sw/source/uibase/uiview/viewsrch.cxx
+++ b/sw/source/uibase/uiview/viewsrch.cxx
@@ -855,7 +855,7 @@ void SwView::StateSearch(SfxItemSet &rSet)
 case SID_SEARCH_OPTIONS:
 {
 SearchOptionFlags nOpt = SearchOptionFlags::ALL;
-if( GetDocShell()->IsReadOnly() )
+if (GetDocShell()->IsReadOnly() || IsCurrentLokViewReadOnly())
 nOpt &= ~SearchOptionFlags( SearchOptionFlags::REPLACE |
SearchOptionFlags::REPLACE_ALL );
 rSet.Put( SfxUInt16Item( SID_SEARCH_OPTIONS, 
static_cast(nOpt) ));


core.git: Branch 'distro/collabora/co-25.04' - sc/source sd/source sfx2/sdi sw/source

2025-02-11 Thread Mike Kaganski (via logerrit)
 sc/source/ui/view/tabvwsha.cxx   |2 +-
 sd/source/ui/docshell/docshell.cxx   |2 +-
 sfx2/sdi/sfx.sdi |2 +-
 sw/source/uibase/uiview/viewsrch.cxx |2 +-
 4 files changed, 4 insertions(+), 4 deletions(-)

New commits:
commit 7270173d1f891c30d95e04aa538da636ce9e66fb
Author: Mike Kaganski 
AuthorDate: Tue Feb 11 14:24:40 2025 +0500
Commit: Andras Timar 
CommitDate: Tue Feb 11 11:41:23 2025 +0100

tdf#165185: consider LOK read-only view in SID_SEARCH_OPTIONS

This reverts commit cae3ed92df74672a886ee706ebb970a763be3712 "disable
invoking Search and Replace dialog (by Ctrl+H) in read-only documents",
2025-02-11. Instead, the dialog will disable replacement controls.

Change-Id: Iefef1f636492f60b2bcff07379c2c2dc7bcead79
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/181412
Tested-by: Jenkins CollaboraOffice 
Reviewed-by: Andras Timar 
(cherry picked from commit 60861c131d0bbc6e45d235f09c8c3d8c1bd69b0a)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/181416
Tested-by: Andras Timar 

diff --git a/sc/source/ui/view/tabvwsha.cxx b/sc/source/ui/view/tabvwsha.cxx
index 63e930928439..bca95efa1494 100644
--- a/sc/source/ui/view/tabvwsha.cxx
+++ b/sc/source/ui/view/tabvwsha.cxx
@@ -254,7 +254,7 @@ void ScTabViewShell::GetState( SfxItemSet& rSet )
 SearchOptionFlags nOptions = SearchOptionFlags::ALL;
 
 // No replacement if ReadOnly
-if (GetViewData().GetDocShell()->IsReadOnly())
+if (GetViewData().GetDocShell()->IsReadOnly() || 
IsCurrentLokViewReadOnly())
 nOptions &= ~SearchOptionFlags( 
SearchOptionFlags::REPLACE | SearchOptionFlags::REPLACE_ALL );
 rSet.Put( SfxUInt16Item( nWhich, 
static_cast(nOptions) ) );
 }
diff --git a/sd/source/ui/docshell/docshell.cxx 
b/sd/source/ui/docshell/docshell.cxx
index 834de4941159..d1c4d1c0b091 100644
--- a/sd/source/ui/docshell/docshell.cxx
+++ b/sd/source/ui/docshell/docshell.cxx
@@ -241,7 +241,7 @@ void DrawDocShell::GetState(SfxItemSet &rSet)
   SearchOptionFlags::SIMILARITY  |
   SearchOptionFlags::SELECTION;
 
-if (!IsReadOnly())
+if (!IsReadOnly() && !SfxViewShell::IsCurrentLokViewReadOnly())
 {
 nOpt |= SearchOptionFlags::REPLACE;
 nOpt |= SearchOptionFlags::REPLACE_ALL;
diff --git a/sfx2/sdi/sfx.sdi b/sfx2/sdi/sfx.sdi
index 2952289293cf..c07d4bbf7a83 100644
--- a/sfx2/sdi/sfx.sdi
+++ b/sfx2/sdi/sfx.sdi
@@ -4002,7 +4002,7 @@ SfxBoolItem SearchDialog SID_SEARCH_DLG
 [
 AutoUpdate = TRUE,
 FastCall = FALSE,
-ReadOnlyDoc = FALSE,
+ReadOnlyDoc = TRUE,
 Toggle = FALSE,
 Container = FALSE,
 RecordAbsolute = FALSE,
diff --git a/sw/source/uibase/uiview/viewsrch.cxx 
b/sw/source/uibase/uiview/viewsrch.cxx
index 8234cf5501af..1944f1f40ca3 100644
--- a/sw/source/uibase/uiview/viewsrch.cxx
+++ b/sw/source/uibase/uiview/viewsrch.cxx
@@ -869,7 +869,7 @@ void SwView::StateSearch(SfxItemSet &rSet)
 case SID_SEARCH_OPTIONS:
 {
 SearchOptionFlags nOpt = SearchOptionFlags::ALL;
-if( GetDocShell()->IsReadOnly() )
+if (GetDocShell()->IsReadOnly() || IsCurrentLokViewReadOnly())
 nOpt &= ~SearchOptionFlags( SearchOptionFlags::REPLACE |
SearchOptionFlags::REPLACE_ALL );
 rSet.Put( SfxUInt16Item( SID_SEARCH_OPTIONS, 
static_cast(nOpt) ));


core.git: filter/source

2025-02-11 Thread Aron Budea (via logerrit)
 filter/source/config/fragments/types/impress_OOXML_Presentation.xcu  | 
   2 +-
 filter/source/config/fragments/types/impress_OOXML_Presentation_AutoPlay.xcu | 
   2 +-
 filter/source/config/fragments/types/impress_OOXML_Presentation_Template.xcu | 
   2 +-
 3 files changed, 3 insertions(+), 3 deletions(-)

New commits:
commit d4c7b78827c12c4bbc871c3b9eb0ce28271adba4
Author: Aron Budea 
AuthorDate: Tue Feb 11 11:39:07 2025 +1030
Commit: Aron Budea 
CommitDate: Tue Feb 11 18:23:46 2025 +0100

tdf#165180 convert-to: prefer PowerPoint 2007-365, not Office Open XML

I haven't seen it causing an actual issue so far,
but let's use the correct filter.

Similar rationale as c90c1d4435a64531e1d9b41d0a8dc0b91ba236cd.

Change-Id: I2afd686db6f41b385214c274e47d293ef546b901
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/181398
Tested-by: Jenkins
Reviewed-by: Aron Budea 

diff --git 
a/filter/source/config/fragments/types/impress_OOXML_Presentation.xcu 
b/filter/source/config/fragments/types/impress_OOXML_Presentation.xcu
index 6264ce716787..ac15128781f8 100644
--- a/filter/source/config/fragments/types/impress_OOXML_Presentation.xcu
+++ b/filter/source/config/fragments/types/impress_OOXML_Presentation.xcu
@@ -20,7 +20,7 @@
 
 pptx pptm
 application/vnd.openxmlformats-officedocument.presentationml.presentation
-true
+false
 Impress Office Open 
XML
 Office Open XML Presentation
 
diff --git 
a/filter/source/config/fragments/types/impress_OOXML_Presentation_AutoPlay.xcu 
b/filter/source/config/fragments/types/impress_OOXML_Presentation_AutoPlay.xcu
index 78c638daedf6..5a1cd6860564 100644
--- 
a/filter/source/config/fragments/types/impress_OOXML_Presentation_AutoPlay.xcu
+++ 
b/filter/source/config/fragments/types/impress_OOXML_Presentation_AutoPlay.xcu
@@ -20,7 +20,7 @@
 
 ppsx
 application/vnd.openxmlformats-officedocument.presentationml.slideshow
-true
+false
 Impress Office Open XML 
AutoPlay
 Office Open XML 
Presentation AutoPlay
 
diff --git 
a/filter/source/config/fragments/types/impress_OOXML_Presentation_Template.xcu 
b/filter/source/config/fragments/types/impress_OOXML_Presentation_Template.xcu
index c34d39541b8c..d858d9ff8d8c 100644
--- 
a/filter/source/config/fragments/types/impress_OOXML_Presentation_Template.xcu
+++ 
b/filter/source/config/fragments/types/impress_OOXML_Presentation_Template.xcu
@@ -20,7 +20,7 @@
 
 potx potm
 application/vnd.openxmlformats-officedocument.presentationml.template
-true
+false
 Impress Office Open XML 
Template
 Office Open XML Presentation 
Template
 


core.git: sw/qa sw/source

2025-02-11 Thread László Németh (via logerrit)
 sw/qa/extras/layout/data/tdf164499.docx |binary
 sw/qa/extras/layout/layout3.cxx |   28 +++-
 sw/source/core/text/portxt.cxx  |2 ++
 3 files changed, 25 insertions(+), 5 deletions(-)

New commits:
commit ed7fbfce0b434f7d2a5542483d2838af51958e34
Author: László Németh 
AuthorDate: Tue Feb 11 01:22:42 2025 +0100
Commit: László Németh 
CommitDate: Tue Feb 11 18:26:23 2025 +0100

tdf#164499 sw smart justify: disable in tabulated lines to fix ToC

Calculated extra text content without shrinking resulted overhanging
text lines, e.g page numbers over the margin in ToC. Fix it
by skipping space shrinking completely in tabulated lines,
restoring also interoperability.

Regression since commit 53de98b29548ded88e0a44c80256fc5e340d551e
"tdf#158333 sw smart justify: fix multiple text portions".

Change-Id: I390a254b8a47c6563d2c01a2f818f5ac6122e2ac
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/181397
Tested-by: Jenkins
Reviewed-by: László Németh 

diff --git a/sw/qa/extras/layout/data/tdf164499.docx 
b/sw/qa/extras/layout/data/tdf164499.docx
new file mode 100644
index ..d970bb29affa
Binary files /dev/null and b/sw/qa/extras/layout/data/tdf164499.docx differ
diff --git a/sw/qa/extras/layout/layout3.cxx b/sw/qa/extras/layout/layout3.cxx
index af6dac583f29..5460eae5199a 100644
--- a/sw/qa/extras/layout/layout3.cxx
+++ b/sw/qa/extras/layout/layout3.cxx
@@ -479,12 +479,10 @@ CPPUNIT_TEST_FIXTURE(SwLayoutWriter3, testTdf161810)
 auto pTextArrayAction = static_cast(pAction);
 auto pDXArray = pTextArrayAction->GetDXArray();
 
-// There should be 73 chars on the first line
-CPPUNIT_ASSERT_EQUAL(size_t(73), pDXArray.size());
+// There should be 70 chars on the first line
+// (tdf#164499 no space shrinking in lines with tabulation)
+CPPUNIT_ASSERT_EQUAL(size_t(70), pDXArray.size());
 
-// Assert we are using the expected position for the last char
-// This was 9369, now 9165, according to the fixed space shrinking
-CPPUNIT_ASSERT_LESS(sal_Int32(9300), sal_Int32(pDXArray[72]));
 break;
 }
 }
@@ -535,6 +533,26 @@ CPPUNIT_TEST_FIXTURE(SwLayoutWriter3, testTdf163149)
 }
 }
 
+CPPUNIT_TEST_FIXTURE(SwLayoutWriter3, testTdf164499)
+{
+createSwDoc("tdf164499.docx");
+
+// Ensure that all text portions are calculated before testing.
+SwViewShell* pViewShell = 
getSwDoc()->getIDocumentLayoutAccess().GetCurrentViewShell();
+CPPUNIT_ASSERT(pViewShell);
+pViewShell->Reformat();
+
+xmlDocUniquePtr pXmlDoc = parseLayoutDump();
+
+// no shrinking in tabulated text lines
+
+// This was 1 (no line break in heading 2.5.5)
+assertXPath(pXmlDoc, 
"/root/page[1]/body/section/txt[18]/SwParaPortion/SwLineLayout", 2);
+// line break in heading 2.5.5: the second line contains only the page 
number
+assertXPath(pXmlDoc, 
"/root/page[1]/body/section/txt[18]/SwParaPortion/SwLineLayout[2]",
+"portion", u"*1");
+}
+
 CPPUNIT_TEST_FIXTURE(SwLayoutWriter3, testTdf132599_always)
 {
 uno::Reference xHyphenator = 
LinguMgr::GetHyphenator();
diff --git a/sw/source/core/text/portxt.cxx b/sw/source/core/text/portxt.cxx
index ff8f05e28197..8f453531d4f3 100644
--- a/sw/source/core/text/portxt.cxx
+++ b/sw/source/core/text/portxt.cxx
@@ -333,6 +333,8 @@ bool SwTextPortion::Format_( SwTextFormatInfo &rInf )
  pGuess->BreakPos() != TextFrameIndex(COMPLETE_STRING) &&
  rInf.GetTextFrame()->GetDoc().getIDocumentSettingAccess().get(
 DocumentSettingId::JUSTIFY_LINES_WITH_SHRINKING) &&
+ // tdf#164499 no shrinking in tabulated line
+ ( !rInf.GetLast() || !rInf.GetLast()->InTabGrp() ) &&
  // tdf#158436 avoid shrinking at underflow, e.g. no-break space after 
a
  // very short word resulted endless loop
  !rInf.IsUnderflow() )


core.git: Branch 'distro/collabora/co-25.04' - 4 commits - cui/source desktop/source include/sfx2 include/svx sd/sdi sd/source sfx2/source svx/sdi svx/source xmlsecurity/source

2025-02-11 Thread Miklos Vajna (via logerrit)
 cui/source/dialogs/SignSignatureLineDialog.cxx |2 
 desktop/source/lib/init.cxx|   14 ++
 include/sfx2/digitalsignatures.hxx |8 +
 include/sfx2/objsh.hxx |2 
 include/svx/signaturelinehelper.hxx|3 
 sd/sdi/_drvwsh.sdi |1 
 sd/source/ui/func/fuconrec.cxx |1 
 sd/source/ui/view/drviewse.cxx |   38 ++
 sfx2/source/doc/objserv.cxx|   74 -
 svx/sdi/svx.sdi|2 
 svx/source/dialog/signaturelinehelper.cxx  |9 +
 svx/source/svdraw/svdedtv1.cxx |   11 +
 xmlsecurity/source/component/documentdigitalsignatures.cxx |   29 +++--
 13 files changed, 150 insertions(+), 44 deletions(-)

New commits:
commit 817b1c6a5cbf266f77049a0e9c26b882f5e1bd2c
Author: Miklos Vajna 
AuthorDate: Wed Jan 8 09:42:53 2025 +0100
Commit: Miklos Vajna 
CommitDate: Tue Feb 11 13:50:16 2025 +0100

cool#10630 lok doc sign: allow setting the pos of the Impress sign line

Open a PDF in LOK mode, insert a signature line, try to drag the
selected signature widget/shape, nothing happens.

Given that the inserted shape has a default position at page center, you
typically want to adjust that default position, but that requires adding
a few exceptions, since PDFs are normally read-only. Desktop Impress
gets around this since commit 5d296183072dc7cfe7a9985c38388b56f37d873c
(sd signature line: allow move / resize of shape before signing,
2020-06-26), but LOK clients want to rather dispatch an UNO command
(instead of handling this in the mouse event handler), so this requires
additional work.

A first problem is in isCommandAllowed() in desktop/ that explicitly
rejects the UNO command for read-only documents: allow this when a
signature widget is selected.  A second problem is in
SdrEditView::SetGeoAttrToMarked(), check for the signature widget there
as well.

Given that the implementation of .uno:TransformDialog already has a set
of flags to prevent doing anything for read-only documents, it looks
safe to allow the execution of the command itself.  The size of the
widget should be also possible to modify, that's not yet done here.

Change-Id: I92a60717e98ac33f7a1eb9770cd0c7903f60759c
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/180049
Reviewed-by: Miklos Vajna 
Tested-by: Jenkins

diff --git a/desktop/source/lib/init.cxx b/desktop/source/lib/init.cxx
index fa273ea8de8d..1d6fbc1be272 100644
--- a/desktop/source/lib/init.cxx
+++ b/desktop/source/lib/init.cxx
@@ -5143,13 +5143,23 @@ static bool isCommandAllowed(OUString& command) {
 return true;
 else
 {
-if (command == u".uno:Save"_ustr && SfxViewShell::Current() && 
SfxViewShell::Current()->IsAllowChangeComments())
+SfxViewShell* pViewShell = SfxViewShell::Current();
+if (command == u".uno:Save"_ustr && pViewShell && 
pViewShell->IsAllowChangeComments())
 return true;
 
 for (size_t i = 0; i < std::size(nonAllowedList); i++)
 {
 if (nonAllowedList[i] == command)
-return false;
+{
+bool bRet = false;
+if (pViewShell && command == u".uno:TransformDialog"_ustr)
+{
+// If the just added signature line shape is selected, 
allow moving it.
+SfxObjectShell* pDocShell = pViewShell->GetObjectShell();
+bRet = pDocShell->GetSignPDFCertificate().is();
+}
+return bRet;
+}
 }
 return true;
 }
diff --git a/sd/sdi/_drvwsh.sdi b/sd/sdi/_drvwsh.sdi
index 23767a837e9f..917d369ac8fc 100644
--- a/sd/sdi/_drvwsh.sdi
+++ b/sd/sdi/_drvwsh.sdi
@@ -236,6 +236,7 @@ interface DrawView
 [
 ExecMethod = FuTemporary ;
 StateMethod = GetMenuState ;
+ReadOnlyDoc = TRUE ;
 ]
 
 SID_ATTR_TRANSFORM_WIDTH // ole : no, status : ?
diff --git a/svx/source/svdraw/svdedtv1.cxx b/svx/source/svdraw/svdedtv1.cxx
index acf0b6885028..00034815fb7b 100644
--- a/svx/source/svdraw/svdedtv1.cxx
+++ b/svx/source/svdraw/svdedtv1.cxx
@@ -69,6 +69,7 @@
 #include 
 #include 
 #include 
+#include 
 
 // EditView
 
@@ -1825,7 +1826,15 @@ void SdrEditView::SetGeoAttrToMarked(const SfxItemSet& 
rAttr, bool addPageMargin
 }
 
 // change position
-if (bChgPos && m_bMoveAllowed) {
+bool bMoveAllowed = m_bMoveAllowed;
+SfxViewShell* pViewShell = GetSfxViewShell();
+SfxObjectShell* pObjectShell = pViewShell ? pViewShell->GetObjectShell() : 
nullptr;
+if (!bMoveAllowed && pObjectShell && 
pObjectShell->GetSignPDFCertificate

core.git: Branch 'libreoffice-25-2' - sc/qa sc/source

2025-02-11 Thread Gülşah Köse (via logerrit)
 sc/qa/unit/data/xlsx/sortconditionref2.xlsx |binary
 sc/qa/unit/subsequent_export_test2.cxx  |   13 +
 sc/source/filter/oox/autofilterbuffer.cxx   |2 +-
 3 files changed, 14 insertions(+), 1 deletion(-)

New commits:
commit c0f04f9827a614aa6fb0e3847e21e31597bfd716
Author: Gülşah Köse 
AuthorDate: Fri Feb 7 16:05:16 2025 +0300
Commit: Xisco Fauli 
CommitDate: Tue Feb 11 15:03:32 2025 +0100

Fix wrong detection of sortCondition reference

Signed-off-by: Gülşah Köse 
Change-Id: I877ede71f9487ba35efd7da6a954560272cc
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/181344
Reviewed-by: Szymon Kłos 
Tested-by: Jenkins
(cherry picked from commit 641fd154649edfb3fe1dad89f833f2e48caf41d7)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/181404
Reviewed-by: Xisco Fauli 

diff --git a/sc/qa/unit/data/xlsx/sortconditionref2.xlsx 
b/sc/qa/unit/data/xlsx/sortconditionref2.xlsx
new file mode 100644
index ..748e894ac0a7
Binary files /dev/null and b/sc/qa/unit/data/xlsx/sortconditionref2.xlsx differ
diff --git a/sc/qa/unit/subsequent_export_test2.cxx 
b/sc/qa/unit/subsequent_export_test2.cxx
index 4f705abe5a7e..485221cc8b2c 100644
--- a/sc/qa/unit/subsequent_export_test2.cxx
+++ b/sc/qa/unit/subsequent_export_test2.cxx
@@ -432,6 +432,19 @@ CPPUNIT_TEST_FIXTURE(ScExportTest2, testSortConditionRef)
 assertXPath(pDoc, 
"//x:worksheet/x:autoFilter/x:sortState/x:sortCondition", "ref", u"B3:B2");
 }
 
+CPPUNIT_TEST_FIXTURE(ScExportTest2, testSortConditionRef2)
+{
+// Ascending sortCondition reference detected wrong without fix.
+//- Expected: A11:A300
+//- Actual  : J11:J300
+//- In <>, attribute 'ref' of 
'//x:worksheet/x:autoFilter/x:sortState/x:sortCondition' incorrect value.
+createScDoc("xlsx/sortconditionref2.xlsx");
+save("Calc Office Open XML");
+xmlDocUniquePtr pDoc = parseExport("xl/worksheets/sheet1.xml");
+
+assertXPath(pDoc, 
"//x:worksheet/x:autoFilter/x:sortState/x:sortCondition", "ref", u"A11:A300");
+}
+
 CPPUNIT_TEST_FIXTURE(ScExportTest2, testDateAutofilterXLSX)
 {
 // XLSX Roundtripping autofilter with date list
diff --git a/sc/source/filter/oox/autofilterbuffer.cxx 
b/sc/source/filter/oox/autofilterbuffer.cxx
index 1d7b7ffb0d70..dcf8da5fdc9d 100644
--- a/sc/source/filter/oox/autofilterbuffer.cxx
+++ b/sc/source/filter/oox/autofilterbuffer.cxx
@@ -846,7 +846,7 @@ void AutoFilter::finalizeImport( const Reference< 
XDatabaseRange >& rxDatabaseRa
 if (!aParam.bUserDef)
 return;
 
-SCCOLROW nStartPos = aParam.bByRow ? maRange.aStart.Col() : 
maRange.aStart.Row();
+SCCOLROW nStartPos = aParam.bByRow ? maRange.aStart.Row() : 
maRange.aStart.Col();
 // descending sort - need to enable 1st SortParam slot
 if (rSorConditionLoaded.mbDescending)
 assert(aParam.GetSortKeyCount() == DEFSORT);


core.git: comphelper/source desktop/source include/comphelper sw/qa sw/source

2025-02-11 Thread Miklos Vajna (via logerrit)
 comphelper/source/misc/lok.cxx  |   15 +
 desktop/source/lib/init.cxx |   15 +
 include/comphelper/lok.hxx  |8 +++
 sw/qa/extras/tiledrendering/data/3pages.odt |binary
 sw/qa/extras/tiledrendering/tiledrendering2.cxx |   26 
 sw/source/core/view/vnew.cxx|9 
 6 files changed, 73 insertions(+)

New commits:
commit 5300efbbb13c73d7d5d17cd9834f9cb118657915
Author: Miklos Vajna 
AuthorDate: Fri Feb 7 14:09:22 2025 +0100
Commit: Miklos Vajna 
CommitDate: Tue Feb 11 16:48:27 2025 +0100

cool#11064 sw lok: allow specifying the visible area during doc load

Large enough documents significantly faster on the desktop than in LOK
mode for some reason.

Investigating the reason, it turns out that the layout mechanism to
layout the visible area (first page, typically) of the document as part
of doc load goes wrong in the LOK case, where nominally the entire
document is visible.

Fix the problem by adding new "ClientVisibleArea" option to
lo_documentLoadWithOptions(), so the LOK client can inform us about what
is the visible area before SwXTextDocument::setClientVisibleArea() can
be called.

lok::Office::documentLoad() cost for the bugdoc:
- before: 540 ms
- after: 112 ms

Change-Id: Ib1df71e768fc42cf92b858a717d7a0e5d51678b6
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/181426
Tested-by: Jenkins
Reviewed-by: Miklos Vajna 

diff --git a/comphelper/source/misc/lok.cxx b/comphelper/source/misc/lok.cxx
index b3ac3ce79420..7d4ca7536b4b 100644
--- a/comphelper/source/misc/lok.cxx
+++ b/comphelper/source/misc/lok.cxx
@@ -8,12 +8,17 @@
  */
 
 #include 
+
+#include 
+
 #include 
 #include 
 #include 
 
 #include 
 
+using namespace com::sun::star;
+
 namespace comphelper::LibreOfficeKit
 {
 
@@ -43,6 +48,9 @@ static void* g_pAnyInputCallbackData;
 static std::function g_pViewSetter;
 static std::function g_pViewGetter;
 
+/// Visible area of the first view during document load.
+static awt::Rectangle g_aInitialClientVisibleArea;
+
 namespace
 {
 
@@ -370,6 +378,13 @@ int getView()
 return g_pViewGetter();
 }
 
+void setInitialClientVisibleArea(const awt::Rectangle& rClientVisibleArea)
+{
+g_aInitialClientVisibleArea = rClientVisibleArea;
+}
+
+awt::Rectangle getInitialClientVisibleArea() { return 
g_aInitialClientVisibleArea; }
+
 } // namespace
 
 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/desktop/source/lib/init.cxx b/desktop/source/lib/init.cxx
index ea70d1f186b2..4e9977d27418 100644
--- a/desktop/source/lib/init.cxx
+++ b/desktop/source/lib/init.cxx
@@ -2880,6 +2880,21 @@ static LibreOfficeKitDocument* 
lo_documentLoadWithOptions(LibreOfficeKit* pThis,
 }
 SvtSecurityOptions::SetMacroSecurityLevel(nMacroSecurityLevel);
 
+OUString aClientVisibleArea = extractParameter(aOptions, 
u"ClientVisibleArea");
+if (!aClientVisibleArea.isEmpty())
+{
+std::vector aTokens = 
comphelper::string::split(aClientVisibleArea, ';');
+if (aTokens.size() >= 4)
+{
+awt::Rectangle aRectangle;
+aRectangle.X = aTokens[0].toInt32();
+aRectangle.Y = aTokens[1].toInt32();
+aRectangle.Width = aTokens[2].toInt32();
+aRectangle.Height = aTokens[3].toInt32();
+
comphelper::LibreOfficeKit::setInitialClientVisibleArea(aRectangle);
+}
+}
+
 #if defined(ANDROID) && HAVE_FEATURE_ANDROID_LOK
 sal_Int16 nMacroExecMode = document::MacroExecMode::USE_CONFIG;
 #else
diff --git a/include/comphelper/lok.hxx b/include/comphelper/lok.hxx
index 0dd5fbdb2f23..e222690c7e30 100644
--- a/include/comphelper/lok.hxx
+++ b/include/comphelper/lok.hxx
@@ -16,6 +16,10 @@
 #include 
 
 class LanguageTag;
+namespace com::sun::star::awt
+{
+struct Rectangle;
+}
 
 // Interface between the LibreOfficeKit implementation called by 
LibreOfficeKit clients and other
 // LibreOffice code.
@@ -144,6 +148,10 @@ COMPHELPER_DLLPUBLIC void setViewSetter(const 
std::function& pViewSet
 COMPHELPER_DLLPUBLIC void setView(int nView);
 COMPHELPER_DLLPUBLIC void setViewGetter(const std::function& 
pViewGetter);
 COMPHELPER_DLLPUBLIC int getView();
+
+COMPHELPER_DLLPUBLIC void
+setInitialClientVisibleArea(const css::awt::Rectangle& rClientVisibleArea);
+COMPHELPER_DLLPUBLIC css::awt::Rectangle getInitialClientVisibleArea();
 }
 
 #endif // INCLUDED_COMPHELPER_LOK_HXX
diff --git a/sw/qa/extras/tiledrendering/data/3pages.odt 
b/sw/qa/extras/tiledrendering/data/3pages.odt
new file mode 100644
index ..565cdeae77a5
Binary files /dev/null and b/sw/qa/extras/tiledrendering/data/3pages.odt differ
diff --git a/sw/qa/extras/tiledrendering/tiledrendering2.cxx 
b/sw/qa/extras/tiledrendering/tiledrendering2.cxx
index 5464257a

core.git: Branch 'libreoffice-25-2' - sc/qa sc/source

2025-02-11 Thread Noel Grandin (via logerrit)
 sc/qa/unit/data/ods/RowHeightTdf165003.ods |binary
 sc/qa/unit/subsequent_filters_test4.cxx|   23 +++
 sc/source/core/data/column2.cxx|8 +++-
 3 files changed, 30 insertions(+), 1 deletion(-)

New commits:
commit f4ad405f8c93afaeb4281f43a6608c4aecca7249
Author: Noel Grandin 
AuthorDate: Tue Feb 11 12:54:02 2025 +0200
Commit: Xisco Fauli 
CommitDate: Tue Feb 11 15:59:17 2025 +0100

tdf#165003 Row height wrong at writing direction 90°

regression from
commit f91a411340ae204ce1e6997f22e0352a4c6a8355
Author: Noel Grandin 
Date:   Thu May 23 15:09:52 2024 +0200
reduce cost of calc column height calculation

This also fixes another bug in the above commit where the code did not
update nValue for the "else if (bBreak && !bWidth)" case

Change-Id: I367a56c2cb555336e1d510efb0c7acac1447525f
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/181417
Tested-by: Jenkins
Reviewed-by: Noel Grandin 
(cherry picked from commit f2639e2a98f114f053a13da669440587d56a0dd8)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/181422
Reviewed-by: Xisco Fauli 

diff --git a/sc/qa/unit/data/ods/RowHeightTdf165003.ods 
b/sc/qa/unit/data/ods/RowHeightTdf165003.ods
new file mode 100644
index ..b3672f929f82
Binary files /dev/null and b/sc/qa/unit/data/ods/RowHeightTdf165003.ods differ
diff --git a/sc/qa/unit/subsequent_filters_test4.cxx 
b/sc/qa/unit/subsequent_filters_test4.cxx
index 72a5b1bd2a53..d8f11d5a3493 100644
--- a/sc/qa/unit/subsequent_filters_test4.cxx
+++ b/sc/qa/unit/subsequent_filters_test4.cxx
@@ -440,6 +440,29 @@ CPPUNIT_TEST_FIXTURE(ScFiltersTest4, testRowHeightODS)
 CPPUNIT_ASSERT_MESSAGE("Row should have an automatic height.", !bManual);
 }
 
+CPPUNIT_TEST_FIXTURE(ScFiltersTest4, testRowHeightTdf165003)
+{
+createScDoc("ods/RowHeightTdf165003.ods");
+
+SCTAB nTab = 0;
+SCROW nRow = 0;
+ScDocument* pDoc = getScDoc();
+
+int nHeight = pDoc->GetRowHeight(nRow, nTab, false);
+CPPUNIT_ASSERT_EQUAL(256, nHeight);
+nHeight = pDoc->GetRowHeight(++nRow, nTab, false);
+CPPUNIT_ASSERT_EQUAL(256, nHeight);
+nHeight = pDoc->GetRowHeight(++nRow, nTab, false);
+CPPUNIT_ASSERT_EQUAL(256, nHeight);
+nHeight = pDoc->GetRowHeight(++nRow, nTab, false);
+CPPUNIT_ASSERT_EQUAL(256, nHeight);
+// this row has 90-degree rotated text, and without the fix, would have 
had zero height.
+nHeight = pDoc->GetRowHeight(++nRow, nTab, false);
+CPPUNIT_ASSERT_EQUAL(582, nHeight);
+nHeight = pDoc->GetRowHeight(++nRow, nTab, false);
+CPPUNIT_ASSERT_EQUAL(256, nHeight);
+}
+
 CPPUNIT_TEST_FIXTURE(ScFiltersTest4, testRichTextContentODS)
 {
 createScDoc("ods/rich-text-cells.ods");
diff --git a/sc/source/core/data/column2.cxx b/sc/source/core/data/column2.cxx
index e0e5505da9aa..37db657fb552 100644
--- a/sc/source/core/data/column2.cxx
+++ b/sc/source/core/data/column2.cxx
@@ -310,7 +310,10 @@ tools::Long ScColumn::GetNeededSize(
 tools::Long nWidth = 0;
 if ( eOrient != SvxCellOrientation::Standard )
 {
-nWidth = pDev->GetTextHeight();
+tools::Long nHeight = pDev->GetTextHeight();
+// swap width and height
+nValue = bWidth ? nHeight : pDev->GetTextWidth( aValStr );
+nWidth = nHeight;
 }
 else if ( nRotate )
 {
@@ -363,7 +366,10 @@ tools::Long ScColumn::GetNeededSize(
 }
 }
 else if (bBreak && !bWidth)
+{
 nWidth = pDev->GetTextWidth(aValStr);
+nValue = pDev->GetTextHeight();
+}
 else
 // in the common case (height), avoid calling the expensive 
GetTextWidth
 nValue = bWidth ? pDev->GetTextWidth( aValStr ) : 
pDev->GetTextHeight();


core.git: helpcontent2

2025-02-11 Thread Olivier Hallot (via logerrit)
 helpcontent2 |2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

New commits:
commit 6c0685d82238fd3813ffe7d67be3778280f2d47e
Author: Olivier Hallot 
AuthorDate: Tue Feb 11 11:55:45 2025 -0300
Commit: Gerrit Code Review 
CommitDate: Tue Feb 11 15:55:45 2025 +0100

Update git submodules

* Update helpcontent2 from branch 'master'
  to 07e8db4df115a5662b5e28831cbc7049cd50c217
  - tdf#165141 - Fix Draw - Scale Help page

+ Refactor
+ Improve how to get
+ Remove switches.

Change-Id: I3649c9a87170b4d665c1766d211074fa519a8405
Reviewed-on: https://gerrit.libreoffice.org/c/help/+/181373
Tested-by: Jenkins
Reviewed-by: Olivier Hallot 

diff --git a/helpcontent2 b/helpcontent2
index 84435ba08d96..07e8db4df115 16
--- a/helpcontent2
+++ b/helpcontent2
@@ -1 +1 @@
-Subproject commit 84435ba08d96a46d9ced24ccd37599d2932e8932
+Subproject commit 07e8db4df115a5662b5e28831cbc7049cd50c217


core.git: Branch 'distro/collabora/co-25.04' - 14 commits - desktop/source include/sfx2 include/svl include/svx officecfg/registry sfx2/source svl/source svx/sdi sw/inc sw/sdi sw/source

2025-02-11 Thread Caolán McNamara (via logerrit)
 desktop/source/lib/init.cxx  |   29 ++-
 include/sfx2/StylePreviewRenderer.hxx|2 
 include/svl/style.hxx|3 
 include/svx/svxids.hrc   |2 
 officecfg/registry/data/org/openoffice/Office/UI/GenericCommands.xcu |5 
 sfx2/source/dialog/StyleList.cxx |   91 
++
 sfx2/source/doc/objserv.cxx  |   21 +-
 svl/source/items/style.cxx   |5 
 svx/sdi/svx.sdi  |   17 +
 sw/inc/docstyle.hxx  |2 
 sw/inc/modcfg.hxx|2 
 sw/inc/rdfhelper.hxx |2 
 sw/inc/view.hxx  |4 
 sw/sdi/_textsh.sdi   |6 
 sw/source/core/doc/rdfhelper.cxx |   27 +-
 sw/source/core/layout/paintfrm.cxx   |   40 
+++-
 sw/source/core/text/inftxt.cxx   |   37 
++--
 sw/source/core/unocore/unoobj2.cxx   |2 
 sw/source/filter/ww8/docxattributeoutput.cxx |7 
 sw/source/filter/ww8/docxexport.cxx  |   15 -
 sw/source/uibase/app/docstyle.cxx|   19 ++
 sw/source/uibase/config/modcfg.cxx   |   46 
+++--
 sw/source/uibase/config/usrpref.cxx  |   42 
++--
 sw/source/uibase/docvw/edtwin2.cxx   |8 
 sw/source/uibase/lingu/olmenu.cxx|   43 
++--
 sw/source/uibase/shells/textsh1.cxx  |   53 
-
 sw/source/uibase/uiview/view0.cxx|   30 ++-
 sw/source/uibase/uno/unotxdoc.cxx|9 
 28 files changed, 395 insertions(+), 174 deletions(-)

New commits:
commit c90b82892ea22d67c28e5d40a086b914c496f62c
Author: Caolán McNamara 
AuthorDate: Tue Jan 28 20:53:29 2025 +
Commit: Caolán McNamara 
CommitDate: Tue Feb 11 14:51:32 2025 +

xml::sax::XWriter is a xml::sax::XDocumentHandler

Change-Id: I492bff5580b61c222a7e9b84d49ba70a5dc318b9
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/180865
Tested-by: Jenkins CollaboraOffice 
Reviewed-by: Miklos Vajna 

diff --git a/sw/source/filter/ww8/docxexport.cxx 
b/sw/source/filter/ww8/docxexport.cxx
index 5472a0de8460..ffeb0b85a099 100644
--- a/sw/source/filter/ww8/docxexport.cxx
+++ b/sw/source/filter/ww8/docxexport.cxx
@@ -1582,8 +1582,7 @@ void DocxExport::WriteGlossary()
 uno::Reference< xml::sax::XSAXSerializable > serializer( glossaryDocDom, 
uno::UNO_QUERY );
 uno::Reference< xml::sax::XWriter > writer = xml::sax::Writer::create( 
comphelper::getProcessComponentContext() );
 writer->setOutputStream( xOutputStream );
-serializer->serialize( uno::Reference< xml::sax::XDocumentHandler >( 
writer, uno::UNO_QUERY_THROW ),
-uno::Sequence< beans::StringPair >() );
+serializer->serialize(writer, uno::Sequence< beans::StringPair >());
 
 for (const uno::Sequence& glossaryElement : 
glossaryDomList)
 {
@@ -1624,8 +1623,7 @@ void DocxExport::WriteGlossary()
 continue; // External relation, no stream to write
 uno::Reference< xml::sax::XSAXSerializable > gserializer( xDom, 
uno::UNO_QUERY );
 writer->setOutputStream(GetFilter().openFragmentStream( 
"word/glossary/" + gTarget, contentType ) );
-gserializer->serialize( uno::Reference< xml::sax::XDocumentHandler >( 
writer, uno::UNO_QUERY_THROW ),
-   uno::Sequence< beans::StringPair >() );
+gserializer->serialize(writer, uno::Sequence< beans::StringPair >());
 }
 }
 
@@ -1747,8 +1745,7 @@ void DocxExport::WriteCustomXml()
 
 writer->setOutputStream(xMemStream->getOutputStream());
 
-serializer->serialize(uno::Reference< 
xml::sax::XDocumentHandler >(writer, uno::UNO_QUERY_THROW),
-uno::Sequence< beans::StringPair >());
+serializer->serialize(writer, uno::Sequence< beans::StringPair 
>());
 
 uno::Reference< io::XStream > xXSLTInStream = xMemStream;
 uno::Reference< io::XStream > xXSLTOutStream;
@@ -1779,8 +1776,7 @@ void DocxExport::WriteCustomXml()
 {
 writer->setOutputStream(xOutStream);
 
-serializer->serialize(uno::Reference< 
xml::sax::XDocumentHandler >(writer, uno::UNO_QUERY_THROW),
-uno::Sequence< beans::Str

core.git: Branch 'libreoffice-24-8-5' - i18npool/source offapi/com sc/source sw/source

2025-02-11 Thread Michael Stahl (via logerrit)
 i18npool/source/characterclassification/cclass_unicode_parser.cxx |   18 
--
 offapi/com/sun/star/i18n/KParseTokens.idl |7 +++
 sc/source/core/tool/compiler.cxx  |6 +--
 sw/source/core/bastyp/calc.cxx|2 -
 4 files changed, 26 insertions(+), 7 deletions(-)

New commits:
commit a760f3887d4b8a0452ac08269a66a45003174c34
Author: Michael Stahl 
AuthorDate: Wed Jan 29 19:54:14 2025 +0100
Commit: Christian Lohmaier 
CommitDate: Tue Feb 11 16:14:21 2025 +0100

tdf#158867 offapi,i18npool,starmath: fix "," in Math again

This is essentially the same bug that was fixed in commit
2caa9d7ddcff3f6e380c306b737e9b5e9cdaf4c2 "Resolves: tdf#127873 accept
',' comma group separator in number entities again".

The problem is that sw wants to recognize group separators only if there
are 3 digits following so it really looks like a number (see bug
tdf#42518), but starmath really wants to recognize either comma or dot
as a decimal separator and uses the GROUP_SEPARATOR_IN_NUMBER as a hack
to get this behaviour, so the same parser can work in any locale.

Introduce new constant GROUP_SEPARATOR_IN_NUMBER_3 so that sw and
starmath can request different parsing.

sc/source/core/tool/compiler.cxx also uses GROUP_SEPARATOR_IN_NUMBER and
it's unclear to me what is desired there, but there are no known
regression reports so leave the behaviour there unchanged.

(regression from commit 1bd9a51b826015746069fcc0d02a30a2ddc7e7f5)

Change-Id: Icb7662f26d89677cf84ccad07a2ea4c380587ab4
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/180920
Tested-by: Jenkins
Reviewed-by: Michael Stahl 
(cherry picked from commit ff16c4e3f27efc0fc9ed734b19ae778482566cdb)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/181118
Reviewed-by: Thorsten Behrens 
(cherry picked from commit 0644deaa8a441e2ad9c41ad4b4a528b1579e9cd9)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/181127
Tested-by: Christian Lohmaier 
Reviewed-by: Xisco Fauli 
Reviewed-by: Christian Lohmaier 

diff --git a/i18npool/source/characterclassification/cclass_unicode_parser.cxx 
b/i18npool/source/characterclassification/cclass_unicode_parser.cxx
index 9ed95e2f907a..97fae9518adc 100644
--- a/i18npool/source/characterclassification/cclass_unicode_parser.cxx
+++ b/i18npool/source/characterclassification/cclass_unicode_parser.cxx
@@ -23,6 +23,7 @@
 #include 
 #include 
 #include 
+#include 
 #include 
 #include 
 #include 
@@ -441,7 +442,11 @@ void cclass_Unicode::initParserTable( const Locale& 
rLocale, sal_Int32 startChar
 cDecimalSepAlt = aItem.decimalSeparatorAlternative.toChar();
 }
 
-if (nContTypes & KParseTokens::GROUP_SEPARATOR_IN_NUMBER)
+SAL_WARN_IF((nContTypes & KParseTokens::GROUP_SEPARATOR_IN_NUMBER)
+ && (nContTypes & KParseTokens::GROUP_SEPARATOR_IN_NUMBER_3),
+"i18npool", "only one GROUP_SEPARATOR_IN_NUMBER* should be used");
+if (nContTypes & KParseTokens::GROUP_SEPARATOR_IN_NUMBER
+|| nContTypes & KParseTokens::GROUP_SEPARATOR_IN_NUMBER_3)
 {
 if ( cGroupSep < nDefCnt )
 pTable[cGroupSep] |= ParserFlags::VALUE;
@@ -827,13 +832,20 @@ void cclass_Unicode::parseText( ParseResult& r, const 
OUString& rText, sal_Int32
 {
 if (current == cGroupSep)
 {
-// accept only if it is followed by 3 digits
+// depending or requested nContTypes, accept only if
+// it is followed by 3 digits
 sal_Int32 tempIndex(index);
 sal_uInt32 const nextChar2((tempIndex < 
rText.getLength()) ? rText.iterateCodePoints(&tempIndex) : 0);
 sal_uInt32 const nextChar3((tempIndex < 
rText.getLength()) ? rText.iterateCodePoints(&tempIndex) : 0);
-if (getFlags(nextChar, eState) & 
ParserFlags::VALUE_DIGIT
+if ((nContTypes & 
KParseTokens::GROUP_SEPARATOR_IN_NUMBER_3)
+&& getFlags(nextChar, eState) & 
ParserFlags::VALUE_DIGIT
 && getFlags(nextChar2, eState) & 
ParserFlags::VALUE_DIGIT
 && getFlags(nextChar3, eState) & 
ParserFlags::VALUE_DIGIT)
+{
+nParseTokensType |= 
KParseTokens::GROUP_SEPARATOR_IN_NUMBER_3;
+}
+else if ((nContTypes & 
KParseTokens::GROUP_SEPARATOR_IN_NUMBER_3) == 0
+&& getFlags(nextChar, eState) & 
ParserFlags::VALUE_DIGIT)
 {
 nParseTokensType |= 
KParseTokens::GROUP_SEPARATOR_IN_NUMBER;
 }
diff --git a/offapi/com/sun/star/i18n/KParseTok

core.git: Branch 'libreoffice-24-8-5' - sw/source

2025-02-11 Thread Michael Stahl (via logerrit)
 sw/source/core/docnode/node2lay.cxx |7 ++-
 1 file changed, 6 insertions(+), 1 deletion(-)

New commits:
commit df89de9f9d02df5def41f5b8422514704d42cbde
Author: Michael Stahl 
AuthorDate: Wed Jan 29 17:36:41 2025 +0100
Commit: Christian Lohmaier 
CommitDate: Tue Feb 11 16:15:01 2025 +0100

tdf#156348 sw: fix crash on converting text to table with SwSetExpField

The problem is that the table node only gets a SwFrameFormat assigned at
the end of the operation after all the nodes have been split etc., and
moving a field into a newly split node calls
sw::FindNeighbourFrameForNode() which needs to handle table node without
SwFrameFormat now when going backwards (not when going forwards because
the table node is always before the nodes in the table).

(regression from commit 9dc6e2c9062725ef1f9d7e321cae5f4dbe8ca749)

Change-Id: Ia0c1f7d7b14f525aa8de4a2b6492c39b59f31052
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/180914
Reviewed-by: Michael Stahl 
Tested-by: Jenkins
(cherry picked from commit b5967157b37904219865fd847b20938b3ccfbd72)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/180919
Reviewed-by: Adolfo Jayme Barrientos 
(cherry picked from commit 23d225dac8f717bea8e960e4c2130963db7f3920)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/181106
Tested-by: Christian Lohmaier 
Reviewed-by: Xisco Fauli 
Reviewed-by: Christian Lohmaier 

diff --git a/sw/source/core/docnode/node2lay.cxx 
b/sw/source/core/docnode/node2lay.cxx
index 312ce2dff440..3efaea7f08ff 100644
--- a/sw/source/core/docnode/node2lay.cxx
+++ b/sw/source/core/docnode/node2lay.cxx
@@ -115,7 +115,12 @@ static SwNode* GoPreviousWithFrame(SwNodeIndex *pIdx, 
SwFlowFrame const**const p
 // frame as the caller's one
 pFound = SwIterator(*static_cast(pNd)).First();
 else if ( pNd->IsTableNode() )
-pFound = 
SwIterator(*static_cast(pNd)->GetTable().GetFrameFormat()).First();
+{
+if (SwFrameFormat *const 
pFormat{static_cast(pNd)->GetTable().GetFrameFormat()})
+{
+pFound = SwIterator(*pFormat).First();
+}
+}
 else if( pNd->IsStartNode() && !pNd->IsSectionNode() )
 {
 pNd = nullptr;


core.git: Branch 'libreoffice-25-2' - winaccessibility/source

2025-02-11 Thread Michael Weghorn (via logerrit)
 winaccessibility/source/UAccCOM/MAccessible.cxx |   10 +++---
 1 file changed, 7 insertions(+), 3 deletions(-)

New commits:
commit a3773ad48a87fdbe3543e8005483e913068498b9
Author: Michael Weghorn 
AuthorDate: Mon Feb 10 17:17:39 2025 +0100
Commit: Xisco Fauli 
CommitDate: Tue Feb 11 16:15:49 2025 +0100

tdf#153131 wina11y: Return error code when child count exceeds max long

When the accessible child count exceeds max long,
no longer return max long in the IAccessible::get_accChildCount [1]
implementation in the Windows a11y bridge, but instead return error
code `S_FALSE` [2]:

> The method succeeded in part. This happens when the method succeeds, but
> the requested information is not available. For example, Microsoft
> Active Accessibility returns S_FALSE if you call IAccessible::accHitTest
> to retrieve a child object at a given point, and the specified point is
> not within the object or the object's child.

This prevents the problem that Windows Speech Recognition on Windows 10
(see tdf#153131) and apparently some tools on Windows 11 that query
information from LO via the accessibility API (see tdf#165131 and
tickets referenced from there) apparently try to iterate over all
children from child index 0 to (excluding) the returned index
unconditionally, which causes a freeze if the returned number is too large.

In practice, this is known to be a problem with Calc sheets, for which
all cells are currently considered direct children.

A quick test with NVDA and this change in place didn't reveal any
issues.
(Independent of this change, using JAWS 2025.2412.50 instantly
results in a crash somewhere in the AT code that gets run
in-process, preventing to test what implications this change
would have there otherwise.)

[1] 
https://learn.microsoft.com/en-us/windows/win32/api/oleacc/nf-oleacc-iaccessible-get_accchildcount
[2] https://learn.microsoft.com/en-us/windows/win32/winauto/return-values

Change-Id: If12dbcbb387a765bec4194d2bfe61bd29aa0f8a7
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/181370
Tested-by: Jenkins
Reviewed-by: Michael Weghorn 
(cherry picked from commit 9ee01d58771b8ea585698094019b1a4dd38e54eb)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/181379
Reviewed-by: Xisco Fauli 

diff --git a/winaccessibility/source/UAccCOM/MAccessible.cxx 
b/winaccessibility/source/UAccCOM/MAccessible.cxx
index fb13e7e6878a..a6454f3c39f8 100644
--- a/winaccessibility/source/UAccCOM/MAccessible.cxx
+++ b/winaccessibility/source/UAccCOM/MAccessible.cxx
@@ -299,9 +299,13 @@ COM_DECLSPEC_NOTHROW STDMETHODIMP 
CMAccessible::get_accChildCount(long *pcountCh
 sal_Int64 nChildCount = pRContext->getAccessibleChildCount();
 if (nChildCount > std::numeric_limits::max())
 {
-SAL_WARN("iacc2", "CMAccessible::get_accChildCount: Child 
count exceeds maximum long value, "
-  "returning max long.");
-nChildCount = std::numeric_limits::max();
+// return error code if child count exceeds max long value
+// (for Calc sheets which report all cells as children);
+// tdf#153131: Windows Speech Recognition and apparently some 
other
+// tools quering information via the a11y API seem to query 
all children unconditionally,
+// so returning a large number (like 
std::numeric_limits::max) would cause a freeze
+SAL_WARN("iacc2", "CMAccessible::get_accChildCount: Child 
count exceeds maximum long value");
+return S_FALSE;
 }
 
 *pcountChildren = nChildCount;


help.git: source/text

2025-02-11 Thread Olivier Hallot (via logerrit)
 source/text/shared/00/0406.xhp   |   15 
 source/text/shared/optionen/01070500.xhp |   99 ---
 2 files changed, 55 insertions(+), 59 deletions(-)

New commits:
commit 07e8db4df115a5662b5e28831cbc7049cd50c217
Author: Olivier Hallot 
AuthorDate: Mon Feb 10 14:59:39 2025 -0300
Commit: Olivier Hallot 
CommitDate: Tue Feb 11 15:55:44 2025 +0100

tdf#165141 - Fix Draw - Scale Help page

+ Refactor
+ Improve how to get
+ Remove switches.

Change-Id: I3649c9a87170b4d665c1766d211074fa519a8405
Reviewed-on: https://gerrit.libreoffice.org/c/help/+/181373
Tested-by: Jenkins
Reviewed-by: Olivier Hallot 

diff --git a/source/text/shared/00/0406.xhp 
b/source/text/shared/00/0406.xhp
index dfbe2aacb4..cf5e795a7f 100644
--- a/source/text/shared/00/0406.xhp
+++ b/source/text/shared/00/0406.xhp
@@ -373,7 +373,20 @@
 Open a spreadsheet document, choose %PRODUCTNAME - 
PreferencesTools - 
Options - %PRODUCTNAME Calc - Sort 
Lists - Copy button.
 Open 
a spreadsheet document, choose %PRODUCTNAME - 
PreferencesTools - 
Options - %PRODUCTNAME Calc - 
Changes.
 Open 
a presentation document, choose %PRODUCTNAME - 
PreferencesTools - 
Options - %PRODUCTNAME 
Impress.
-Open a presentation document, choose %PRODUCTNAME - 
PreferencesTools - 
Options - %PRODUCTNAME 
Impress/%PRODUCTNAME Draw - General.
+
+
+
+Open a 
presentation or drawing document, then 
+
+Choose %PRODUCTNAME - 
PreferencesTools - 
Options - %PRODUCTNAME 
Impress/%PRODUCTNAME Draw - General.
+
+Click the 
Options button on the right and choose 
%PRODUCTNAME Impress/%PRODUCTNAME Draw - 
General.
+
+Alt + 
F12 and choose %PRODUCTNAME Impress/%PRODUCTNAME Draw - 
General.
+
+
+
+
 Open 
a presentation document, choose %PRODUCTNAME - 
PreferencesTools - 
Options - %PRODUCTNAME 
Impress/%PRODUCTNAME Draw - View.
 Open 
a presentation document, choose %PRODUCTNAME - 
PreferencesTools - 
Options - %PRODUCTNAME 
Impress/%PRODUCTNAME Draw - Grid.
 Open 
a presentation document, choose %PRODUCTNAME - 
PreferencesTools - 
Options - %PRODUCTNAME 
Impress/%PRODUCTNAME Draw - Print.
diff --git a/source/text/shared/optionen/01070500.xhp 
b/source/text/shared/optionen/01070500.xhp
index e596d5223c..e6777b8106 100644
--- a/source/text/shared/optionen/01070500.xhp
+++ b/source/text/shared/optionen/01070500.xhp
@@ -22,97 +22,80 @@
 
 
 
-General
+General
 /text/shared/optionen/01070500.xhp
 
 
 
 
-presentations; starting with 
wizard
+presentations; 
starting with wizard
 objects; always moveable (Impress/Draw)
 distorting in drawings
 spacing; tabs in presentations
 tab stops; spacing in presentations
 text objects; in presentations and drawings
+scale; in drawings
 
-
-
-General
-Defines the general 
options for drawing or presentation documents.
+
+
+General 
(Impress and Draw)
+Defines the general 
options for drawing or presentation documents.
 
 
 
 
-
-
-
-
-New document
-Start with Template Selection
-Specifies 
whether to activate the Select a Template window 
when opening a presentation with File - New - 
Presentation.
-
-
+
+New document (Impress)
+Start with Template Selection
+Specifies 
whether to activate the Select a Template window 
when opening a presentation with File - New - 
Presentation.
 Text objects
-
-
+
+
 Allow quick editing
-If on, you can edit text immediately after 
clicking a text object. If off, you must double-click to edit text.
-
-
-
-
-
-In a presentation or drawing document, you can 
also activate the text editing mode through the Allow Quick 
Editing icon in the 
Options bar.
-
-
+If on, you can edit text immediately after 
clicking a text object. If off, you must double-click to edit 
text.
+In a presentation or drawing 
document, you can also activate the text editing mode through the Allow 
Quick Editing icon in 
the Options bar.
+
+
 Only text area selectable
-Specifies whether to select a text box by 
clicking the text.
+Specifies whether to select a text box by 
clicking the text.
 
-In the area of the text box that is not filled with text, an 
object behind the text box can be selected.
+In 
the area of the text box that is not filled with text, an object behind the 
text box can be selected.
 
-
-
-
-
-In a presentation or drawing document, you can 
also activate this mode through the Select Text Area Only icon in the Options 
bar.
+In a presentation or drawing 
document, you can also activate this mode through the Select Text Area 
Only icon in the 
Options bar.
 
 Settings
-
-Use background cache
-Specifies 
whether to use the cache for displaying objects on the master slide. 
This speeds up the display. Unmark the Use background cache option 
if you want to display changing contents on the master slide.
-
+
 Copy when moving
-If enabled, a copy is created when you move an object while holding 
down the 

core.git: Branch 'libreoffice-24-8' - sc/qa sc/source

2025-02-11 Thread Gülşah Köse (via logerrit)
 sc/qa/unit/data/xlsx/sortconditionref2.xlsx |binary
 sc/qa/unit/subsequent_export_test2.cxx  |   14 ++
 sc/source/filter/oox/autofilterbuffer.cxx   |2 +-
 3 files changed, 15 insertions(+), 1 deletion(-)

New commits:
commit 1394a950cef4f3d97a79388dcd3e49b29e660077
Author: Gülşah Köse 
AuthorDate: Fri Feb 7 16:05:16 2025 +0300
Commit: Xisco Fauli 
CommitDate: Tue Feb 11 16:03:56 2025 +0100

Fix wrong detection of sortCondition reference

Signed-off-by: Gülşah Köse 
Change-Id: I877ede71f9487ba35efd7da6a954560272cc
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/181344
Reviewed-by: Szymon Kłos 
Tested-by: Jenkins
(cherry picked from commit 641fd154649edfb3fe1dad89f833f2e48caf41d7)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/181405
Reviewed-by: Xisco Fauli 

diff --git a/sc/qa/unit/data/xlsx/sortconditionref2.xlsx 
b/sc/qa/unit/data/xlsx/sortconditionref2.xlsx
new file mode 100644
index ..748e894ac0a7
Binary files /dev/null and b/sc/qa/unit/data/xlsx/sortconditionref2.xlsx differ
diff --git a/sc/qa/unit/subsequent_export_test2.cxx 
b/sc/qa/unit/subsequent_export_test2.cxx
index 7f4703a11cfe..0777a073e1d6 100644
--- a/sc/qa/unit/subsequent_export_test2.cxx
+++ b/sc/qa/unit/subsequent_export_test2.cxx
@@ -442,6 +442,20 @@ CPPUNIT_TEST_FIXTURE(ScExportTest2, testSortConditionRef)
 u"B3:B2"_ustr);
 }
 
+CPPUNIT_TEST_FIXTURE(ScExportTest2, testSortConditionRef2)
+{
+// Ascending sortCondition reference detected wrong without fix.
+//- Expected: A11:A300
+//- Actual  : J11:J300
+//- In <>, attribute 'ref' of 
'//x:worksheet/x:autoFilter/x:sortState/x:sortCondition' incorrect value.
+createScDoc("xlsx/sortconditionref2.xlsx");
+save(u"Calc Office Open XML"_ustr);
+xmlDocUniquePtr pDoc = parseExport(u"xl/worksheets/sheet1.xml"_ustr);
+
+assertXPath(pDoc, 
"//x:worksheet/x:autoFilter/x:sortState/x:sortCondition"_ostr, "ref"_ostr,
+u"A11:A300"_ustr);
+}
+
 CPPUNIT_TEST_FIXTURE(ScExportTest2, testDateAutofilterXLSX)
 {
 // XLSX Roundtripping autofilter with date list
diff --git a/sc/source/filter/oox/autofilterbuffer.cxx 
b/sc/source/filter/oox/autofilterbuffer.cxx
index 1d7b7ffb0d70..dcf8da5fdc9d 100644
--- a/sc/source/filter/oox/autofilterbuffer.cxx
+++ b/sc/source/filter/oox/autofilterbuffer.cxx
@@ -846,7 +846,7 @@ void AutoFilter::finalizeImport( const Reference< 
XDatabaseRange >& rxDatabaseRa
 if (!aParam.bUserDef)
 return;
 
-SCCOLROW nStartPos = aParam.bByRow ? maRange.aStart.Col() : 
maRange.aStart.Row();
+SCCOLROW nStartPos = aParam.bByRow ? maRange.aStart.Row() : 
maRange.aStart.Col();
 // descending sort - need to enable 1st SortParam slot
 if (rSorConditionLoaded.mbDescending)
 assert(aParam.GetSortKeyCount() == DEFSORT);


core.git: Branch 'libreoffice-24-8-5' - download.lst external/curl

2025-02-11 Thread Xisco Fauli (via logerrit)
 download.lst  |4 ++--
 external/curl/ExternalProject_curl.mk |1 +
 external/curl/curl-msvc-disable-protocols.patch.1 |   10 ++
 3 files changed, 9 insertions(+), 6 deletions(-)

New commits:
commit 394b7f93dd0cef150e404b57a2e7a53aa06c74b7
Author: Xisco Fauli 
AuthorDate: Wed Feb 5 15:07:33 2025 +0100
Commit: Christian Lohmaier 
CommitDate: Tue Feb 11 16:10:56 2025 +0100

curl: upgrade to 8.12.0

Downloaded from https://curl.se/download/curl-8.12.0.tar.xz

Windows build fails now with
WARNING:

The winbuild build system is deprecated and will be removed in
September 2025 in favor of the CMake build system.

Please see docs/INSTALL-CMAKE.md : "Migrating from winbuild builds"

To use the winbuild build system you must acknowledge this warning by
setting command line option WINBUILD_ACKNOWLEDGE_DEPRECATED=yes

Makefile.vc(37) : fatal error U1050: The user must acknowledge the 
deprecation warning to continue.
Stop.

so building with WINBUILD_ACKNOWLEDGE_DEPRECATED=yes for now until
the migration from winbuild is done

Change-Id: I5d357b20a93863c81f7637f43abbf7d3167f6dd2
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/181173
Tested-by: Jenkins
Reviewed-by: Xisco Fauli 
(cherry picked from commit 0843e1df9be6451d3462d0c907de945df30bbf68)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/181193
Reviewed-by: Taichi Haradaguchi <20001...@protonmail.com>
Tested-by: Christian Lohmaier 
Reviewed-by: Christian Lohmaier 

diff --git a/download.lst b/download.lst
index bd8af05dcde9..a4cafb3e6f04 100644
--- a/download.lst
+++ b/download.lst
@@ -80,8 +80,8 @@ CPPUNIT_TARBALL := cppunit-1.15.1.tar.gz
 # three static lines
 # so that git cherry-pick
 # will not run into conflicts
-CURL_SHA256SUM := 
c7ca7db48b0909743eaef34250da02c19bc61d4f1dcedd6603f109409536ab56
-CURL_TARBALL := curl-8.11.1.tar.xz
+CURL_SHA256SUM := 
9a4628c764be6b1a9909567c13e8e771041609df43b2158fcac4e05ea7097e5d
+CURL_TARBALL := curl-8.12.0.tar.xz
 # three static lines
 # so that git cherry-pick
 # will not run into conflicts
diff --git a/external/curl/ExternalProject_curl.mk 
b/external/curl/ExternalProject_curl.mk
index d44f8e77ee2c..78f8f45df60a 100644
--- a/external/curl/ExternalProject_curl.mk
+++ b/external/curl/ExternalProject_curl.mk
@@ -88,6 +88,7 @@ $(call gb_ExternalProject_get_state_target,curl,build):
ENABLE_IPV6=yes \
ENABLE_SSPI=yes \
ENABLE_WINSSL=yes \
+   WINBUILD_ACKNOWLEDGE_DEPRECATED=yes \
WITH_ZLIB=static \
,winbuild)
$(call gb_Trace_EndRange,curl,EXTERNAL)
diff --git a/external/curl/curl-msvc-disable-protocols.patch.1 
b/external/curl/curl-msvc-disable-protocols.patch.1
index 1c74fa63381b..fcf90b0ab2f8 100644
--- a/external/curl/curl-msvc-disable-protocols.patch.1
+++ b/external/curl/curl-msvc-disable-protocols.patch.1
@@ -2,9 +2,9 @@ disable protocols nobody needs in MSVC build
 
 --- curl/lib/config-win32.h.orig   2017-08-09 16:43:29.46400 +0200
 +++ curl/lib/config-win32.h2017-08-09 16:47:38.54920 +0200
-@@ -509,4 +509,20 @@
- /* If you want to build curl with the built-in manual */
- #define USE_MANUAL 1
+@@ -500,6 +500,22 @@
+ #  endif /* UNDER_CE */
+ #endif /* !CURL_OS */
  
 +#define CURL_DISABLE_DICT 1
 +#define CURL_DISABLE_FILE 1
@@ -22,7 +22,9 @@ disable protocols nobody needs in MSVC build
 +#define CURL_DISABLE_TELNET 1
 +#define CURL_DISABLE_TFTP 1
 +
- #endif /* HEADER_CURL_CONFIG_WIN32_H */
+ /*  */
+ /*Windows CE*/
+ /*  */
 --- curl/winbuild/MakefileBuild.vc.orig2017-10-23 23:41:21.39320 
+0200
 +++ curl/winbuild/MakefileBuild.vc 2017-10-23 23:34:16.02800 +0200
 @@ -562,7 +562,7 @@


help.git: AllLangHelp_scalc.mk source/text

2025-02-11 Thread Olivier Hallot (via logerrit)
 AllLangHelp_scalc.mk   |1 
 source/text/scalc/01/data_provider.xhp |   52 +
 2 files changed, 53 insertions(+)

New commits:
commit 84435ba08d96a46d9ced24ccd37599d2932e8932
Author: Olivier Hallot 
AuthorDate: Tue Feb 11 09:30:34 2025 -0300
Commit: Olivier Hallot 
CommitDate: Tue Feb 11 15:53:55 2025 +0100

tdf#137419 (part) Restore Data Provider Help page

+ Restore deleted help page
+ Refactor, add some bookmark entries, how-to-get ...
+ Page need further work once the feature is properly documented.

Change-Id: I7984ac16dd355f4df1e63bbbcd928109660b0cd5
Reviewed-on: https://gerrit.libreoffice.org/c/help/+/181419
Reviewed-by: Olivier Hallot 
Tested-by: Jenkins

diff --git a/AllLangHelp_scalc.mk b/AllLangHelp_scalc.mk
index f4ba1c742f..90601dbdb6 100644
--- a/AllLangHelp_scalc.mk
+++ b/AllLangHelp_scalc.mk
@@ -183,6 +183,7 @@ $(eval $(call gb_AllLangHelp_add_helpfiles,scalc,\
 helpcontent2/source/text/scalc/01/data_form \
 helpcontent2/source/text/scalc/01/databar_more_options \
 helpcontent2/source/text/scalc/01/database_table_reference \
+helpcontent2/source/text/scalc/01/data_provider \
 helpcontent2/source/text/scalc/01/default_number_formats \
 helpcontent2/source/text/scalc/01/DeleteNote \
 helpcontent2/source/text/scalc/01/DeleteAllNotes \
diff --git a/source/text/scalc/01/data_provider.xhp 
b/source/text/scalc/01/data_provider.xhp
new file mode 100644
index 00..156c56d862
--- /dev/null
+++ b/source/text/scalc/01/data_provider.xhp
@@ -0,0 +1,52 @@
+
+
+
+
+
+  
+Data Provider for Spreadsheet
+/text/scalc/01/data_provider.xhp
+  
+
+
+
+
+
+
+
+data provider;for spreadsheets
+
+
+
+Data Provider for 
Spreadsheets
+Data 
Provider for Spreadsheets
+
+
+
+  
+  On the 
Data tab, choose Data 
Provider.
+
+
+
+
+Data 
Provider
+
+
+
+


core.git: Branch 'libreoffice-24-8-5' - sc/source

2025-02-11 Thread Caolán McNamara (via logerrit)
 sc/source/core/data/documen8.cxx |5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

New commits:
commit b66790e7c6bfa3bcc892d7bef61dbf60b00735c0
Author: Caolán McNamara 
AuthorDate: Mon Feb 3 21:13:47 2025 +
Commit: Christian Lohmaier 
CommitDate: Tue Feb 11 16:17:21 2025 +0100

crashtesting: SvBaseLink::Update can invalidate later entries

e.g. load forum-mso-en4-62141.xls and update links

 #0  sfx2::LinkManager::Remove (this=0x270d720, pLink=0x27b5780) at 
core/sfx2/source/appl/linkmgr2.cxx:118
 #1  0x7fffa9813eef in ScDocument::UpdateRefAreaLinks (this=0x1f5d740, 
eUpdateRefMode=URM_INSDEL, rRange=..., nDx=0, nDy=-6, nDz=0)
 at core/sc/source/core/data/documen8.cxx:1141
 #2  0x7fffa97a8639 in ScDocument::UpdateReference (this=0x1f5d740, 
rCxt=..., pUndoDoc=0x0, bIncludeDraw=true, bUpdateNoteCaptionPos=false)
 at core/sc/source/core/data/documen3.cxx:1053
 #3  0x7fffa9829c9e in ScDocument::DeleteRow (this=0x1f5d740, 
nStartCol=1, nStartTab=0, nEndCol=7, nEndTab=0, nStartRow=3, nSize=6, 
pRefUndoDoc=0x0, pUndoOutline=0x0, pTabMark=0x0)
 at core/sc/source/core/data/document.cxx:1431
 #4  0x7fffa982a324 in ScDocument::DeleteRow (this=0x1f5d740, 
rRange=...) at core/sc/source/core/data/document.cxx:1484
 #5  0x7fffa982d1a4 in ScDocument::FitBlock (this=0x1f5d740, rOld=..., 
rNew=..., bClear=true) at core/sc/source/core/data/document.cxx:1883
 #6  0x7fffaa6c385d in ScAreaLink::Refresh
 (this=0x27b5780, 
rNewFile="http://stocks.tradingcharts.com/stocks/symbols/s/NYSE/Boeing";, 
rNewFilter="calc_HTML_WebQuery", rNewArea="HTML_2", nNewRefreshDelaySeconds=0)
 at core/sc/source/ui/docshell/arealink.cxx:365
 #7  0x7fffaa6c5069 in ScAreaLink::DataChanged (this=0x27b5780) at 
core/sc/source/ui/docshell/arealink.cxx:128
 #8  0x73ac81e1 in sfx2::SvBaseLink::Update (this=0x27b5780) at 
core/sfx2/source/appl/lnkbase2.cxx:324
 #9  0x7fffa98137b6 in ScDocument::UpdateAreaLinks (this=0x1f5d740) at 
core/sc/source/core/data/documen8.cxx:1058

Change-Id: Ie6c59b240d9a24cbf427be9c5bfda1660fe888c6
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/181078
Reviewed-by: Caolán McNamara 
Tested-by: Jenkins
(cherry picked from commit cdb0c1e5c99cdb9b31e24f50e96a9b254dd9fb33)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/181098
Reviewed-by: Xisco Fauli 
(cherry picked from commit 165b69e2afaead0a374bf3d73bcf31bda6338793)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/181103
Reviewed-by: Christian Lohmaier 
Tested-by: Christian Lohmaier 

diff --git a/sc/source/core/data/documen8.cxx b/sc/source/core/data/documen8.cxx
index 5fb5eec14acc..c6baa15ad059 100644
--- a/sc/source/core/data/documen8.cxx
+++ b/sc/source/core/data/documen8.cxx
@@ -1051,9 +1051,10 @@ void ScDocument::UpdateAreaLinks()
 return;
 
 const ::sfx2::SvBaseLinks& rLinks = pMgr->GetLinks();
-for (const auto & rLink : rLinks)
+// Note: SvBaseLink::Update can remove entries after the current one
+for (size_t i = 0; i < rLinks.size(); ++i)
 {
-::sfx2::SvBaseLink* pBase = rLink.get();
+::sfx2::SvBaseLink* pBase = rLinks[i].get();
 if (dynamic_cast( pBase) !=  nullptr)
 pBase->Update();
 }


core.git: Branch 'libreoffice-24-8-5' - desktop/source

2025-02-11 Thread Caolán McNamara (via logerrit)
 desktop/source/app/cmdlineargs.cxx |2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

New commits:
commit 49e7e203920500891e92d3a53b92b44c5f8abb1e
Author: Caolán McNamara 
AuthorDate: Thu Jan 30 20:37:38 2025 +
Commit: Christian Lohmaier 
CommitDate: Tue Feb 11 16:15:18 2025 +0100

Filter out more unwanted command URIs

Change-Id: I24c95d73b4fee89bdf044d5dd6efc9cd89627c54
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/181016
Tested-by: Jenkins
Reviewed-by: Xisco Fauli 
(cherry picked from commit 7105fb698f897ddb38bd60315444c07356689e14)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/181116
Reviewed-by: Caolán McNamara 
Reviewed-by: Christian Lohmaier 
Tested-by: Christian Lohmaier 

diff --git a/desktop/source/app/cmdlineargs.cxx 
b/desktop/source/app/cmdlineargs.cxx
index 09a0cd212947..50220e4db590 100644
--- a/desktop/source/app/cmdlineargs.cxx
+++ b/desktop/source/app/cmdlineargs.cxx
@@ -165,7 +165,7 @@ CommandLineEvent CheckOfficeURI(/* in,out */ OUString& arg, 
CommandLineEvent cur
 if (nURIlen < 0)
 nURIlen = rest2.getLength();
 auto const uri = rest2.subView(0, nURIlen);
-if (INetURLObject(uri).GetProtocol() == INetProtocol::Macro) {
+if (INetURLObject(uri).IsExoticProtocol()) {
 // Let the "Open" machinery process the full command URI (leading to 
failure, by intention,
 // as the "Open" machinery does not know about those command URI 
schemes):
 curEvt = CommandLineEvent::Open;


core.git: Branch 'libreoffice-24-8-5' - sw/source

2025-02-11 Thread Miklos Vajna (via logerrit)
 sw/source/writerfilter/dmapper/DomainMapperTableHandler.cxx |6 +-
 1 file changed, 5 insertions(+), 1 deletion(-)

New commits:
commit 933e1258318fd32b4a20b4a29ffe8435695fc53d
Author: Miklos Vajna 
AuthorDate: Thu Feb 6 08:35:33 2025 +0100
Commit: Christian Lohmaier 
CommitDate: Tue Feb 11 16:15:47 2025 +0100

writerfilter: fix crash in DomainMapperTableHandler::endTable()

Crashreport signature:

/opt/rh/devtoolset-12/root/usr/include/c++/12/bits/stl_stack.h:234: 
std::stack<_Tp, _Sequence>::reference std::stack<_Tp, _Sequence>::top() [with 
_Tp = writerfilter::dmapper::TextAppendContext; _Sequence = 
std::deque >; reference = 
writerfilter::dmapper::TextAppendContext&]: Assertion '!this->empty()' failed.

SIG   Fatal signal received: SIGABRT code: 18446744073709551610 for 
address: 0x734d65

program/libwriterfilterlo.so
  writerfilter::dmapper::DomainMapper_Impl::GetTopTextAppend()
  
/opt/rh/devtoolset-12/root/usr/include/c++/12/bits/stl_stack.h:234
program/libwriterfilterlo.so
  writerfilter::dmapper::DomainMapperTableHandler::endTable(unsigned 
int)
  
workdir/UnoApiHeadersTarget/offapi/normal/com/sun/star/text/XTextAppendAndConvert.hpp:23
program/libwriterfilterlo.so
  writerfilter::dmapper::TableManager::resolveCurrentTable()
  include/tools/ref.hxx:56
program/libwriterfilterlo.so
  writerfilter::dmapper::TableManager::endLevel()
  writerfilter/source/dmapper/TableManager.cxx:461

It seems the trouble is that DomainMapperTableHandler::endTable() calls
GetTopTextAppend() unconditionally, which asserts that the text append
stack is non-empty. GetCurrentXText() already check if this stack is
empty, so use that to check for emptyness and only then get the top of
the stack. Later DomainMapperTableHandler::endTable() already checks if
xTextAppendAndConvert is an empty reference or not.

Change-Id: Ibb377cb03f8beaed9b3c9d45e322c8ad1f9d26c3
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/181231
Tested-by: Jenkins
Reviewed-by: Miklos Vajna 
(cherry picked from commit 7192e3e5d6f875e4e9d2eda6de9e1f31c4917f62)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/181242
Reviewed-by: Xisco Fauli 
(cherry picked from commit 5d678aa14046041efef1e025fcc1c064e2d59efd)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/181261
Tested-by: Christian Lohmaier 
Reviewed-by: Christian Lohmaier 

diff --git a/sw/source/writerfilter/dmapper/DomainMapperTableHandler.cxx 
b/sw/source/writerfilter/dmapper/DomainMapperTableHandler.cxx
index 6c2a72ddeb9e..4962794c0c40 100644
--- a/sw/source/writerfilter/dmapper/DomainMapperTableHandler.cxx
+++ b/sw/source/writerfilter/dmapper/DomainMapperTableHandler.cxx
@@ -1661,7 +1661,11 @@ void DomainMapperTableHandler::endTable(unsigned int 
nestedTableLevel)
 sal_Int32 nTableWidthType = text::SizeType::FIX;
 m_aTableProperties->getValue(TablePropertyMap::TABLE_WIDTH_TYPE, 
nTableWidthType);
 // m_xText points to the body text, get the current xText from 
m_rDMapper_Impl, in case e.g. we would be in a header.
-uno::Reference 
xTextAppendAndConvert(m_rDMapper_Impl.GetTopTextAppend(), uno::UNO_QUERY);
+uno::Reference xTextAppendAndConvert;
+if (m_rDMapper_Impl.GetCurrentXText())
+{
+xTextAppendAndConvert.set(m_rDMapper_Impl.GetTopTextAppend(), 
uno::UNO_QUERY);
+}
 uno::Reference xFrameAnchor;
 
 // Writer layout has problems with redlines on floating table rows 
in footnotes, avoid


core.git: sw/qa sw/source

2025-02-11 Thread Oliver Specht (via logerrit)
 sw/qa/extras/ooxmlexport/data/tdf164176.docx |binary
 sw/qa/extras/ooxmlexport/ooxmlexport21.cxx   |   14 ++
 sw/source/writerfilter/dmapper/SettingsTable.cxx |4 +++-
 3 files changed, 17 insertions(+), 1 deletion(-)

New commits:
commit 9647aded124c17e97db1bf7bb071136c7f91cb90
Author: Oliver Specht 
AuthorDate: Thu Dec 5 07:48:10 2024 +0100
Commit: Gabor Kelemen 
CommitDate: Tue Feb 11 16:33:21 2025 +0100

tdf#164176 Import multiline document variable with break

Converts the '_x000d_' or '_x000d__x000a_' to a paragraph break in docx 
import.

Change-Id: Ib8b5203338e987028279711928d3aecb9cedd836
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/177838
Tested-by: Jenkins
Reviewed-by: Gabor Kelemen 
Tested-by: Gabor Kelemen 

diff --git a/sw/qa/extras/ooxmlexport/data/tdf164176.docx 
b/sw/qa/extras/ooxmlexport/data/tdf164176.docx
new file mode 100644
index ..2d93cfd3765d
Binary files /dev/null and b/sw/qa/extras/ooxmlexport/data/tdf164176.docx differ
diff --git a/sw/qa/extras/ooxmlexport/ooxmlexport21.cxx 
b/sw/qa/extras/ooxmlexport/ooxmlexport21.cxx
index 91bf853c784c..89ba838e10ba 100644
--- a/sw/qa/extras/ooxmlexport/ooxmlexport21.cxx
+++ b/sw/qa/extras/ooxmlexport/ooxmlexport21.cxx
@@ -17,6 +17,7 @@
 #include 
 #include 
 #include 
+#include 
 #include 
 #include 
 #include 
@@ -1242,6 +1243,19 @@ CPPUNIT_TEST_FIXTURE(Test, testTdf164474)
 }
 }
 
+DECLARE_OOXMLEXPORT_TEST(testTdf164176, "tdf164176.docx")
+{
+uno::Reference xTextFieldsSupplier(mxComponent, 
uno::UNO_QUERY);
+uno::Reference xFieldsAccess(
+xTextFieldsSupplier->getTextFields());
+uno::Reference 
xFields(xFieldsAccess->createEnumeration());
+
+uno::Reference 
xEnumerationAccess1(xFields->nextElement(), uno::UNO_QUERY);
+rtl::OUString sPresentation = 
xEnumerationAccess1->getPresentation(true).trim();
+CPPUNIT_ASSERT_EQUAL(sal_Int32(-1), sPresentation.indexOf("_x000d_"));
+CPPUNIT_ASSERT_EQUAL(sal_Int32(-1), sPresentation.indexOf("_x000a_"));
+}
+
 } // end of anonymous namespace
 CPPUNIT_PLUGIN_IMPLEMENT();
 
diff --git a/sw/source/writerfilter/dmapper/SettingsTable.cxx 
b/sw/source/writerfilter/dmapper/SettingsTable.cxx
index b4bf82541484..7ec07453d4f6 100644
--- a/sw/source/writerfilter/dmapper/SettingsTable.cxx
+++ b/sw/source/writerfilter/dmapper/SettingsTable.cxx
@@ -215,7 +215,9 @@ void SettingsTable::lcl_attribute(Id nName, const Value & 
val)
 m_pImpl->m_aDocVars.back().first = sStringValue;
 break;
 case NS_ooxml::LN_CT_DocVar_val:
-m_pImpl->m_aDocVars.back().second = sStringValue;
+m_pImpl->m_aDocVars.back().second =
+sStringValue.replaceAll("_x000d__x000a_", "
")
+.replaceAll("_x000d_", "
");
 break;
 case NS_ooxml::LN_CT_CompatSetting_name:
 m_pImpl->m_aCurrentCompatSettingName = sStringValue;


core.git: slideshow/source

2025-02-11 Thread sid-sg (via logerrit)
 slideshow/source/engine/activities/accumulation.hxx   |5 +
 slideshow/source/engine/activities/activitybase.hxx   |5 +
 slideshow/source/engine/activities/activityparameters.hxx |5 +
 slideshow/source/engine/activities/continuousactivitybase.hxx |5 +
 4 files changed, 4 insertions(+), 16 deletions(-)

New commits:
commit b3503b8b33093e4143d0507dc565eb9546d4c14f
Author: sid-sg 
AuthorDate: Sun Jan 12 02:03:04 2025 +0530
Commit: Ilmari Lauhakangas 
CommitDate: Wed Feb 12 07:10:30 2025 +0100

tdf#143148: Replace include guards with #pragma once in slideshow module

Change-Id: Id48764be9df30bee8d5a803ea78097db9c5c41e8
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/180129
Reviewed-by: Ilmari Lauhakangas 
Tested-by: Jenkins
Reviewed-by: Simon Chenery 

diff --git a/slideshow/source/engine/activities/accumulation.hxx 
b/slideshow/source/engine/activities/accumulation.hxx
index ec04195597af..66e0cdedd930 100644
--- a/slideshow/source/engine/activities/accumulation.hxx
+++ b/slideshow/source/engine/activities/accumulation.hxx
@@ -17,8 +17,7 @@
  *   the License at http://www.apache.org/licenses/LICENSE-2.0 .
  */
 
-#ifndef INCLUDED_SLIDESHOW_SOURCE_ENGINE_ACTIVITIES_ACCUMULATION_HXX
-#define INCLUDED_SLIDESHOW_SOURCE_ENGINE_ACTIVITIES_ACCUMULATION_HXX
+#pragma once
 
 #include 
 #include 
@@ -79,6 +78,4 @@ namespace slideshow::internal
 
 }
 
-#endif // INCLUDED_SLIDESHOW_SOURCE_ENGINE_ACTIVITIES_ACCUMULATION_HXX
-
 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/slideshow/source/engine/activities/activitybase.hxx 
b/slideshow/source/engine/activities/activitybase.hxx
index e76c84d8e6c5..c341ad5cfbe0 100644
--- a/slideshow/source/engine/activities/activitybase.hxx
+++ b/slideshow/source/engine/activities/activitybase.hxx
@@ -17,8 +17,7 @@
  *   the License at http://www.apache.org/licenses/LICENSE-2.0 .
  */
 
-#ifndef INCLUDED_SLIDESHOW_SOURCE_ENGINE_ACTIVITIES_ACTIVITYBASE_HXX
-#define INCLUDED_SLIDESHOW_SOURCE_ENGINE_ACTIVITIES_ACTIVITYBASE_HXX
+#pragma once
 
 #include 
 #include "activityparameters.hxx"
@@ -138,6 +137,4 @@ private:
 
 } // namespace presentation::internal
 
-#endif // INCLUDED_SLIDESHOW_SOURCE_ENGINE_ACTIVITIES_ACTIVITYBASE_HXX
-
 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/slideshow/source/engine/activities/activityparameters.hxx 
b/slideshow/source/engine/activities/activityparameters.hxx
index 9df762838530..01eeebe6c91c 100644
--- a/slideshow/source/engine/activities/activityparameters.hxx
+++ b/slideshow/source/engine/activities/activityparameters.hxx
@@ -17,8 +17,7 @@
  *   the License at http://www.apache.org/licenses/LICENSE-2.0 .
  */
 
-#ifndef INCLUDED_SLIDESHOW_SOURCE_ENGINE_ACTIVITIES_ACTIVITYPARAMETERS_HXX
-#define INCLUDED_SLIDESHOW_SOURCE_ENGINE_ACTIVITIES_ACTIVITYPARAMETERS_HXX
+#pragma once
 
 #include 
 #include 
@@ -129,6 +128,4 @@ struct ActivityParameters
 
 } // namespace presentation::internal
 
-#endif // INCLUDED_SLIDESHOW_SOURCE_ENGINE_ACTIVITIES_ACTIVITYPARAMETERS_HXX
-
 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/slideshow/source/engine/activities/continuousactivitybase.hxx 
b/slideshow/source/engine/activities/continuousactivitybase.hxx
index 8fd19d421e0c..c6421ea9d461 100644
--- a/slideshow/source/engine/activities/continuousactivitybase.hxx
+++ b/slideshow/source/engine/activities/continuousactivitybase.hxx
@@ -17,8 +17,7 @@
  *   the License at http://www.apache.org/licenses/LICENSE-2.0 .
  */
 
-#ifndef INCLUDED_SLIDESHOW_SOURCE_ENGINE_ACTIVITIES_CONTINUOUSACTIVITYBASE_HXX
-#define INCLUDED_SLIDESHOW_SOURCE_ENGINE_ACTIVITIES_CONTINUOUSACTIVITYBASE_HXX
+#pragma once
 
 #include "simplecontinuousactivitybase.hxx"
 
@@ -60,6 +59,4 @@ namespace slideshow::internal
 
 }
 
-#endif // 
INCLUDED_SLIDESHOW_SOURCE_ENGINE_ACTIVITIES_CONTINUOUSACTIVITYBASE_HXX
-
 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */


core.git: basic/source

2025-02-11 Thread Simon Chenery (via logerrit)
 basic/source/runtime/methods.cxx |2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

New commits:
commit 6586dbe9569be562c5be1982d488417fb08b082e
Author: Simon Chenery 
AuthorDate: Tue Feb 11 17:59:27 2025 +0100
Commit: Mike Kaganski 
CommitDate: Wed Feb 12 07:41:21 2025 +0100

tdf#154285 Check too many arguments to SbRtl_Abs() for BASIC ABS function

Change-Id: I82f1df998afca37f5e14baacc9c36339596724ec
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/181447
Tested-by: Jenkins
Reviewed-by: Mike Kaganski 

diff --git a/basic/source/runtime/methods.cxx b/basic/source/runtime/methods.cxx
index d9cdd59cd053..e1353bb5d66d 100644
--- a/basic/source/runtime/methods.cxx
+++ b/basic/source/runtime/methods.cxx
@@ -287,7 +287,7 @@ void SbRtl_Atn(StarBASIC *, SbxArray & rPar, bool)
 
 void SbRtl_Abs(StarBASIC *, SbxArray & rPar, bool)
 {
-if (rPar.Count() < 2)
+if (rPar.Count() != 2)
 return StarBASIC::Error( ERRCODE_BASIC_BAD_ARGUMENT );
 
 SbxVariableRef pArg = rPar.Get(1);


core.git: 3 commits - include/vcl vcl/inc vcl/source

2025-02-11 Thread Michael Weghorn (via logerrit)
 include/vcl/accessibility/AccessibleBrowseBox.hxx |7 -
 include/vcl/accessibility/AccessibleBrowseBoxBase.hxx |   64 --
 include/vcl/accessibility/AccessibleBrowseBoxCheckBoxCell.hxx |   18 --
 include/vcl/accessibility/AccessibleBrowseBoxHeaderCell.hxx   |2 
 include/vcl/accessibility/AccessibleBrowseBoxTableBase.hxx|8 -
 include/vcl/accessibility/AccessibleBrowseBoxTableCell.hxx|9 -
 vcl/inc/accessibility/vclxaccessiblelistitem.hxx  |2 
 vcl/source/accessibility/AccessibleBrowseBox.cxx  |   13 --
 vcl/source/accessibility/AccessibleBrowseBoxBase.cxx  |   39 +-
 vcl/source/accessibility/AccessibleBrowseBoxCheckBoxCell.cxx  |   27 +---
 vcl/source/accessibility/AccessibleBrowseBoxHeaderCell.cxx|   17 +-
 vcl/source/accessibility/AccessibleBrowseBoxTableBase.cxx |7 -
 vcl/source/accessibility/AccessibleBrowseBoxTableCell.cxx |   11 -
 vcl/source/accessibility/vclxaccessiblelistitem.cxx   |   34 +
 14 files changed, 55 insertions(+), 203 deletions(-)

New commits:
commit f1fdedb2f5d1ab108678c07cdce2a5d692ff1760
Author: Michael Weghorn 
AuthorDate: Tue Feb 11 11:21:29 2025 +0100
Commit: Michael Weghorn 
CommitDate: Wed Feb 12 08:06:57 2025 +0100

listbox a11y: Consistently lock (only) SolarMutex

So far, some of the public XAccessible* method implementations
were locking only the SolarMutex, some were locking only
`m_aMutex` and some were locking both.

Unify that to always lock only the SolarMutex in
all of those methods.

Change-Id: Ia6e7655d47a372d4b70d3c7de8715881b9aaddc5
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/181428
Reviewed-by: Michael Weghorn 
Tested-by: Jenkins

diff --git a/vcl/inc/accessibility/vclxaccessiblelistitem.hxx 
b/vcl/inc/accessibility/vclxaccessiblelistitem.hxx
index b6b1e7e9cc47..271db9613648 100644
--- a/vcl/inc/accessibility/vclxaccessiblelistitem.hxx
+++ b/vcl/inc/accessibility/vclxaccessiblelistitem.hxx
@@ -75,7 +75,7 @@ private:
 virtual css::lang::Locale   implGetLocale() override;
 virtual voidimplGetSelection( sal_Int32& 
nStartIndex, sal_Int32& nEndIndex ) override;
 
-OUString getTextRangeImpl(std::unique_lock& rGuard, sal_Int32 
nStartIndex, sal_Int32 nEndIndex);
+OUString getTextRangeImpl(sal_Int32 nStartIndex, sal_Int32 nEndIndex);
 
 public:
 /** OAccessibleBase needs a valid view
diff --git a/vcl/source/accessibility/vclxaccessiblelistitem.cxx 
b/vcl/source/accessibility/vclxaccessiblelistitem.cxx
index 6465f627a717..4810324f08c3 100644
--- a/vcl/source/accessibility/vclxaccessiblelistitem.cxx
+++ b/vcl/source/accessibility/vclxaccessiblelistitem.cxx
@@ -201,7 +201,7 @@ Reference< XAccessible > SAL_CALL 
VCLXAccessibleListItem::getAccessibleChild( sa
 
 Reference< XAccessible > SAL_CALL VCLXAccessibleListItem::getAccessibleParent( 
 )
 {
-std::unique_lock aGuard( m_aMutex );
+SolarMutexGuard aSolarGuard;
 
 return m_xParent;
 }
@@ -225,7 +225,7 @@ OUString SAL_CALL 
VCLXAccessibleListItem::getAccessibleDescription(  )
 
 OUString SAL_CALL VCLXAccessibleListItem::getAccessibleName(  )
 {
-std::unique_lock aGuard( m_aMutex );
+SolarMutexGuard aSolarGuard;
 
 // entry text == accessible name
 return m_sEntryText;
@@ -238,7 +238,7 @@ Reference< XAccessibleRelationSet > SAL_CALL 
VCLXAccessibleListItem::getAccessib
 
 sal_Int64 SAL_CALL VCLXAccessibleListItem::getAccessibleStateSet(  )
 {
-std::unique_lock aGuard( m_aMutex );
+SolarMutexGuard aSolarGuard;
 
 sal_Int64 nStateSet = 0;
 
@@ -271,7 +271,6 @@ sal_Int64 SAL_CALL 
VCLXAccessibleListItem::getAccessibleStateSet(  )
 Locale SAL_CALL VCLXAccessibleListItem::getLocale(  )
 {
 SolarMutexGuard aSolarGuard;
-std::unique_lock aGuard( m_aMutex );
 
 return implGetLocale();
 }
@@ -281,7 +280,6 @@ Locale SAL_CALL VCLXAccessibleListItem::getLocale(  )
 sal_Bool SAL_CALL VCLXAccessibleListItem::containsPoint( const awt::Point& 
_aPoint )
 {
 SolarMutexGuard aSolarGuard;
-std::unique_lock aGuard( m_aMutex );
 
 bool bInside = false;
 IComboListBoxHelper* pListBoxHelper = m_xParent.is() ? 
m_xParent->getListBoxHelper() : nullptr;
@@ -302,7 +300,6 @@ Reference< XAccessible > SAL_CALL 
VCLXAccessibleListItem::getAccessibleAtPoint(
 awt::Rectangle SAL_CALL VCLXAccessibleListItem::getBounds(  )
 {
 SolarMutexGuard aSolarGuard;
-std::unique_lock aGuard( m_aMutex );
 
 awt::Rectangle aRect;
 IComboListBoxHelper* pListBoxHelper = m_xParent.is() ? 
m_xParent->getListBoxHelper() : nullptr;
@@ -316,7 +313,6 @@ awt::Rectangle SAL_CALL VCLXAccessibleListItem::getBounds(  
)
 awt::Point SAL_CALL VCLXAccessibleListItem::getLocation(  )
 {
 SolarMutexGuard aSolarGuard;
-std::unique_lock aGuard( m_aMutex );
 
 Point aPoint(0,0);
 IComboListBoxHelper* pListBoxHelper = m_xParent.is() ? 
m_xParent->getLi

core.git: 3 commits - vcl/inc vcl/source

2025-02-11 Thread Michael Weghorn (via logerrit)
 vcl/inc/accessibility/listboxhelper.hxx |5 --
 vcl/inc/accessibility/vclxaccessiblelist.hxx|6 +-
 vcl/inc/accessibility/vclxaccessiblelistitem.hxx|3 +
 vcl/source/accessibility/vclxaccessiblelist.cxx |   30 
 vcl/source/accessibility/vclxaccessiblelistitem.cxx |   50 +++-
 5 files changed, 36 insertions(+), 58 deletions(-)

New commits:
commit 59640987b0e45b6b58ca48dda0ac036ba47e42ca
Author: Michael Weghorn 
AuthorDate: Tue Feb 11 14:58:34 2025 +0100
Commit: Michael Weghorn 
CommitDate: Wed Feb 12 08:07:14 2025 +0100

list a11y: Fix parent-relative position

So far, VCLXAccessibleList::implGetBounds
(which is supposed to report the bounds relative
to the direct parent) and VCLXAccessibleList::getLocationOnScreen
(which is supposed to report the absolte screen position)
were mostly duplicating the logic.

VCLXAccessibleList::getLocationOnScreen seems correct,
but VCLXAccessibleList::implGetBounds reported an
incorrect position for an expanded combobox list.

This is because VCLListBoxHelper::GetDropDownPosSizePixel
was returning a screen position, not a position relative
to the parent.

Fix this by:

* Making VCLListBoxHelper::GetDropDownPosSizePixel return
  a parent-relative position instead.
* Adjusting VCLXAccessibleList::getLocationOnScreen to
  not duplicate most of the logic, but calling
  VCLXAccessibleList::implGetBounds to get the
  parent-relative position and then adding the
  parent's screen position to get the own screen
  position.

The fact that the parent-relative position is incorrect
was noticed while working on fixing the parent-relative
position reported by VCLXAccessibleListItem and even
with an issue in the implementation there, the incorrect
position was still reported.
(The VCLXAccessibleListItem will be done in a separate
upcoming commit.)

Change-Id: I322327753ceec7bc7912ec13c45e208a79dd6976
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/181431
Reviewed-by: Michael Weghorn 
Tested-by: Jenkins

diff --git a/vcl/inc/accessibility/listboxhelper.hxx 
b/vcl/inc/accessibility/listboxhelper.hxx
index 5fd43e6eedd1..907524641734 100644
--- a/vcl/inc/accessibility/listboxhelper.hxx
+++ b/vcl/inc/accessibility/listboxhelper.hxx
@@ -49,10 +49,7 @@ public:
 
 virtual tools::Rectangle   GetDropDownPosSizePixel() const override
 {
-AbsoluteScreenPixelRectangle aTemp = 
m_aComboListBox.GetWindowExtentsAbsolute();
-tools::Rectangle aRet = m_aComboListBox.GetDropDownPosSizePixel();
-aRet.Move(aTemp.Left(), aTemp.Top());
-return aRet;
+return m_aComboListBox.GetDropDownPosSizePixel();
 }
 
 virtual tools::Rectangle   GetBoundingRectangle( sal_uInt16 nItem ) 
const override
diff --git a/vcl/source/accessibility/vclxaccessiblelist.cxx 
b/vcl/source/accessibility/vclxaccessiblelist.cxx
index ed166c7274be..784c04cfbd9f 100644
--- a/vcl/source/accessibility/vclxaccessiblelist.cxx
+++ b/vcl/source/accessibility/vclxaccessiblelist.cxx
@@ -882,7 +882,8 @@ awt::Rectangle VCLXAccessibleList::implGetBounds()
 else
 {
 // a list has the same bounds as his parent but starts at (0,0)
-aBounds = VCLXAccessibleComponent::implGetBounds();
+if (m_xParent)
+aBounds = m_xParent->getBounds();
 aBounds.X = 0;
 aBounds.Y = 0;
 if ( m_aBoxType == COMBOBOX )
@@ -905,26 +906,15 @@ awt::Point VCLXAccessibleList::getLocationOnScreen(  )
 SolarMutexGuard aSolarGuard;
 ::osl::Guard< ::osl::Mutex > aGuard( GetMutex() );
 
-awt::Point aPos;
-if ( m_pListBoxHelper
-&& (m_pListBoxHelper->GetStyle() & WB_DROPDOWN ) == WB_DROPDOWN )
+awt::Rectangle aBounds = implGetBounds();
+awt::Point aPos(aBounds.X, aBounds.Y);
+if (m_xParent.is())
 {
-if ( m_pListBoxHelper->IsInDropDown() )
-aPos = vcl::unohelper::ConvertToAWTPoint(
-m_pListBoxHelper->GetDropDownPosSizePixel().TopLeft());
-}
-else
-{
-aPos = VCLXAccessibleComponent::getLocationOnScreen();
-if ( m_aBoxType == COMBOBOX )
-{
-VclPtr< ComboBox > pBox = GetAs< ComboBox >();
-if ( pBox )
-{
-aPos.Y += pBox->GetSubEdit()->GetSizePixel().Height();
-}
-}
+awt::Point aParentLocation = m_xParent->getLocationOnScreen();
+aPos.X += aParentLocation.X;
+aPos.Y += aParentLocation.Y;
 }
+
 return aPos;
 }
 
commit 7bcd976db8b29b86b49bdb4c33d07ef156f1fa8f
Author: Michael Weghorn 
AuthorDate: Tue Feb 11 14:44:30 2025 +0100
Commit: Michael Weghorn 
CommitDate: Wed Feb 12 08:07:08 2025 +0100

list a11y: Use ref to concrete VCLXAccessibleBox

This will come in handy when simplifying and fixing
VCLXAcces

core.git: 2 commits - vcl/inc vcl/source

2025-02-11 Thread Michael Weghorn (via logerrit)
 vcl/inc/accessibility/vclxaccessiblelistitem.hxx|   38 +-
 vcl/source/accessibility/vclxaccessiblelistitem.cxx |  122 ++--
 2 files changed, 24 insertions(+), 136 deletions(-)

New commits:
commit 95aaa121a5705a029f147a92d5818469c161ce92
Author: Michael Weghorn 
AuthorDate: Tue Feb 11 15:32:59 2025 +0100
Commit: Michael Weghorn 
CommitDate: Wed Feb 12 08:07:25 2025 +0100

list item a11y: Use comphelper::OAccessibleComponentHelper

Let VCLXAccessibleListItem subclass
comphelper::OAccessibleComponentHelper which already
implements the logic for event handling and most of the
location/bounds handling, instead of duplicating the
logic here.

The existing VCLXAccessibleListItem::implGetBounds
basically already implements the logic needed to override
the purely virtual
comphelper::OAccessibleComponentHelper::implGetBounds,
only the required conversion from tools::Rectangle to awt::Rectangle
is still added in this commit.

Tested as described in more detail in previous commit

Change-Id: I53c686276537713fec604eb22d19be2331ce1f56
Author: Michael Weghorn 
Date:   Tue Feb 11 15:13:41 2025 +0100

list item a11y: Fix parent-relative position

with no change in behavior noticed (now that the issues
detected previously have been addressed in previous
commits already in preparation for this commit).

Change-Id: I74e53e3297948977bed1b8608468dc8378859426
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/181433
Tested-by: Jenkins
Reviewed-by: Michael Weghorn 

diff --git a/vcl/inc/accessibility/vclxaccessiblelistitem.hxx 
b/vcl/inc/accessibility/vclxaccessiblelistitem.hxx
index 5345de57ffe9..e3d3b87abc35 100644
--- a/vcl/inc/accessibility/vclxaccessiblelistitem.hxx
+++ b/vcl/inc/accessibility/vclxaccessiblelistitem.hxx
@@ -21,10 +21,7 @@
 
 #include 
 #include 
-#include 
-#include 
 #include 
-#include 
 #include 
 #include 
 #include 
@@ -42,18 +39,13 @@ namespace com::sun::star::awt {
 
 // class VCLXAccessibleListItem --
 
-typedef ::comphelper::WeakComponentImplHelper< css::accessibility::XAccessible
-, 
css::accessibility::XAccessibleContext
-, 
css::accessibility::XAccessibleComponent
-, 
css::accessibility::XAccessibleEventBroadcaster
-, 
css::accessibility::XAccessibleText
-, css::lang::XServiceInfo > 
VCLXAccessibleListItem_BASE;
-
 /** the class OAccessibleListBoxEntry represents the base class for an 
accessible object of a listbox entry
 */
-class VCLXAccessibleListItem final :
- public 
::comphelper::OCommonAccessibleText,
- public VCLXAccessibleListItem_BASE
+class VCLXAccessibleListItem final
+: public cppu::ImplInheritanceHelper<
+  comphelper::OAccessibleComponentHelper, 
css::accessibility::XAccessible,
+  css::accessibility::XAccessibleText, css::lang::XServiceInfo>,
+  public comphelper::OCommonAccessibleText
 {
 private:
 OUStringm_sEntryText;
@@ -61,22 +53,19 @@ private:
 boolm_bSelected;
 boolm_bVisible;
 
-/// client id in the AccessibleEventNotifier queue
-sal_uInt32  m_nClientId;
-
 rtl::Reference< VCLXAccessibleList > m_xParent;
 
 virtual ~VCLXAccessibleListItem() override = default;
-/** this function is called upon disposing the component
-*/
-virtual void disposing(std::unique_lock& rGuard) override;
+
+virtual void SAL_CALL disposing() override;
 
 // OCommonAccessibleText
 virtual OUStringimplGetText() override;
 virtual css::lang::Locale   implGetLocale() override;
 virtual voidimplGetSelection( sal_Int32& 
nStartIndex, sal_Int32& nEndIndex ) override;
 
-tools::Rectangle implGetBounds();
+// OCommonAccessibleComponent
+virtual css::awt::Rectangle implGetBounds() override;
 
 OUString getTextRangeImpl(sal_Int32 nStartIndex, sal_Int32 nEndIndex);
 
@@ -120,12 +109,7 @@ public:
 virtual css::lang::Locale SAL_CALL getLocale(  ) override;
 
 // XAccessibleComponent
-virtual sal_Bool SAL_CALL containsPoint( const css::awt::Point& aPoint ) 
override;
 virtual css::uno::Reference< css::accessibility::XAccessible > SAL_CALL 
getAccessibleAtPoint( const css::awt::Point& aPoint ) override;
-virtual css::awt::Rectangle SAL_CALL getBounds(  ) override;
-virtual css::awt::Point SAL_CALL getLocation(  ) override;
-virtual css::awt::Point SAL_CALL getLocationOnScreen(  ) override;
-vi

core.git: sc/inc sc/source

2025-02-11 Thread Xisco Fauli (via logerrit)
 sc/inc/scfuncs.hrc   |   12 
 sc/source/core/data/funcdesc.cxx |4 ++--
 sc/source/core/tool/parclass.cxx |4 ++--
 sc/source/filter/excel/xlformula.cxx |4 ++--
 sc/source/filter/oox/formulabase.cxx |4 ++--
 5 files changed, 12 insertions(+), 16 deletions(-)

New commits:
commit 7a2fec66b5f2c527b79db312135e3691bb8b56ac
Author: Xisco Fauli 
AuthorDate: Tue Feb 11 16:44:36 2025 +0100
Commit: Xisco Fauli 
CommitDate: Tue Feb 11 20:57:44 2025 +0100

tdf#165119: fix number of parameters in CHOOSECOLS/CHOOSEROWS

Change-Id: I39fee81e0fc8aaa33265a3539bd4e6dff5d9d2e8
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/181439
Tested-by: Jenkins
Reviewed-by: Xisco Fauli 

diff --git a/sc/inc/scfuncs.hrc b/sc/inc/scfuncs.hrc
index ab93fde00834..8f9e795955b7 100644
--- a/sc/inc/scfuncs.hrc
+++ b/sc/inc/scfuncs.hrc
@@ -4257,10 +4257,8 @@ const TranslateId SC_OPCODE_CHOOSECOLS_ARY[] =
 NC_("SC_OPCODE_CHOOSECOLS", "Returns the specified columns from an 
array."),
 NC_("SC_OPCODE_CHOOSECOLS", "Array"),
 NC_("SC_OPCODE_CHOOSECOLS", "The array containing the columns to be 
returned in the new array."),
-NC_("SC_OPCODE_CHOOSECOLS", "Column 1"),
-NC_("SC_OPCODE_CHOOSECOLS", "The number of the first column to be 
returned."),
-NC_("SC_OPCODE_CHOOSECOLS", "Column 2"),
-NC_("SC_OPCODE_CHOOSECOLS", "Column 2, Column 3,... The list of column 
numbers to be returned.")
+NC_("SC_OPCODE_CHOOSECOLS", "Column "),
+NC_("SC_OPCODE_CHOOSECOLS", "Column 1, Column 2,... The list of column 
numbers to be returned.")
 };
 
 // -=*# Resource for function CHOOSEROWS #*=-
@@ -4269,10 +4267,8 @@ const TranslateId SC_OPCODE_CHOOSEROWS_ARY[] =
 NC_("SC_OPCODE_CHOOSEROWS", "Returns the specified rows from an array."),
 NC_("SC_OPCODE_CHOOSEROWS", "Array"),
 NC_("SC_OPCODE_CHOOSEROWS", "The array containing the rows to be returned 
in the new array."),
-NC_("SC_OPCODE_CHOOSEROWS", "Row 1"),
-NC_("SC_OPCODE_CHOOSEROWS", "The number of the first row to be returned."),
-NC_("SC_OPCODE_CHOOSEROWS", "Row 2"),
-NC_("SC_OPCODE_CHOOSEROWS", "Row 2, Row 3,... The list of row numbers to 
be returned.")
+NC_("SC_OPCODE_CHOOSEROWS", "Row "),
+NC_("SC_OPCODE_CHOOSEROWS", "Row 1, Row 2,... The list of row numbers to 
be returned.")
 };
 
 // -=*# Resource for function DROP #*=-
diff --git a/sc/source/core/data/funcdesc.cxx b/sc/source/core/data/funcdesc.cxx
index a916d380f651..a8eec7591813 100644
--- a/sc/source/core/data/funcdesc.cxx
+++ b/sc/source/core/data/funcdesc.cxx
@@ -793,8 +793,8 @@ ScFunctionList::ScFunctionList( bool bEnglishFunctionNames )
 { SC_OPCODE_SORTBY, ENTRY(SC_OPCODE_SORTBY_ARY), 0, 
ID_FUNCTION_GRP_TABLE, HID_FUNC_SORTBY_MS, PAIRED_VAR_ARGS + 1, { 0, 0, 1 }, 0 
},
 { SC_OPCODE_MAT_SEQUENCE, ENTRY(SC_OPCODE_MAT_SEQUENCE_ARY), 0, 
ID_FUNCTION_GRP_MATRIX, HID_FUNC_MSEQUENCE_MS, 4, { 0, 1, 1, 1 }, 0 },
 { SC_OPCODE_RANDARRAY, ENTRY(SC_OPCODE_RANDARRAY_ARY), 0, 
ID_FUNCTION_GRP_MATH, HID_FUNC_RANDARRAY_MS, 5, { 1, 1, 1, 1, 1 }, 0 },
-{ SC_OPCODE_CHOOSECOLS, ENTRY(SC_OPCODE_CHOOSECOLS_ARY), 0, 
ID_FUNCTION_GRP_TABLE, HID_FUNC_CHOOSECOLS_MS, VAR_ARGS + 2, { 0, 0, 1 }, 0 },
-{ SC_OPCODE_CHOOSEROWS, ENTRY(SC_OPCODE_CHOOSEROWS_ARY), 0, 
ID_FUNCTION_GRP_TABLE, HID_FUNC_CHOOSEROWS_MS, VAR_ARGS + 2, { 0, 0, 1 }, 0 },
+{ SC_OPCODE_CHOOSECOLS, ENTRY(SC_OPCODE_CHOOSECOLS_ARY), 0, 
ID_FUNCTION_GRP_TABLE, HID_FUNC_CHOOSECOLS_MS, VAR_ARGS + 1, { 0, 0 }, 0 },
+{ SC_OPCODE_CHOOSEROWS, ENTRY(SC_OPCODE_CHOOSEROWS_ARY), 0, 
ID_FUNCTION_GRP_TABLE, HID_FUNC_CHOOSEROWS_MS, VAR_ARGS + 1, { 0, 0 }, 0 },
 { SC_OPCODE_DROP, ENTRY(SC_OPCODE_DROP_ARY), 0, ID_FUNCTION_GRP_TABLE, 
HID_FUNC_DROP_MS, 3, { 0, 0, 1 }, 0 },
 { SC_OPCODE_EXPAND, ENTRY(SC_OPCODE_EXPAND_ARY), 0, 
ID_FUNCTION_GRP_TABLE, HID_FUNC_EXPAND_MS, 4, { 0, 0, 1, 1 }, 0 },
 { SC_OPCODE_HSTACK, ENTRY(SC_OPCODE_HSTACK_ARY), 0, 
ID_FUNCTION_GRP_TABLE, HID_FUNC_HSTACK_MS, VAR_ARGS + 1, { 0, 1 }, 0 },
diff --git a/sc/source/core/tool/parclass.cxx b/sc/source/core/tool/parclass.cxx
index e556817fec9d..204c9a943f7d 100644
--- a/sc/source/core/tool/parclass.cxx
+++ b/sc/source/core/tool/parclass.cxx
@@ -57,8 +57,8 @@ const ScParameterClassification::RawData 
ScParameterClassification::pRawData[] =
 { ocIfError, {{ Array, Reference   
  }, 0, Value }},
 { ocIfNA,{{ Array, Reference   
  }, 0, Value }},
 { ocChoose,  {{ Array, Reference   
  }, 1, Value }},
-{ ocChooseCols,  {{ ReferenceOrRefArray, ReferenceOrRefArray, 
ReferenceOrRefArray, }, 2, ForceArrayReturn }},
-{ ocChooseRows,  {{ ReferenceOrRefArray, ReferenceOrRefArray, 
ReferenceOrRefArray, }, 2, ForceArrayReturn }},
+{ ocChooseCols,  {{ ReferenceOrRefArray, ReferenceOrRef

core.git: 2 commits - download.lst

2025-02-11 Thread Xisco Fauli (via logerrit)
 download.lst |8 
 1 file changed, 4 insertions(+), 4 deletions(-)

New commits:
commit fe39e60102f34f6dba59828579ee75e4c05486e0
Author: Xisco Fauli 
AuthorDate: Tue Feb 11 17:36:26 2025 +0100
Commit: Xisco Fauli 
CommitDate: Tue Feb 11 20:58:34 2025 +0100

openssl: upgrade to 3.0.16

Downloaded from 
https://github.com/openssl/openssl/releases/download/openssl-3.0.16/openssl-3.0.16.tar.gz

Change-Id: I9eeb10132455be1240cbe7312275d5211dee3600
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/181442
Tested-by: Jenkins
Reviewed-by: Xisco Fauli 

diff --git a/download.lst b/download.lst
index 1ba0133c8775..249a2fbc8b05 100644
--- a/download.lst
+++ b/download.lst
@@ -543,8 +543,8 @@ OPENLDAP_TARBALL := openldap-2.6.9.tgz
 # three static lines
 # so that git cherry-pick
 # will not run into conflicts
-OPENSSL_SHA256SUM := 
23c666d0edf20f14249b3d8f0368acaee9ab585b09e1de82107c66e1f3ec9533
-OPENSSL_TARBALL := openssl-3.0.15.tar.gz
+OPENSSL_SHA256SUM := 
57e03c50feab5d31b152af2b764f10379aecd8ee92f16c985983ce4a99f7ef86
+OPENSSL_TARBALL := openssl-3.0.16.tar.gz
 # three static lines
 # so that git cherry-pick
 # will not run into conflicts
commit 0b0e651f2ffc6ce86fbf6db3f79225403dfbf2cd
Author: Xisco Fauli 
AuthorDate: Tue Feb 11 17:40:43 2025 +0100
Commit: Xisco Fauli 
CommitDate: Tue Feb 11 20:58:23 2025 +0100

xmlsec: upgrade to 1.3.7

Downloaded from https://www.aleksey.com/xmlsec/download/xmlsec1-1.3.7.tar.gz

Change-Id: I0f49daab676969ef2bd9452825cd02e2c7aa7037
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/181444
Reviewed-by: Xisco Fauli 
Tested-by: Jenkins

diff --git a/download.lst b/download.lst
index 9fa191045967..1ba0133c8775 100644
--- a/download.lst
+++ b/download.lst
@@ -454,8 +454,8 @@ LIBWEBP_TARBALL := libwebp-1.5.0.tar.gz
 # three static lines
 # so that git cherry-pick
 # will not run into conflicts
-XMLSEC_SHA256SUM := 
952b626ad3f3be1a4598622dab52fdab2a8604d0837c1b00589f3637535af92f
-XMLSEC_TARBALL := xmlsec1-1.3.6.tar.gz
+XMLSEC_SHA256SUM := 
d82e93b69b8aa205a616b62917a269322bf63a3eaafb3775014e61752b2013ea
+XMLSEC_TARBALL := xmlsec1-1.3.7.tar.gz
 # three static lines
 # so that git cherry-pick
 # will not run into conflicts


core.git: sw/qa sw/source

2025-02-11 Thread Oliver Specht (via logerrit)
 sw/qa/extras/rtfimport/rtfimport.cxx   |7 +++
 sw/source/writerfilter/rtftok/rtfdispatchvalue.cxx |6 ++
 2 files changed, 13 insertions(+)

New commits:
commit 0e0ae62ded3f72768bc06e38253dacbf5af0ed5a
Author: Oliver Specht 
AuthorDate: Tue Jan 28 14:16:07 2025 +0100
Commit: Gabor Kelemen 
CommitDate: Tue Feb 11 21:26:30 2025 +0100

tdf#164266 RTF: border distance in style is not applied to table

Attributes from styles are only valid if they are repeated at the
location where the style is applied.

Change-Id: I0083b833266346084d51aaf78a162b96012a0dab
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/180835
Reviewed-by: Gabor Kelemen 
Tested-by: Jenkins
Tested-by: Gabor Kelemen 

diff --git a/sw/qa/extras/rtfimport/rtfimport.cxx 
b/sw/qa/extras/rtfimport/rtfimport.cxx
index 515fae3c4a5c..54315245036d 100644
--- a/sw/qa/extras/rtfimport/rtfimport.cxx
+++ b/sw/qa/extras/rtfimport/rtfimport.cxx
@@ -1958,6 +1958,13 @@ CPPUNIT_TEST_FIXTURE(Test, test162198Tdf)
 sal_Int32 nRightDistance = getProperty(xCellPropSet, 
u"LeftBorderDistance"_ustr);
 CPPUNIT_ASSERT_EQUAL_MESSAGE("left cell spacing to contents", 
sal_Int32(9), nLeftDistance);
 CPPUNIT_ASSERT_EQUAL_MESSAGE("right cell spacing to contents", 
sal_Int32(9), nRightDistance);
+
+xCell = xTable1->getCellByName(u"B1"_ustr);
+xCellPropSet = uno::Reference(xCell, 
uno::UNO_QUERY_THROW);
+nLeftDistance = getProperty(xCellPropSet, 
u"LeftBorderDistance"_ustr);
+nRightDistance = getProperty(xCellPropSet, 
u"LeftBorderDistance"_ustr);
+CPPUNIT_ASSERT_EQUAL_MESSAGE("left cell spacing to contents", 
sal_Int32(9), nLeftDistance);
+CPPUNIT_ASSERT_EQUAL_MESSAGE("right cell spacing to contents", 
sal_Int32(9), nRightDistance);
 }
 
 CPPUNIT_TEST_FIXTURE(Test, test153192Tdf)
diff --git a/sw/source/writerfilter/rtftok/rtfdispatchvalue.cxx 
b/sw/source/writerfilter/rtftok/rtfdispatchvalue.cxx
index 85ad1613a5dd..d89c3420017a 100644
--- a/sw/source/writerfilter/rtftok/rtfdispatchvalue.cxx
+++ b/sw/source/writerfilter/rtftok/rtfdispatchvalue.cxx
@@ -665,6 +665,12 @@ bool RTFDocumentImpl::dispatchTableValue(RTFKeyword 
nKeyword, int nParam)
 case RTFKeyword::TRPADDR:
 case RTFKeyword::TRPADDT:
 {
+// tdf#162198 prevent adding attributes to rows/cells from style 
without
+// being repeated at the cell/row level
+// this might be required for other attributes, too
+if (m_aStates.top().getDestination() == Destination::STYLEENTRY)
+return true;
+
 RTFSprms aAttributes;
 aAttributes.set(NS_ooxml::LN_CT_TblWidth_w, new RTFValue(nParam));
 switch (nKeyword)


help.git: source/text

2025-02-11 Thread Olivier Hallot (via logerrit)
 source/text/scalc/01/data_provider.xhp |   40 +
 1 file changed, 36 insertions(+), 4 deletions(-)

New commits:
commit 35b759e6da136e3d46e3e1d08ef2245c50b1d76d
Author: Olivier Hallot 
AuthorDate: Tue Feb 11 18:30:16 2025 -0300
Commit: Olivier Hallot 
CommitDate: Tue Feb 11 22:34:07 2025 +0100

tdf#137419 (part 2) Data Provider Help page

+ Refactor, add some bookmark entries, how-to-get ...
+ Page need further work once the feature is properly documented.

Change-Id: I6bfb9fc2c1bef43ee49caef7e5b9d6d5adbd153d
Reviewed-on: https://gerrit.libreoffice.org/c/help/+/181462
Tested-by: Jenkins
Reviewed-by: Olivier Hallot 

diff --git a/source/text/scalc/01/data_provider.xhp 
b/source/text/scalc/01/data_provider.xhp
index 156c56d862..ef2df39bfa 100644
--- a/source/text/scalc/01/data_provider.xhp
+++ b/source/text/scalc/01/data_provider.xhp
@@ -31,22 +31,54 @@
 
 
 data provider;for spreadsheets
+data provider;refresh data provider
 
 
 
 Data Provider for 
Spreadsheets
-Data 
Provider for Spreadsheets
+Imports data from 
data sources. At present, the supported external data formats include CSV, 
HTML, XML, and %PRODUCTNAME Base files.
+Data may be imported 
from either local storage, such as CSV files, or from external sources, such as 
HTML Web Pages.
+Additionally, data can 
be manipulated using various transformations before being loaded into the 
sheet.
 
 
 
+  
+  Choose Data 
- Data Provider.
   
   On the 
Data tab, choose Data 
Provider.
+  
+  
+
+  
+Icon Data 
Provider
+  
+  
+Data 
Provider
+  
+
+  
 
-
+
+Database range
+The database range to 
receive the data from the provider. Choose the range from the available 
dropdown list.
+Data Provider
+The type of the data to 
be imported.
+URL
+The URL of the data 
provider. If the provider is a local file, insert the file path and name. If 
the provider is a web service, insert the URL.
+Id/Xpath
+The target 
ID for HTML provided data or Xpath for XML provided 
data.
+Transformations
+The provided data can 
be transformed using the available transformations from the dropdown list. You 
will need to provide further information depending on the transformation. For 
example, you can set the sort order for the sort transformations.
+Add
+Click Add 
to include the selected transformation to the transformation set. 
Transformations are included at the bottom of the list.
+If the order of transformations is important, 
plan the sequence of transformations in advance.
+Delete
+Deletes the 
transformation from the list.
+Apply
+Applies the 
transformations to the provided data and displays results in the preview area 
for inspection. The data is not loaded in the spreadsheet until you press 
OK.
 
 
-Data 
Provider
+Refresh Data 
Provider
 
 
-
 


core.git: Branch 'libreoffice-24-8-5' - include/vcl svx/source vcl/source

2025-02-11 Thread Mike Kaganski (via logerrit)
 include/vcl/svapp.hxx |5 -
 svx/source/unodraw/UnoGraphicExporter.cxx |4 ++--
 vcl/source/app/svapp.cxx  |8 +---
 3 files changed, 11 insertions(+), 6 deletions(-)

New commits:
commit 2b2958c1b3ecfdbcd3faf3641b897efdf03b4837
Author: Mike Kaganski 
AuthorDate: Sat Feb 8 13:32:33 2025 +0500
Commit: Michael Weghorn 
CommitDate: Tue Feb 11 22:26:47 2025 +0100

tdf#165099: do not notify change listeners about temporary changes

Commit bc09a4f1ce1f6a714f7827a404aa6317b503d307 (Disable subpixel AA
in GraphicExporter::filter unconditionally, 2024-12-04)  had changed
GraphicExporter::filter  to set application settings unconditionally,
instead of only when AA was explicitly set. That uncovered a problem
that the change may trigger a rebuild of sidebars;  and in slideshow
case, it may make the rebuilt sidebars to capture the temporary view
created for the slideshow.

1. Slideshow is built; in SlideShow::StartFullscreenPresentation, it
   creates a new component with a frame,  which eventually creates a
   new sd::DrawController;
2. Slideshow draws its slide(s); in slideshow::internal::getMetaFile,
   GraphicExporter::filter is called, which would change application
   settings;
3. Application::SetSettings eventually trigger WindowEventHandler in
   sfx2::sidebar::SidebarController, with WindowDataChanged;
4. SidebarController::maContextChangeUpdate is called asynchronously,
   i.e.,  after all the draw is finished;  eventually this will call
   SidebarController::UpdateConfigurations for SdSlideTransitionDeck,
   which forces rebuild of the deck;
5. sd::SlideTransitionPane::Initialize  resets its mxView to current
   controller, which is the sd::DrawController created on step 1 for
   the slideshow;
6. sd::SlideShow::end closes its frame, eventually disposing frame's
   controller (calling sd::DrawController::dispose);  note that this
   controller is still referenced from sidebar.

After that, the sidebar interactions will crash because of unhandled
exception thrown from DrawController::ThrowIfDisposed.

Note that the change in the abovementioned commit only uncovered the
problem; before that change it could still crash, when AA was set in
the GraphicExporter::filter call.

This change makes sure to not notify listeners in the #3 above, when
the change of the settings is only temporary  (for the duration of a
export). This is similar to the existing bTemporary argument that is
already passed to SetAntiAliasing from GraphicExporter::filter. This
allows to avoid the unwanted sidebar rebuild;  and also, this should
improve the filter call performance. The hope is, that this wouldn't
modify the result; but if some components, that listen to the change
notifications, happen to affect the export,  we likely would need to
change their behavior to always use Application::GetSettings.

It seems to me, that after this change, clicking the first time on a
transition after a slideshow will not select it.  Seems like another
pre-existing problem;  it flickered before selection even before the
change; likely needs a separate fix.

Change-Id: Ia0ba19401ca805c2190926623c1c708cf26a313b
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/181288
Tested-by: Jenkins
Reviewed-by: Mike Kaganski 
(cherry picked from commit ca31eac04b10fec6bf27a801b9164ec419062763)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/181300
Reviewed-by: Xisco Fauli 
(cherry picked from commit ab33bb9e3e1a3e2039715db6483e412d51a06f01)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/181351
(cherry picked from commit d9c7b214c6a040483431e9120099237072aa5bcb)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/181363
Tested-by: Michael Weghorn 
Reviewed-by: Ilmari Lauhakangas 
Reviewed-by: Michael Weghorn 
Reviewed-by: Jonathan Clark 

diff --git a/include/vcl/svapp.hxx b/include/vcl/svapp.hxx
index 2725642763c0..7196ed83f971 100644
--- a/include/vcl/svapp.hxx
+++ b/include/vcl/svapp.hxx
@@ -641,9 +641,12 @@ public:
  @param rSettings   const reference to settings object used to
 change the application's settings.
 
+ @param bTemporary  this is a temporary change (used in 
GraphicExporter::filter),
+do not notify change listeners
+
  @see OverrideSystemSettings, MergeSystemSettings, GetSettings
 */
-static void SetSettings( const AllSettings& rSettings );
+static void SetSettings( const AllSettings& rSettings, 
bool bTemporary = false );
 
 /** Gets the application's settings. If the application hasn't initialized
  it's settings, then it does so (lazy initialization).
diff --git a/svx/so

core.git: Branch 'feature/cib_contract891c' - 2 commits - desktop/source external/redland

2025-02-11 Thread Michael Stahl (via logerrit)
 desktop/source/app/cmdlineargs.cxx |2 -
 external/redland/ExternalProject_raptor.mk |4 +-
 external/redland/UnpackedTarball_raptor.mk |1 
 external/redland/raptor/CVE-2024-57823.patch.1 |   35 +
 4 files changed, 39 insertions(+), 3 deletions(-)

New commits:
commit 441c2470a4756b7210d4a9cdb89595a75b8624ee
Author: Michael Stahl 
AuthorDate: Wed Jan 15 10:55:05 2025 +0100
Commit: Thorsten Behrens 
CommitDate: Wed Feb 12 00:13:46 2025 +0100

redland: disable all raptor parsers except for "rdfxml"

It's the only one the unordf component invokes.

CVE-2024-57823 CVE-2024-57822 affect the "ntriples" and "turtle"
parsers.

However it appears that the function raptor_uri_normalize_path() could
also be called from raptor_libxml_* functions?  Somewhat unclear, let's
add the patch just in case.

Change-Id: Idd7ebbc29c63e84ca2434b06c26f7aca34bdcaa5
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/180272
Tested-by: Jenkins
Reviewed-by: Michael Stahl 
(cherry picked from commit 2b50dc0e4482ac0ad27d69147b4175e05af4fba4)
(cherry picked from commit 1ac4aa8db84ee647b471edbdd9a702e66fe52e78)

diff --git a/external/redland/ExternalProject_raptor.mk 
b/external/redland/ExternalProject_raptor.mk
index 70e28edf99b8..52511ea822ac 100644
--- a/external/redland/ExternalProject_raptor.mk
+++ b/external/redland/ExternalProject_raptor.mk
@@ -25,8 +25,8 @@ $(call gb_ExternalProject_get_state_target,raptor,build):
$(if $(SYSBASE),$(if $(filter LINUX 
SOLARIS,$(OS)),-L$(SYSBASE)/lib -L$(SYSBASE)/usr/lib -lpthread -ldl))" \
CPPFLAGS="$(if $(SYSBASE),-I$(SYSBASE)/usr/include)" \
./configure --disable-gtk-doc \
---enable-parsers="rdfxml ntriples turtle trig guess 
rss-tag-soup" \
-   --with-www=xml \
+   --enable-parsers="rdfxml" \
+   --without-www \
--without-xslt-config \
$(if $(CROSS_COMPILING),--build=$(BUILD_PLATFORM) 
--host=$(HOST_PLATFORM) \
$(if $(filter INTEL 
ARM,$(CPUNAME)),ac_cv_c_bigendian=no)) \
diff --git a/external/redland/UnpackedTarball_raptor.mk 
b/external/redland/UnpackedTarball_raptor.mk
index 961047e16d3a..b69ca71de59a 100644
--- a/external/redland/UnpackedTarball_raptor.mk
+++ b/external/redland/UnpackedTarball_raptor.mk
@@ -30,6 +30,7 @@ $(eval $(call gb_UnpackedTarball_add_patches,raptor,\
external/redland/raptor/libtool.patch \
external/redland/raptor/Wint-conversion.patch \
external/redland/raptor/raptor-libxml2-11.patch.1 \
+   external/redland/raptor/CVE-2024-57823.patch.1 \
 ))
 
 # vim: set noet sw=4 ts=4:
diff --git a/external/redland/raptor/CVE-2024-57823.patch.1 
b/external/redland/raptor/CVE-2024-57823.patch.1
new file mode 100644
index ..b06689304b0a
--- /dev/null
+++ b/external/redland/raptor/CVE-2024-57823.patch.1
@@ -0,0 +1,35 @@
+--- raptor2-2.0.15/src/raptor_rfc2396.c.CVE-2024-57823 2014-07-26 
23:07:37.0 +0200
 raptor2-2.0.15/src/raptor_rfc2396.c2025-01-13 12:59:22.175568228 
+0100
+@@ -289,10 +289,8 @@ raptor_uri_normalize_path(unsigned char*
+   }
+ 
+   
+-#if defined(RAPTOR_DEBUG)
+   if(path_len != strlen((const char*)path_buffer))
+ RAPTOR_FATAL4("Path '%s' length %ld does not match calculated %ld.", 
(const char*)path_buffer, (long)strlen((const char*)path_buffer), 
(long)path_len);
+-#endif
+ 
+   /* Remove all "/../" path components */
+ 
+@@ -327,10 +325,8 @@ raptor_uri_normalize_path(unsigned char*
+ if(!prev || !cur)
+   continue;
+ 
+-#if defined(RAPTOR_DEBUG)
+ if(path_len != strlen((const char*)path_buffer))
+   RAPTOR_FATAL3("Path length %ld does not match calculated %ld.", 
(long)strlen((const char*)path_buffer), (long)path_len);
+-#endif
+ 
+ /* If the current one is '..' */
+ if(s == (cur+2) && cur[0] == '.' && cur[1] == '.') {
+@@ -393,10 +389,8 @@ raptor_uri_normalize_path(unsigned char*
+   }
+ 
+ 
+-#if defined(RAPTOR_DEBUG)
+   if(path_len != strlen((const char*)path_buffer))
+ RAPTOR_FATAL3("Path length %ld does not match calculated %ld.", 
(long)strlen((const char*)path_buffer), (long)path_len);
+-#endif
+ 
+   /* RFC3986 Appendix C.2 / 5.4.2 Abnormal Examples
+* Remove leading /../ and /./ 
commit 977c5f78f62de259843116691a8f18efe9f0ec4a
Author: Caolán McNamara 
AuthorDate: Thu Jan 30 20:37:38 2025 +
Commit: Thorsten Behrens 
CommitDate: Wed Feb 12 00:11:30 2025 +0100

Filter out more unwanted command URIs

Change-Id: I24c95d73b4fee89bdf044d5dd6efc9cd89627c54
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/180970
Tested-by: Jenkins
Reviewed-by: Mike Kaganski 
Reviewed-by: Caolán McNamara 

diff --git a/desktop/source/app/cmdlineargs.cxx 
b/desktop/source/app/cmdlineargs.cxx
index 

core.git: sc/uiconfig

2025-02-11 Thread Olivier Hallot (via logerrit)
 sc/uiconfig/scalc/ui/dataproviderdlg.ui |   18 +-
 1 file changed, 17 insertions(+), 1 deletion(-)

New commits:
commit 5a77b665a40b606ba914f361d4d4271be0a064c6
Author: Olivier Hallot 
AuthorDate: Tue Feb 11 11:32:03 2025 -0300
Commit: Olivier Hallot 
CommitDate: Wed Feb 12 00:49:13 2025 +0100

tdf#165196 Help button to Data Provider dialog

+ Rename dialog button container (was blank)

Change-Id: I2da0a2896635565fc534bfc9513620e40f72069c
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/181425
Tested-by: Jenkins
Reviewed-by: Olivier Hallot 

diff --git a/sc/uiconfig/scalc/ui/dataproviderdlg.ui 
b/sc/uiconfig/scalc/ui/dataproviderdlg.ui
index 23eb805a6066..1661562081d0 100644
--- a/sc/uiconfig/scalc/ui/dataproviderdlg.ui
+++ b/sc/uiconfig/scalc/ui/dataproviderdlg.ui
@@ -13,7 +13,7 @@
 vertical
 12
 
-  
+  
 False
 6
 6
@@ -48,6 +48,21 @@
 1
   
 
+
+  
+_Help
+True
+True
+True
+True
+  
+  
+True
+True
+2
+True
+  
+
   
   
 False
@@ -407,6 +422,7 @@
 
   ok
   cancel
+  help
 
   
 


Siddharth Sengupta license statement

2025-02-11 Thread Siddharth Sengupta
All of my past & future contributions to LibreOffice may be
   licensed under the MPLv2/LGPLv3+ dual license.


core.git: Branch 'feature/cib_contract49d' - sw/qa sw/source

2025-02-11 Thread Oliver Specht (via logerrit)
 sw/qa/extras/unowriter/data/tdf164921.odt |binary
 sw/qa/extras/unowriter/unowriter.cxx  |   43 ++
 sw/source/core/doc/docnum.cxx |   19 +++--
 3 files changed, 60 insertions(+), 2 deletions(-)

New commits:
commit b262c9b31d192d2b750bbbcc11e31388c526fb76
Author: Oliver Specht 
AuthorDate: Wed Jan 29 12:38:55 2025 +0100
Commit: Gabor Kelemen 
CommitDate: Wed Feb 12 08:32:54 2025 +0100

tdf#164921 Renaming list styles fixed

User defined list styles are now correctly updated in paragraph
styles that are using them and only directly applied to paragraphs
that had a direct formating before.

Change-Id: I9b671655ffa430d643c48fc35f15f38b41de4b9b
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/180927
Reviewed-by: Gabor Kelemen 
Tested-by: allotropia jenkins 

diff --git a/sw/qa/extras/unowriter/data/tdf164921.odt 
b/sw/qa/extras/unowriter/data/tdf164921.odt
new file mode 100644
index ..b24b4b6f3299
Binary files /dev/null and b/sw/qa/extras/unowriter/data/tdf164921.odt differ
diff --git a/sw/qa/extras/unowriter/unowriter.cxx 
b/sw/qa/extras/unowriter/unowriter.cxx
index f39448455bbf..56725817393a 100644
--- a/sw/qa/extras/unowriter/unowriter.cxx
+++ b/sw/qa/extras/unowriter/unowriter.cxx
@@ -43,6 +43,7 @@
 #include 
 #include 
 #include 
+#include 
 
 #include 
 #include 
@@ -1330,6 +1331,48 @@ CPPUNIT_TEST_FIXTURE(SwUnoWriter, testTdf162480)
 CPPUNIT_ASSERT_EQUAL(xCellText, xAnchorRange->getText());
 }
 
+CPPUNIT_TEST_FIXTURE(SwUnoWriter, testTdf164921)
+{
+// check renaming list style
+OUString sChangedListStyle = u"ChangedListStyle"_ustr;
+
+{
+createSwDoc("tdf164921.odt");
+//change list style name
+//auto xModel = mxComponent.queryThrow();
+uno::Reference xSFS(mxComponent, 
uno::UNO_QUERY);
+uno::Reference xListStyles(
+xSFS->getStyleFamilies()->getByName(u"NumberingStyles"_ustr), 
uno::UNO_QUERY);
+uno::Reference 
xListStyle(xListStyles->getByName(u"NewListStyle"_ustr),
+ uno::UNO_QUERY);
+xListStyle->setName(sChangedListStyle);
+
+utl::MediaDescriptor aMediaDescriptor;
+aMediaDescriptor[u"FilterName"_ustr] <<= u"writer8"_ustr;
+uno::Reference const xStorable(mxComponent, 
uno::UNO_QUERY);
+xStorable->storeToURL(maTempFile.GetURL(), 
aMediaDescriptor.getAsConstPropertyValueList());
+}
+{
+saveAndReload(u"writer8"_ustr);
+
+uno::Reference xSFS(mxComponent, 
uno::UNO_QUERY);
+uno::Reference xListStyles(
+xSFS->getStyleFamilies()->getByName(u"NumberingStyles"_ustr), 
uno::UNO_QUERY);
+uno::Reference xNewListStyle(
+xListStyles->getByName(u"ChangedListStyle"_ustr), uno::UNO_QUERY);
+
+CPPUNIT_ASSERT_EQUAL(xNewListStyle->getName(), sChangedListStyle);
+
+uno::Reference xParaStyles(
+xSFS->getStyleFamilies()->getByName(u"ParagraphStyles"_ustr), 
uno::UNO_QUERY);
+uno::Reference 
xBodyTextStyle(xParaStyles->getByName("Text body"),
+   uno::UNO_QUERY);
+
+rtl::OUString sListStyleName;
+xBodyTextStyle->getPropertyValue(u"NumberingStyleName"_ustr) >>= 
sListStyleName;
+CPPUNIT_ASSERT_EQUAL(sListStyleName, sChangedListStyle);
+}
+}
 } // end of anonymous namespace
 CPPUNIT_PLUGIN_IMPLEMENT();
 
diff --git a/sw/source/core/doc/docnum.cxx b/sw/source/core/doc/docnum.cxx
index 93f29d72f1fb..1a39c3a96073 100644
--- a/sw/source/core/doc/docnum.cxx
+++ b/sw/source/core/doc/docnum.cxx
@@ -1181,12 +1181,27 @@ bool SwDoc::RenameNumRule(const OUString & rOldName, 
const OUString & rNewName,
 pNumRule->GetTextNodeList( aTextNodeList );
 
 pNumRule->SetName( rNewName, getIDocumentListsAccess() );
-
 SwNumRuleItem aItem(rNewName);
 
+const size_t nArrLen = GetTextFormatColls()->size();
+for( size_t i = 0; i < nArrLen; i++ )
+{
+SwTextFormatColl* pColl = (*GetTextFormatColls())[ i ];
+const SwAttrSet& rAttrSet = pColl->GetAttrSet();
+
+const SfxPoolItem* pTempItem = nullptr;
+if (SfxItemState::SET == rAttrSet.GetItemState(RES_PARATR_NUMRULE, 
false, &pTempItem))
+{
+const SwNumRuleItem* pNumItem = static_cast(pTempItem);
+if (pNumItem->GetValue().equals(rOldName))
+pColl->SetFormatAttr( aItem );
+}
+}
+
 for ( SwTextNode* pTextNd : aTextNodeList )
 {
-pTextNd->SetAttr(aItem);
+if (SfxItemState::SET == 
pTextNd->GetSwAttrSet().GetItemState(RES_PARATR_NUMRULE, false))
+pTextNd->SetAttr(aItem);
 }
 
 bResult = true;