[Libreoffice-commits] core.git: Branch 'libreoffice-7-5' - oox/source sd/qa

2023-04-18 Thread Tibor Nagy (via logerrit)
 oox/source/export/shapes.cxx|   37 
 oox/source/ppt/slidepersist.cxx |   15 +-
 sd/qa/unit/data/pptx/tdf154363.pptx |binary
 sd/qa/unit/import-tests.cxx |   26 +
 4 files changed, 65 insertions(+), 13 deletions(-)

New commits:
commit 756e7701486318e72dce823f3946b7b2ea350132
Author: Tibor Nagy 
AuthorDate: Wed Mar 29 09:00:47 2023 +0200
Commit: Xisco Fauli 
CommitDate: Tue Apr 18 09:27:32 2023 +0200

tdf#154363 sd: fix line connectors regression of mirrored shapes

caused by commit cbf66ec3e60d07efb7c3cceed9b4f0fb4f0510c8
(tdf#89449 PPTX import: fix line connectors).

Note: partial revert of commit 9ab16e2738b4b9bd324c9aded8acb2ecba0fd2b0
"oox: fix crash in lcl_GetGluePointId by removing unused code".

Change-Id: Icc45c93c4fa3a22c0f34866ccb64ea6b9037d936
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/149676
Reviewed-by: László Németh 
Tested-by: László Németh 
Signed-off-by: Xisco Fauli 
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/150202
Tested-by: Jenkins

diff --git a/oox/source/export/shapes.cxx b/oox/source/export/shapes.cxx
index a77ee85b8b92..ec2ebd54d56c 100644
--- a/oox/source/export/shapes.cxx
+++ b/oox/source/export/shapes.cxx
@@ -1640,17 +1640,38 @@ static void lcl_GetConnectorAdjustValue(const 
Reference& xShape, tools::
 }
 }
 
-static sal_Int32 lcl_GetGluePointId(sal_Int32 nGluePointId)
+static sal_Int32 lcl_GetGluePointId(const Reference& xShape, sal_Int32 
nGluePointId)
 {
 if (nGluePointId > 3)
 return nGluePointId - 4;
 else
 {
-// change id of the bounding box (1 <-> 3)
-if (nGluePointId == 1)
-return 3; // Right
-else if (nGluePointId == 3)
-return 1; // Left
+bool bFlipH = false;
+bool bFlipV = false;
+Reference xShapeProps(xShape, UNO_QUERY);
+if 
(xShapeProps->getPropertySetInfo()->hasPropertyByName("CustomShapeGeometry"))
+{
+Sequence aGeometrySeq;
+xShapeProps->getPropertyValue("CustomShapeGeometry") >>= 
aGeometrySeq;
+for (int i = 0; i < aGeometrySeq.getLength(); i++)
+{
+const PropertyValue& rProp = aGeometrySeq[i];
+if (rProp.Name == "MirroredX")
+rProp.Value >>= bFlipH;
+
+if (rProp.Name == "MirroredY")
+rProp.Value >>= bFlipV;
+}
+}
+
+if ((!bFlipH && !bFlipV) || (bFlipH && bFlipV))
+{
+// change id of the bounding box (1 <-> 3)
+if (nGluePointId == 1)
+nGluePointId = 3; // Right
+else if (nGluePointId == 3)
+nGluePointId = 1; // Left
+}
 }
 
 return nGluePointId;
@@ -1708,12 +1729,12 @@ ShapeExport& ShapeExport::WriteConnectorShape( const 
Reference< XShape >& xShape
 if (GetProperty(rXPropSet, "StartGluePointIndex"))
 mAny >>= nStartGlueId;
 if (nStartGlueId != -1)
-nStartGlueId = lcl_GetGluePointId(nStartGlueId);
+nStartGlueId = lcl_GetGluePointId(rXShapeA, nStartGlueId);
 
 if (GetProperty(rXPropSet, "EndGluePointIndex"))
 mAny >>= nEndGlueId;
 if (nEndGlueId != -1)
-nEndGlueId = lcl_GetGluePointId(nEndGlueId);
+nEndGlueId = lcl_GetGluePointId(rXShapeB, nEndGlueId);
 
 // Position is relative to group in Word, but relative to anchor of group 
in API.
 if (GetDocumentType() == DOCUMENT_DOCX && !mbUserShapes && m_xParent.is())
diff --git a/oox/source/ppt/slidepersist.cxx b/oox/source/ppt/slidepersist.cxx
index 7298eea1247c..349262fc6b8f 100644
--- a/oox/source/ppt/slidepersist.cxx
+++ b/oox/source/ppt/slidepersist.cxx
@@ -654,11 +654,16 @@ void SlidePersist::createConnectorShapeConnection()
 nGlueId += 4;
 else
 {
-// change id of the left and right glue points of the 
bounding box (1 <-> 3)
-if (nGlueId == 1)
-nGlueId = 3; // Right
-else if (nGlueId == 3)
-nGlueId = 1; // Left
+bool bFlipH = pShape->second->getFlipH();
+bool bFlipV = pShape->second->getFlipV();
+if ((!bFlipH && !bFlipV) || (bFlipH && bFlipV))
+{
+// change id of the left and right glue points of 
the bounding box (1 <-> 3)
+if (nGlueId == 1)
+nGlueId = 3; // Right
+else if (nGlueId == 3)
+nGlueId = 1; // Left
+}
 }
 
 bool bStart = aConnectorShapeProperties[j].mbStartShape;
diff --git a/sd/qa/unit/data/pptx/tdf1

[Libreoffice-commits] core.git: 2 commits - sc/qa sc/source svx/inc svx/source

2023-04-18 Thread Maxim Monastirsky (via logerrit)
 sc/qa/unit/subsequent_export_test4.cxx|5 ++
 sc/source/core/data/drwlayer.cxx  |4 -
 sc/source/core/data/postit.cxx|   39 --
 svx/inc/sdr/primitive2d/sdrattributecreator.hxx   |3 -
 svx/source/sdr/contact/viewcontactofsdrcaptionobj.cxx |6 +-
 svx/source/sdr/primitive2d/sdrattributecreator.cxx|6 +-
 6 files changed, 34 insertions(+), 29 deletions(-)

New commits:
commit a9a2ace53625a8fb3feb1c050648a875a98cb7a8
Author: Maxim Monastirsky 
AuthorDate: Fri Apr 14 14:58:09 2023 +0300
Commit: Maxim Monastirsky 
CommitDate: Tue Apr 18 09:33:28 2023 +0200

sc drawstyles: Comment shadow should depends on shadow attribute

The shadow of comments differs from the shadow of normal callout
shapes, as it shows only for the text rectangle. However the way
it's implemented is weird: The shadow attribute is set to false,
which turns off the "normal" shadow, and then the special shadow
is drawn unconditionally. There is also a code that forces the
shadow attribute to false on import, to handle some old files
that used to have the shadow on.

The confusion begins when one shows the comment, and looks at
right click > Area... > Shadow, which (rightfully) shows the
shadow as off, but doesn't align with what is visible on the
document canvas. Moreover, the other shadow settings on this page
do affect the comment shadow, but in order to change them it is
needed to check the "Use shadow" checkbox first. But leaving that
checkbox as checked will result with a double shadow being drawn
for the text rectangle, and an unnecessary shadow drawn for the
arrow part. The problem becomes now more visible, as there is
a Note style listed in the sidebar.

One possible approach could be to draw the special shadow only
when the shadow attribute is on, and patch existing files on
import to "shadow on" instead of "shadow off". But this will
cause the "double shadow" problem when opened in older versions
(unless the comment is hidden, in which case we used to override
the shadow attribute).

But now there's an opportunity for a better solution: As we
assign the default comment style to imported comments, we can
just clear the shadow attribute DF, instead of forcing it to
some value. As a result, the "shadow on" attribute of the style
will be in effect in newer versions, while in older versions it
will fallback to the "shadow off" pool default.

Change-Id: I4b35bc1e8e2e12ed35a82b0c2e9aabcf28b46270
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/150353
Tested-by: Jenkins
Reviewed-by: Maxim Monastirsky 

diff --git a/sc/qa/unit/subsequent_export_test4.cxx 
b/sc/qa/unit/subsequent_export_test4.cxx
index 663767c7374f..eb3af3a2b2bf 100644
--- a/sc/qa/unit/subsequent_export_test4.cxx
+++ b/sc/qa/unit/subsequent_export_test4.cxx
@@ -1557,6 +1557,11 @@ CPPUNIT_TEST_FIXTURE(ScExportTest4, testCommentStyles)
 auto pCaption = pNote->GetCaption();
 CPPUNIT_ASSERT(pCaption);
 
+// Check that we don't keep the shadow attribute as DF
+// (see ScNoteUtil::CreateNoteFromCaption)
+CPPUNIT_ASSERT_LESSEQUAL(SfxItemState::DEFAULT,
+ 
pCaption->GetMergedItemSet().GetItemState(SDRATTR_SHADOW, false));
+
 auto pStyleSheet = &pDoc->GetStyleSheetPool()->Make("MyStyle1", 
SfxStyleFamily::Frame);
 auto& rSet = pStyleSheet->GetItemSet();
 rSet.Put(SvxFontHeightItem(1129, 100, EE_CHAR_FONTHEIGHT));
diff --git a/sc/source/core/data/drwlayer.cxx b/sc/source/core/data/drwlayer.cxx
index 3940d09906ee..8191dfcede66 100644
--- a/sc/source/core/data/drwlayer.cxx
+++ b/sc/source/core/data/drwlayer.cxx
@@ -382,9 +382,7 @@ void ScDrawLayer::CreateDefaultStyles()
 pSet->Put(SdrCaptionEscDirItem(SdrCaptionEscDir::BestFit));
 
 // shadow
-/* SdrShadowItem has false, instead the shadow is set for the rectangle
-   only with SetSpecialTextBoxShadow() when the object is created. */
-pSet->Put(makeSdrShadowItem(false));
+pSet->Put(makeSdrShadowItem(true));
 pSet->Put(makeSdrShadowXDistItem(100));
 pSet->Put(makeSdrShadowYDistItem(100));
 
diff --git a/sc/source/core/data/postit.cxx b/sc/source/core/data/postit.cxx
index b4acfb35f205..66f034087678 100644
--- a/sc/source/core/data/postit.cxx
+++ b/sc/source/core/data/postit.cxx
@@ -112,8 +112,10 @@ void ScCaptionUtil::SetExtraItems( SdrCaptionObj& 
rCaption, const SfxItemSet& rE
 SfxItemSet aItemSet = rCaption.GetMergedItemSet();
 
 aItemSet.Put(rExtraItemSet);
-// reset shadow items
-aItemSet.Put( makeSdrShadowItem( false ) );
+// reset shadow visibility (see also ScNoteUtil::CreateNoteFromCaption)
+aItemSet.ClearItem(SDRATTR_SHADOW);
+// ... but not distance, as that will fallback to wrong values
+// if the comment is 

[Libreoffice-commits] core.git: include/xmloff xmloff/source

2023-04-18 Thread Noel Grandin (via logerrit)
 include/xmloff/shapeexport.hxx |  114 +++---
 xmloff/source/draw/shapeexport.cxx |  292 ++---
 xmloff/source/draw/ximpshap.cxx|   16 +-
 3 files changed, 211 insertions(+), 211 deletions(-)

New commits:
commit ac30e6bfb653490003d04f30bf2d5f8f857e572b
Author: Noel Grandin 
AuthorDate: Mon Apr 17 19:11:29 2023 +0200
Commit: Noel Grandin 
CommitDate: Tue Apr 18 09:43:04 2023 +0200

convert XmlShapeType to scoped enum

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

diff --git a/include/xmloff/shapeexport.hxx b/include/xmloff/shapeexport.hxx
index 34abaf37547e..5313fe9e48f9 100644
--- a/include/xmloff/shapeexport.hxx
+++ b/include/xmloff/shapeexport.hxx
@@ -67,63 +67,63 @@ namespace o3tl
 
 #define SEF_DEFAULT 
XMLShapeExportFlags::POSITION|XMLShapeExportFlags::SIZE
 
-enum XmlShapeType
+enum class XmlShapeType
 {
-XmlShapeTypeUnknown,// not known
-
-XmlShapeTypeDrawRectangleShape, // 
"com.sun.star.drawing.RectangleShape"
-XmlShapeTypeDrawEllipseShape,   // 
"com.sun.star.drawing.EllipseShape"
-XmlShapeTypeDrawControlShape,   // 
"com.sun.star.drawing.ControlShape"
-XmlShapeTypeDrawConnectorShape, // 
"com.sun.star.drawing.ConnectorShape"
-XmlShapeTypeDrawMeasureShape,   // 
"com.sun.star.drawing.MeasureShape"
-XmlShapeTypeDrawLineShape,  // 
"com.sun.star.drawing.LineShape"
-XmlShapeTypeDrawPolyPolygonShape,   // 
"com.sun.star.drawing.PolyPolygonShape"
-XmlShapeTypeDrawPolyLineShape,  // 
"com.sun.star.drawing.PolyLineShape"
-XmlShapeTypeDrawOpenBezierShape,// 
"com.sun.star.drawing.OpenBezierShape"
-XmlShapeTypeDrawClosedBezierShape,  // 
"com.sun.star.drawing.ClosedBezierShape"
-XmlShapeTypeDrawGraphicObjectShape, // 
"com.sun.star.drawing.GraphicObjectShape"
-XmlShapeTypeDrawGroupShape, // 
"com.sun.star.drawing.GroupShape"
-XmlShapeTypeDrawTextShape,  // 
"com.sun.star.drawing.TextShape"
-XmlShapeTypeDrawOLE2Shape,  // 
"com.sun.star.drawing.OLE2Shape"
-XmlShapeTypeDrawChartShape, // embedded 
com.sun.star.chart
-XmlShapeTypeDrawSheetShape, // embedded 
com.sun.star.sheet
-XmlShapeTypeDrawPageShape,  // 
"com.sun.star.drawing.PageShape"
-XmlShapeTypeDrawFrameShape, // 
"com.sun.star.drawing.FrameShape"
-XmlShapeTypeDrawCaptionShape,   // 
"com.sun.star.drawing.CaptionShape"
-XmlShapeTypeDrawAppletShape,// 
"com.sun.star.drawing.AppletShape"
-XmlShapeTypeDrawPluginShape,// 
"com.sun.star.drawing.PlugginShape"
-
-XmlShapeTypeDraw3DSceneObject,  // 
"com.sun.star.drawing.Shape3DSceneObject"
-XmlShapeTypeDraw3DCubeObject,   // 
"com.sun.star.drawing.Shape3DCubeObject"
-XmlShapeTypeDraw3DSphereObject, // 
"com.sun.star.drawing.Shape3DSphereObject"
-XmlShapeTypeDraw3DLatheObject,  // 
"com.sun.star.drawing.Shape3DLatheObject"
-XmlShapeTypeDraw3DExtrudeObject,// 
"com.sun.star.drawing.Shape3DExtrudeObject"
-
-XmlShapeTypePresTitleTextShape, // 
"com.sun.star.presentation.TitleTextShape"
-XmlShapeTypePresOutlinerShape,  // 
"com.sun.star.presentation.OutlinerShape"
-XmlShapeTypePresSubtitleShape,  // 
"com.sun.star.presentation.SubtitleShape"
-XmlShapeTypePresGraphicObjectShape, // 
"com.sun.star.presentation.GraphicObjectShape"
-XmlShapeTypePresPageShape,  // 
"com.sun.star.presentation.PageShape"
-XmlShapeTypePresOLE2Shape,  // 
"com.sun.star.presentation.OLE2Shape"
-XmlShapeTypePresChartShape, // 
"com.sun.star.presentation.ChartShape"
-XmlShapeTypePresSheetShape, // 
"com.sun.star.presentation.CalcShape"
-XmlShapeTypePresTableShape, // 
"com.sun.star.presentation.TableShape"
-XmlShapeTypePresOrgChartShape,  // 
"com.sun.star.presentation.OrgChartShape"
-XmlShapeTypePresNotesShape, // 
"com.sun.star.presentation.NotesShape"
-XmlShapeTypeHandoutShape,   // 
"com.sun.star.presentation.HandoutShape"
-
-XmlShapeTypePresHeaderShape,// 
"com.sun.star.presentation.HeaderShape"
-XmlShapeTypePresFooterShape,// 
"com.sun.star.presentation.FooterShape"
-XmlShapeTypePresSlideNumberShape,   // 
"com.sun.star.presentation.SlideNumber

[Libreoffice-commits] core.git: sw/qa sw/source

2023-04-18 Thread Miklos Vajna (via logerrit)
 sw/qa/extras/ww8export/ww8export2.cxx |   23 ---
 sw/source/core/layout/fly.cxx |6 ++
 2 files changed, 22 insertions(+), 7 deletions(-)

New commits:
commit 16b59cee44c7f728b2fe6d7b624c494f649ee79f
Author: Miklos Vajna 
AuthorDate: Tue Apr 18 08:16:02 2023 +0200
Commit: Miklos Vajna 
CommitDate: Tue Apr 18 10:09:08 2023 +0200

sw floattable, layout: don't split inside headers/footers

CppunitTest_sw_ww8export2's testTdf128700_relativeTableWidth had a
layout loop in the SW_FORCE_FLY_SPLIT=1 case.

This seems to happen because the footer had a big floating table, which
doesn't fit the anchor's upper, but adding more pages won't help the
table to fit.

Fix the problem by not trying to split floating tables in
headers/footers.

An alternative would be to filter this out at import time, but then we
would loose the setting on DOCX/DOC roundtrip, which is not ideal.

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

diff --git a/sw/qa/extras/ww8export/ww8export2.cxx 
b/sw/qa/extras/ww8export/ww8export2.cxx
index 8252f63504f0..4c829aed0204 100644
--- a/sw/qa/extras/ww8export/ww8export2.cxx
+++ b/sw/qa/extras/ww8export/ww8export2.cxx
@@ -85,15 +85,24 @@ DECLARE_WW8EXPORT_TEST(testTdf55528_relativeTableWidth, 
"tdf55528_relativeTableW
 CPPUNIT_ASSERT_EQUAL_MESSAGE("Table relative width percent", 
sal_Int16(98), getProperty(xTable, "RelativeWidth"));
  }
 
-DECLARE_WW8EXPORT_TEST(testTdf128700_relativeTableWidth, 
"tdf128700_relativeTableWidth.doc")
+CPPUNIT_TEST_FIXTURE(Test, testTdf128700_relativeTableWidth)
 {
-uno::Reference xTextTablesSupplier(mxComponent, 
uno::UNO_QUERY);
-uno::Reference 
xTables(xTextTablesSupplier->getTextTables(), uno::UNO_QUERY);
-uno::Reference xTable(xTables->getByIndex(0), 
uno::UNO_QUERY);
+SwModelTestBase::FlySplitGuard aGuard;
 
-// Since the table has been converted into a floating frame, the relative 
width either needed to be transferred
-// onto the frame, or else just thrown out. Otherwise it becomes relative 
to the size of the frame.
-CPPUNIT_ASSERT_EQUAL_MESSAGE("Floated table can't use relative width", 
sal_Int16(0), getProperty(xTable, "RelativeWidth"));
+auto verify = [this]() {
+uno::Reference 
xTextTablesSupplier(mxComponent, uno::UNO_QUERY);
+uno::Reference 
xTables(xTextTablesSupplier->getTextTables(), uno::UNO_QUERY);
+uno::Reference xTable(xTables->getByIndex(0), 
uno::UNO_QUERY);
+
+// Since the table has been converted into a floating frame, the 
relative width either needed to be transferred
+// onto the frame, or else just thrown out. Otherwise it becomes 
relative to the size of the frame.
+CPPUNIT_ASSERT_EQUAL_MESSAGE("Floated table can't use relative width", 
sal_Int16(0), getProperty(xTable, "RelativeWidth"));
+};
+// This also resulted in a layout loop when flys were allowed to split in 
footers.
+createSwDoc("tdf128700_relativeTableWidth.doc");
+verify();
+reload(mpFilter, "tdf128700_relativeTableWidth.doc");
+verify();
 }
 
 CPPUNIT_TEST_FIXTURE(Test, testTdf116436_tableBackground)
diff --git a/sw/source/core/layout/fly.cxx b/sw/source/core/layout/fly.cxx
index 0158a93a46df..47a82a228a1f 100644
--- a/sw/source/core/layout/fly.cxx
+++ b/sw/source/core/layout/fly.cxx
@@ -660,6 +660,12 @@ bool SwFlyFrame::IsFlySplitAllowed() const
 return false;
 }
 
+if (FindFooterOrHeader())
+{
+// Adding a new page would not increase the header/footer area.
+return false;
+}
+
 return GetFormat()->GetFlySplit().GetValue();
 }
 


[Libreoffice-commits] core.git: sw/qa sw/source

2023-04-18 Thread Tünde Tóth (via logerrit)
 sw/qa/extras/ooxmlexport/data/tdf147810.odt  |binary
 sw/qa/extras/ooxmlexport/ooxmlexport11.cxx   |6 ++
 sw/source/filter/ww8/docxattributeoutput.cxx |   72 ++-
 sw/source/filter/ww8/docxattributeoutput.hxx |3 -
 4 files changed, 56 insertions(+), 25 deletions(-)

New commits:
commit 23cb5a95e057060a47facad19ad150134aa0692b
Author: Tünde Tóth 
AuthorDate: Tue Mar 28 09:17:17 2023 +0200
Commit: László Németh 
CommitDate: Tue Apr 18 11:04:03 2023 +0200

tdf#147810 DOCX export: fix corrupt file with hyperlink and text box

Remove m_startedHyperlink boolean, because the
m_nHyperLinkCount is more precise in nested paragraphs,
e.g. when exporting hyperlink combined with the export
of the paragraph of a text box attached to the paragraph
of the hyperlink, which caused corrupt DOCX file with data
loss.

Regression from commit 9835a5823e0f559aabbc0e15ea126c82229c4bc7
"sw textboxes: reimplement ODF import/export".

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

diff --git a/sw/qa/extras/ooxmlexport/data/tdf147810.odt 
b/sw/qa/extras/ooxmlexport/data/tdf147810.odt
new file mode 100644
index ..eb0d1a88466c
Binary files /dev/null and b/sw/qa/extras/ooxmlexport/data/tdf147810.odt differ
diff --git a/sw/qa/extras/ooxmlexport/ooxmlexport11.cxx 
b/sw/qa/extras/ooxmlexport/ooxmlexport11.cxx
index 908d8db90e3e..4e8d2991d83b 100644
--- a/sw/qa/extras/ooxmlexport/ooxmlexport11.cxx
+++ b/sw/qa/extras/ooxmlexport/ooxmlexport11.cxx
@@ -889,6 +889,12 @@ DECLARE_OOXMLEXPORT_TEST(testGroupedShapeLink, 
"grouped_link.docx")
  getProperty(xGroupShape->getByIndex(1), 
"Hyperlink"));
 }
 
+DECLARE_OOXMLEXPORT_TEST(testTdf147810, "tdf147810.odt")
+{
+// Without the accompanying fix in place, this test would have crashed,
+// because the exported file was corrupted.
+}
+
 CPPUNIT_PLUGIN_IMPLEMENT();
 
 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/sw/source/filter/ww8/docxattributeoutput.cxx 
b/sw/source/filter/ww8/docxattributeoutput.cxx
index 093ace109ddb..5590857f1c74 100644
--- a/sw/source/filter/ww8/docxattributeoutput.cxx
+++ b/sw/source/filter/ww8/docxattributeoutput.cxx
@@ -499,7 +499,7 @@ sal_Int32 
DocxAttributeOutput::StartParagraph(ww8::WW8TableNodeInfo::Pointer_t p
 
 m_bParagraphOpened = true;
 m_bIsFirstParagraph = false;
-m_nHyperLinkCount.push(0);
+m_nHyperLinkCount.push_back(0);
 
 return nParaId;
 }
@@ -1107,12 +1107,12 @@ void DocxAttributeOutput::EndParagraph( 
ww8::WW8TableNodeInfoInner::Pointer_t pT
 /* If m_nHyperLinkCount > 0 that means hyperlink tag is not yet closed.
  * This is due to nested hyperlink tags. So close it before end of 
paragraph.
  */
-if(m_nHyperLinkCount.top() > 0)
+if(m_nHyperLinkCount.back() > 0)
 {
-for(sal_Int32 nHyperLinkToClose = 0; nHyperLinkToClose < 
m_nHyperLinkCount.top(); ++nHyperLinkToClose)
+for(sal_Int32 nHyperLinkToClose = 0; nHyperLinkToClose < 
m_nHyperLinkCount.back(); ++nHyperLinkToClose)
 m_pSerializer->endElementNS( XML_w, XML_hyperlink );
 }
-m_nHyperLinkCount.pop();
+m_nHyperLinkCount.pop_back();
 
 if (m_aRunSdt.m_bStartedSdt)
 {
@@ -1685,7 +1685,7 @@ void DocxAttributeOutput::EndRun(const SwTextNode* pNode, 
sal_Int32 nPos, sal_In
 continue;
 }
 
-if (m_startedHyperlink || m_pHyperlinkAttrList.is())
+if (m_nHyperLinkCount.back() > 0 || m_pHyperlinkAttrList.is())
 {
 ++m_nFieldsInHyperlink;
 }
@@ -1716,7 +1716,7 @@ void DocxAttributeOutput::EndRun(const SwTextNode* pNode, 
sal_Int32 nPos, sal_In
 
 if ( m_closeHyperlinkInPreviousRun )
 {
-if ( m_startedHyperlink )
+if (m_nHyperLinkCount.back() > 0)
 {
 for ( int i = 0; i < nFieldsInPrevHyperlink; i++ )
 {
@@ -1726,11 +1726,24 @@ void DocxAttributeOutput::EndRun(const SwTextNode* 
pNode, sal_Int32 nPos, sal_In
 m_Fields.pop_back();
 }
 m_pSerializer->endElementNS( XML_w, XML_hyperlink );
-m_startedHyperlink = false;
 m_endPageRef = false;
-m_nHyperLinkCount.top()--;
+m_nHyperLinkCount.back()--;
+m_closeHyperlinkInPreviousRun = false;
+}
+else
+{
+bool bIsStartedHyperlink = false;
+for (const sal_Int32 nLinkCount : m_nHyperLinkCount)
+{
+if (nLinkCount > 0)
+{
+bIsStartedHyperlink = true;
+break;
+}
+}
+if (!bIsStartedHyperlink)
+m_closeHyperlinkInPreviousRun = false;
 }
-m_closeHy

[Libreoffice-commits] core.git: sd/qa

2023-04-18 Thread Xisco Fauli (via logerrit)
 sd/qa/unit/data/odp/tdf154754.odp |binary
 sd/qa/unit/export-tests.cxx   |8 
 2 files changed, 8 insertions(+)

New commits:
commit 128c64fd110254577d31c5bd053aa98d8c0676ed
Author: Xisco Fauli 
AuthorDate: Mon Apr 17 14:04:40 2023 +0200
Commit: Xisco Fauli 
CommitDate: Tue Apr 18 11:09:40 2023 +0200

tdf#154754: sd_export_tests: Add unittest

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

diff --git a/sd/qa/unit/data/odp/tdf154754.odp 
b/sd/qa/unit/data/odp/tdf154754.odp
new file mode 100644
index ..9aa412de8509
Binary files /dev/null and b/sd/qa/unit/data/odp/tdf154754.odp differ
diff --git a/sd/qa/unit/export-tests.cxx b/sd/qa/unit/export-tests.cxx
index 37be550e3b40..4be14483aad4 100644
--- a/sd/qa/unit/export-tests.cxx
+++ b/sd/qa/unit/export-tests.cxx
@@ -1468,6 +1468,14 @@ CPPUNIT_TEST_FIXTURE(SdExportTest, testTdf152606)
 CPPUNIT_ASSERT_EQUAL(sal_Int32(3), xDrawPage->getCount());
 }
 
+CPPUNIT_TEST_FIXTURE(SdExportTest, testTdf154754)
+{
+//Without the fix in place, it would crash at export time
+skipValidation();
+createSdImpressDoc("odp/tdf154754.odp");
+saveAndReload("impress8");
+}
+
 CPPUNIT_TEST_FIXTURE(SdExportTest, testTdf91060)
 {
 //Without the fix in place, it would crash at import time


[Libreoffice-commits] help.git: source/auxiliary

2023-04-18 Thread Olivier Hallot (via logerrit)
 source/auxiliary/scalc.tree |   15 +++
 1 file changed, 15 insertions(+)

New commits:
commit 289dce6420de9491969db0280e82bfac703dc5bd
Author: Olivier Hallot 
AuthorDate: Mon Apr 17 08:07:43 2023 -0300
Commit: Olivier Hallot 
CommitDate: Tue Apr 18 11:10:19 2023 +0200

Add data analysis Help page to Contents

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

diff --git a/source/auxiliary/scalc.tree b/source/auxiliary/scalc.tree
index 310c08..e72f0605bc 100644
--- a/source/auxiliary/scalc.tree
+++ b/source/auxiliary/scalc.tree
@@ -152,6 +152,21 @@
   Updating Pivot 
Charts
   Deleting Pivot 
Charts
 
+
+  Data 
Sampling
+  Descriptive 
Statistics
+  Analysis og 
Variance (ANOVA)
+  Correlation
+  Covariance
+  Exponential 
Smoothing
+  Moving 
Average
+  Regression 
Analysis
+  Paired 
t-Test
+  f-Test
+  z-Test
+  Chi-square 
Test
+  Fourier 
Analysis
+
 
   Using Scenarios
 


[Libreoffice-commits] core.git: helpcontent2

2023-04-18 Thread Olivier Hallot (via logerrit)
 helpcontent2 |2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

New commits:
commit 36213a2a0bcea9c9919218dedef854b199353aad
Author: Olivier Hallot 
AuthorDate: Tue Apr 18 06:10:20 2023 -0300
Commit: Gerrit Code Review 
CommitDate: Tue Apr 18 11:10:20 2023 +0200

Update git submodules

* Update helpcontent2 from branch 'master'
  to 289dce6420de9491969db0280e82bfac703dc5bd
  - Add data analysis Help page to Contents

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

diff --git a/helpcontent2 b/helpcontent2
index d7088d24df28..289dce6420de 16
--- a/helpcontent2
+++ b/helpcontent2
@@ -1 +1 @@
-Subproject commit d7088d24df28bba2fdbab7d77a2e7151e3b4f0dd
+Subproject commit 289dce6420de9491969db0280e82bfac703dc5bd


[Libreoffice-commits] core.git: xmlhelp/source

2023-04-18 Thread Michael Stahl (via logerrit)
 xmlhelp/source/cxxhelp/provider/databases.cxx |  120 ++
 xmlhelp/source/cxxhelp/provider/databases.hxx |   27 -
 2 files changed, 104 insertions(+), 43 deletions(-)

New commits:
commit 5195530f3ac43f071bc5676fd7ad1a0adc63e9d8
Author: Michael Stahl 
AuthorDate: Fri Apr 14 18:48:44 2023 +0200
Commit: Michael Stahl 
CommitDate: Tue Apr 18 11:28:20 2023 +0200

xmlhelp: fix lots of deadlocks

Not sure if any of this makes sense but it doesn't deadlock immediatly.

(regression from comit 2c37a0ca31095165d05740a2ff4969f625b4a75b)

Change-Id: I4a5e01acb06b56a78453900a143d36cad1156f21
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/150431
Tested-by: Jenkins
Reviewed-by: Michael Stahl 

diff --git a/xmlhelp/source/cxxhelp/provider/databases.cxx 
b/xmlhelp/source/cxxhelp/provider/databases.cxx
index be5f964ca292..351625e7dbcb 100644
--- a/xmlhelp/source/cxxhelp/provider/databases.cxx
+++ b/xmlhelp/source/cxxhelp/provider/databases.cxx
@@ -277,6 +277,11 @@ OUString Databases::getInstallPathAsURL()
 return m_aInstallDirectory;
 }
 
+OUString Databases::getInstallPathAsURL(std::unique_lock& )
+{
+return m_aInstallDirectory;
+}
+
 const std::vector< OUString >& Databases::getModuleList( const OUString& 
Language )
 {
 if( m_avModules.empty() )
@@ -430,20 +435,29 @@ OUString Databases::processLang( 
std::unique_lock& /*rGuard*/, const
 return ret;
 }
 
-helpdatafileproxy::Hdf* Databases::getHelpDataFile( std::u16string_view 
Database,
+helpdatafileproxy::Hdf* Databases::getHelpDataFile(std::u16string_view 
Database,
 const OUString& Language, bool helpText,
 const OUString* pExtensionPath )
+{
+std::unique_lock aGuard( m_aMutex );
+
+return getHelpDataFile(aGuard, Database, Language, helpText, 
pExtensionPath);
+}
+
+helpdatafileproxy::Hdf* 
Databases::getHelpDataFile(std::unique_lock& rGuard,
+std::u16string_view Database,
+const OUString& Language, bool helpText,
+const OUString* pExtensionPath )
+
 {
 if( Database.empty() || Language.isEmpty() )
 return nullptr;
 
-std::unique_lock aGuard( m_aMutex );
-
 OUString aFileExt( helpText ? OUString(".ht") : OUString(".db") );
 OUString dbFileName = OUString::Concat("/") + Database + aFileExt;
 OUString key;
 if( pExtensionPath == nullptr )
-key = processLang( aGuard, Language ) + dbFileName;
+key = processLang( rGuard, Language ) + dbFileName;
 else
 key = *pExtensionPath + Language + dbFileName;  // make unique, 
don't change language
 
@@ -458,7 +472,7 @@ helpdatafileproxy::Hdf* Databases::getHelpDataFile( 
std::u16string_view Database
 
 OUString fileURL;
 if( pExtensionPath )
-fileURL = expandURL(aGuard, *pExtensionPath) + Language + 
dbFileName;
+fileURL = expandURL(rGuard, *pExtensionPath) + Language + 
dbFileName;
 else
 fileURL = m_aInstallDirectory + key;
 
@@ -480,12 +494,10 @@ helpdatafileproxy::Hdf* Databases::getHelpDataFile( 
std::u16string_view Database
 }
 
 Reference< XCollator >
-Databases::getCollator( const OUString& Language )
+Databases::getCollator(std::unique_lock&, const OUString& Language)
 {
 OUString key = Language;
 
-std::unique_lock aGuard( m_aMutex );
-
 CollatorTable::iterator it =
 m_aCollatorTable.emplace( key, Reference< XCollator >() ).first;
 
@@ -728,7 +740,7 @@ KeywordInfo* Databases::getKeyword( const OUString& 
Database,
 bool bExtension = false;
 for (;;)
 {
-fileURL = aDbFileIt.nextDbFile( bExtension );
+fileURL = aDbFileIt.nextDbFile(aGuard, bExtension);
 if( fileURL.isEmpty() )
 break;
 OUString fileNameHDFHelp( fileURL );
@@ -741,7 +753,7 @@ KeywordInfo* Databases::getKeyword( const OUString& 
Database,
 helpdatafileproxy::HDFData aValue;
 if( aHdf.startIteration() )
 {
-helpdatafileproxy::Hdf* pHdf = getHelpDataFile( 
Database,Language );
+helpdatafileproxy::Hdf* pHdf = getHelpDataFile(aGuard, 
Database,Language );
 if( pHdf != nullptr )
 {
 pHdf->releaseHashMap();
@@ -776,7 +788,7 @@ KeywordInfo* Databases::getKeyword( const OUString& 
Database,
 }
 
 // sorting
-Reference< XCollator > xCollator = getCollator( Language );
+Reference xCollator = getCollator(aGuard, Language);
 KeywordElementComparator aComparator( xCollator );
 std::sort(aVector.begin(),aVector.end(),aComparator);
 
@@ -786,7 +798,8 @@ KeywordInfo* Databases::getKeyword( const OUString& 
Database,
 return it->second.get();
 }
 
-Reference< XHierarchicalNameAccess > Databases::jarFile( std::u16string_view 
jar,

Proposition for LibreOfiice

2023-04-18 Thread flywire
https://lists.freedesktop.org/archives/libreoffice/2023-April/090269.html

Use case seems similar to lo guides, ie
https://documentation.libreoffice.org/en/english-documentation/ - ask a
question on https://ask.libreoffice.org/


[Libreoffice-commits] core.git: Branch 'libreoffice-7-4' - sw/qa sw/source

2023-04-18 Thread László Németh (via logerrit)
 sw/qa/extras/odfexport/data/tdf150149.fodt |   79 +
 sw/qa/extras/odfexport/odfexport.cxx   |   10 +++
 sw/source/core/layout/tabfrm.cxx   |   11 +++-
 3 files changed, 98 insertions(+), 2 deletions(-)

New commits:
commit 0f976c3b5608ec77dc3ad539e9a8d83b2e423a60
Author: László Németh 
AuthorDate: Fri Apr 14 11:07:47 2023 +0200
Commit: László Németh 
CommitDate: Tue Apr 18 11:42:04 2023 +0200

tdf#150149 sw: fix table header in multi-column sections

Disabling long repeating table header on pages resulted
lost table header within multi-column sections. To fix this,
revert commit f7e071a00542c414a7e9d7bcf4434d908f225e59
for tables in sections.

Regression from commit f7e071a00542c414a7e9d7bcf4434d908f225e59
"tdf#88496 DOCX: disable long repeating table header".

Change-Id: Idb7b9ea014be5430a185489cf449463f534c1916
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/150393
Tested-by: Jenkins
Reviewed-by: László Németh 
(cherry picked from commit a36fda0d7c70ffd344f9636ca436e77e41dc01f1)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/150325
Tested-by: László Németh 

diff --git a/sw/qa/extras/odfexport/data/tdf150149.fodt 
b/sw/qa/extras/odfexport/data/tdf150149.fodt
new file mode 100644
index ..51aea046a218
--- /dev/null
+++ b/sw/qa/extras/odfexport/data/tdf150149.fodt
@@ -0,0 +1,79 @@
+
+
+
+ 
+  
+   
+  
+  
+   
+
+
+   
+  
+ 
+ 
+  
+   
+
+ 
+ 
+ 
+  
+   A
+  
+  
+   B
+  
+  
+   C
+  
+ 
+ 
+ 
+  
+  
+  
+ 
+ 
+  
+  
+  
+ 
+ 
+  
+  
+  
+ 
+ 
+  
+  
+  
+ 
+ 
+  
+  
+  
+ 
+ 
+  
+  
+  
+ 
+ 
+  
+  
+  
+ 
+ 
+  
+  
+  
+ 
+
+
+   
+  
+ 
+
+
diff --git a/sw/qa/extras/odfexport/odfexport.cxx 
b/sw/qa/extras/odfexport/odfexport.cxx
index 87a7f93893cf..88a0d657f506 100644
--- a/sw/qa/extras/odfexport/odfexport.cxx
+++ b/sw/qa/extras/odfexport/odfexport.cxx
@@ -296,6 +296,16 @@ DECLARE_ODFEXPORT_TEST(testTdf125877, "tdf95806.docx")
 CPPUNIT_ASSERT_EQUAL(sal_Int32(1), xIndexAccess->getCount());
 }
 
+CPPUNIT_TEST_FIXTURE(Test, testTdf150149)
+{
+loadAndReload("tdf150149.fodt");
+CPPUNIT_ASSERT_EQUAL(1, getPages());
+xmlDocUniquePtr pXmlDoc = parseExport("content.xml");
+// This was 0 (lost table header in multi-column section)
+assertXPath(pXmlDoc, "//table:table-header-rows", 1);
+assertXPath(pXmlDoc, 
"//table:table-header-rows/table:table-row/table:table-cell", 3);
+}
+
 DECLARE_ODFEXPORT_TEST(testTdf103567, "tdf103567.odt")
 {
 CPPUNIT_ASSERT_EQUAL(1, getShapes());
diff --git a/sw/source/core/layout/tabfrm.cxx b/sw/source/core/layout/tabfrm.cxx
index 9b3816685560..8e3a1b5dc1d1 100644
--- a/sw/source/core/layout/tabfrm.cxx
+++ b/sw/source/core/layout/tabfrm.cxx
@@ -1097,9 +1097,16 @@ bool SwTabFrame::Split( const SwTwips nCutPos, bool 
bTryToSplit, bool bTableRowK
 // First case: One of the repeated headline does not fit to the page 
anymore.
 // tdf#88496 Disable repeated headline (like for #i44910#) to avoid 
loops and
 // to fix interoperability problems (very long tables only with 
headline)
+// tdf#150149 except in multi-column sections, where it's possible to 
enlarge
+// the height of the section frame instead of using this fallback
 OSL_ENSURE( !GetIndPrev(), "Table is supposed to be at beginning" );
-m_pTable->SetRowsToRepeat(0);
-return false;
+if ( !IsInSct() )
+{
+m_pTable->SetRowsToRepeat(0);
+return false;
+}
+else
+bKeepNextRow = true;
 }
 else if ( !GetIndPrev() && nRepeat == nRowCount )
 {


[Libreoffice-commits] core.git: sw/qa

2023-04-18 Thread Miklos Vajna (via logerrit)
 sw/qa/extras/ww8export/ww8export.cxx |   13 ++---
 1 file changed, 10 insertions(+), 3 deletions(-)

New commits:
commit 2424fa9c601003a9778bbc3a9cf0f55d33ead6f1
Author: Miklos Vajna 
AuthorDate: Tue Apr 18 10:17:36 2023 +0200
Commit: Miklos Vajna 
CommitDate: Tue Apr 18 11:44:46 2023 +0200

sw floattable: fix CppunitTest_sw_ww8export's testTdf112346

Assert the layout, not the doc model, then this still passes.

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

diff --git a/sw/qa/extras/ww8export/ww8export.cxx 
b/sw/qa/extras/ww8export/ww8export.cxx
index d1213f8230cf..3afb2b6cd2fd 100644
--- a/sw/qa/extras/ww8export/ww8export.cxx
+++ b/sw/qa/extras/ww8export/ww8export.cxx
@@ -761,10 +761,17 @@ DECLARE_WW8EXPORT_TEST( testTdf105570, "tdf105570.doc" )
 CPPUNIT_ASSERT_EQUAL( sal_uInt16(0), 
pTableNd->GetTable().GetRowsToRepeat() );
 }
 
-DECLARE_WW8EXPORT_TEST(testTdf112346, "tdf112346.doc")
+CPPUNIT_TEST_FIXTURE(Test, testTdf112346)
 {
-// This was 1, multi-page table was imported as a floating one.
-CPPUNIT_ASSERT_EQUAL(0, getShapes());
+SwModelTestBase::FlySplitGuard aGuard;
+auto verify = [this]() {
+// Multi-page table was imported as a single page.
+CPPUNIT_ASSERT_EQUAL(2, getPages());
+};
+createSwDoc("tdf112346.doc");
+verify();
+reload(mpFilter, "tdf112346.doc");
+verify();
 }
 
 DECLARE_WW8EXPORT_TEST(testTdf79639, "tdf79639.doc")


[Libreoffice-commits] core.git: Branch 'libreoffice-7-4' - chart2/source

2023-04-18 Thread Caolán McNamara (via logerrit)
 chart2/source/tools/MovingAverageRegressionCurveCalculator.cxx |2 ++
 1 file changed, 2 insertions(+)

New commits:
commit bdd0cd702f37ff979b55a955905f9beb28f82ba1
Author: Caolán McNamara 
AuthorDate: Mon Apr 17 09:38:45 2023 +0100
Commit: Michael Stahl 
CommitDate: Tue Apr 18 11:49:10 2023 +0200

Resolves: tdf#146068 don't crash when MA(central) lacks data

Change-Id: I2c9b78f4d1a963bb71abb21068e61e6983ade777
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/150501
Tested-by: Jenkins
Reviewed-by: Michael Stahl 

diff --git a/chart2/source/tools/MovingAverageRegressionCurveCalculator.cxx 
b/chart2/source/tools/MovingAverageRegressionCurveCalculator.cxx
index 6236f73b398d..6726d9d78b36 100644
--- a/chart2/source/tools/MovingAverageRegressionCurveCalculator.cxx
+++ b/chart2/source/tools/MovingAverageRegressionCurveCalculator.cxx
@@ -84,6 +84,8 @@ void 
MovingAverageRegressionCurveCalculator::calculateValuesCentral(
 RegressionCalculationHelper::tDoubleVectorPair aValues)
 {
 const size_t aSize = aValues.first.size();
+if (aSize == 0)
+return;
 for (size_t i = mPeriod - 1; i < aSize; ++i)
 {
 double yAvg = 0.0;


[Libreoffice-commits] core.git: Branch 'libreoffice-7-5' - chart2/source

2023-04-18 Thread Caolán McNamara (via logerrit)
 chart2/source/tools/MovingAverageRegressionCurveCalculator.cxx |2 ++
 1 file changed, 2 insertions(+)

New commits:
commit fde5e93fb09d079cbd145a08469e56339f58c4f9
Author: Caolán McNamara 
AuthorDate: Mon Apr 17 09:38:45 2023 +0100
Commit: Michael Stahl 
CommitDate: Tue Apr 18 11:48:57 2023 +0200

Resolves: tdf#146068 don't crash when MA(central) lacks data

Change-Id: I2c9b78f4d1a963bb71abb21068e61e6983ade777
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/150500
Tested-by: Jenkins
Reviewed-by: Michael Stahl 

diff --git a/chart2/source/tools/MovingAverageRegressionCurveCalculator.cxx 
b/chart2/source/tools/MovingAverageRegressionCurveCalculator.cxx
index 6236f73b398d..6726d9d78b36 100644
--- a/chart2/source/tools/MovingAverageRegressionCurveCalculator.cxx
+++ b/chart2/source/tools/MovingAverageRegressionCurveCalculator.cxx
@@ -84,6 +84,8 @@ void 
MovingAverageRegressionCurveCalculator::calculateValuesCentral(
 RegressionCalculationHelper::tDoubleVectorPair aValues)
 {
 const size_t aSize = aValues.first.size();
+if (aSize == 0)
+return;
 for (size_t i = mPeriod - 1; i < aSize; ++i)
 {
 double yAvg = 0.0;


[Libreoffice-commits] core.git: Branch 'libreoffice-7-5' - include/oox oox/source sw/qa sw/source

2023-04-18 Thread Tünde Tóth (via logerrit)
 include/oox/core/xmlfilterbase.hxx   |4 
 oox/source/export/shapes.cxx |   23 +++
 sw/qa/extras/ooxmlexport/ooxmlexport11.cxx   |   11 +++
 sw/qa/extras/ooxmlimport/ooxmlimport2.cxx|   10 --
 sw/source/filter/ww8/docxattributeoutput.cxx |6 ++
 5 files changed, 44 insertions(+), 10 deletions(-)

New commits:
commit f323e6de3dc1e2658142644a3357cbd5459da4f6
Author: Tünde Tóth 
AuthorDate: Wed Mar 29 15:09:11 2023 +0200
Commit: Michael Stahl 
CommitDate: Tue Apr 18 11:56:22 2023 +0200

tdf#154469 DOCX export: fix hyperlink in group shape

Hyperlink inserted to shape lost after export,
if the shape was inside a group shape.

Follow-up to commit 7f4f88b883f81fbce975f72aea0f66a54e269ead
"tdf#145147 DOCX import: fix hyperlink in group shape".

Change-Id: I48b582c04b6f779cb5393179f65a32d7a7eca5ce
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/149716
Tested-by: László Németh 
Reviewed-by: László Németh 
(cherry picked from commit 7460e4f4a7b15cc7984adf65bc17e3d580413224)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/150507
Tested-by: Jenkins
Reviewed-by: Michael Stahl 

diff --git a/include/oox/core/xmlfilterbase.hxx 
b/include/oox/core/xmlfilterbase.hxx
index 89a7994a904b..317c2a2cb789 100644
--- a/include/oox/core/xmlfilterbase.hxx
+++ b/include/oox/core/xmlfilterbase.hxx
@@ -221,6 +221,10 @@ public:
  */
 sal_Int32 GetUniqueId() { return mnMaxDocId++; }
 
+sal_Int32 GetMaxDocId() { return mnMaxDocId; }
+
+void SetMaxDocId(sal_Int32 maxDocId) { mnMaxDocId = maxDocId; }
+
 /** Write the document properties into into the current OPC package.
 
 @param xProperties  The document properties to export.
diff --git a/oox/source/export/shapes.cxx b/oox/source/export/shapes.cxx
index ec2ebd54d56c..a181f4d45db5 100644
--- a/oox/source/export/shapes.cxx
+++ b/oox/source/export/shapes.cxx
@@ -902,6 +902,29 @@ ShapeExport& ShapeExport::WriteCustomShape( const 
Reference< XShape >& xShape )
 else
 {
 pFS->startElementNS(mnXmlNamespace, XML_wsp);
+if (m_xParent.is())
+{
+pFS->startElementNS(mnXmlNamespace, XML_cNvPr, XML_id,
+OString::number(GetShapeID(xShape) == -1 ? 
GetNewShapeID(xShape)
+ : 
GetShapeID(xShape)),
+XML_name, GetShapeName(xShape));
+
+if (GetProperty(rXPropSet, "Hyperlink"))
+{
+OUString sURL;
+mAny >>= sURL;
+if (!sURL.isEmpty())
+{
+OUString sRelId = mpFB->addRelation(
+mpFS->getOutputStream(), 
oox::getRelationship(Relationship::HYPERLINK),
+mpURLTransformer->getTransformedString(sURL),
+mpURLTransformer->isExternalURL(sURL));
+
+mpFS->singleElementNS(XML_a, XML_hlinkClick, FSNS(XML_r, 
XML_id), sRelId);
+}
+}
+pFS->endElementNS(mnXmlNamespace, XML_cNvPr);
+}
 pFS->singleElementNS(mnXmlNamespace, XML_cNvSpPr);
 }
 
diff --git a/sw/qa/extras/ooxmlimport/data/grouped_link.docx 
b/sw/qa/extras/ooxmlexport/data/grouped_link.docx
similarity index 100%
rename from sw/qa/extras/ooxmlimport/data/grouped_link.docx
rename to sw/qa/extras/ooxmlexport/data/grouped_link.docx
diff --git a/sw/qa/extras/ooxmlexport/ooxmlexport11.cxx 
b/sw/qa/extras/ooxmlexport/ooxmlexport11.cxx
index 04ce5b8d452c..908d8db90e3e 100644
--- a/sw/qa/extras/ooxmlexport/ooxmlexport11.cxx
+++ b/sw/qa/extras/ooxmlexport/ooxmlexport11.cxx
@@ -878,6 +878,17 @@ DECLARE_OOXMLEXPORT_TEST(testTdf149996, 
"lorem_hyperlink.fodt")
 // because the exported file was corrupted.
 }
 
+DECLARE_OOXMLEXPORT_TEST(testGroupedShapeLink, "grouped_link.docx")
+{
+// tdf#145147 Hyperlink in grouped shape not imported
+// tdf#154469 Hyperlink in grouped shape not exported
+uno::Reference xGroupShape(getShape(1), uno::UNO_QUERY);
+CPPUNIT_ASSERT_EQUAL(OUString("https://www.libreoffice.org";),
+ getProperty(xGroupShape->getByIndex(0), 
"Hyperlink"));
+CPPUNIT_ASSERT_EQUAL(OUString("https://www.documentfoundation.org";),
+ getProperty(xGroupShape->getByIndex(1), 
"Hyperlink"));
+}
+
 CPPUNIT_PLUGIN_IMPLEMENT();
 
 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/sw/qa/extras/ooxmlimport/ooxmlimport2.cxx 
b/sw/qa/extras/ooxmlimport/ooxmlimport2.cxx
index 37f1a48ca834..a8e0c64c8712 100644
--- a/sw/qa/extras/ooxmlimport/ooxmlimport2.cxx
+++ b/sw/qa/extras/ooxmlimport/ooxmlimport2.cxx
@@ -1132,16 +1132,6 @@ CPPUNIT_TEST_FIXTURE(Test, testTdf154695)
 }
 }
 
-CPPUNIT_TEST_FIXTURE(Test, testTdf145147)
-{
-createSwDoc("grouped_link.docx");
-uno::Reference xGroupS

[Libreoffice-commits] core.git: include/xmloff reportdesign/source sc/source xmloff/source

2023-04-18 Thread Noel Grandin (via logerrit)
 include/xmloff/shapeexport.hxx   |6 +---
 include/xmloff/xmlaustp.hxx  |3 --
 include/xmloff/xmlexppr.hxx  |   11 +--
 include/xmloff/xmlprmap.hxx  |3 --
 reportdesign/source/filter/xml/xmlExport.cxx |3 --
 sc/source/filter/xml/xmlexprt.cxx|7 ++--
 xmloff/source/chart/SchXMLExport.cxx |3 --
 xmloff/source/draw/sdxmlexp.cxx  |   12 +++-
 xmloff/source/draw/shapeexport.cxx   |   11 ++-
 xmloff/source/style/impastpl.cxx |   15 --
 xmloff/source/style/impastpl.hxx |3 --
 xmloff/source/style/xmlaustp.cxx |6 
 xmloff/source/style/xmlexppr.cxx |   39 +--
 xmloff/source/style/xmlprmap.cxx |6 
 xmloff/source/text/txtparae.cxx  |3 --
 15 files changed, 33 insertions(+), 98 deletions(-)

New commits:
commit aff9ea4c77e3cdcee6713c84aca26e5b195c4f3d
Author: Noel Grandin 
AuthorDate: Tue Apr 18 08:17:28 2023 +0200
Commit: Noel Grandin 
CommitDate: Tue Apr 18 12:21:36 2023 +0200

fix brain malfunction

in
commit 01a3cc1e55034f7703219d4bbb209de7c37bf07b
Author: Noel Grandin 
Date:   Tue Nov 29 16:09:10 2022 +0200
tdf#133343 collect autostyle prop names
before scanning for autostyles. That way we can collect only the
property state we are interested in, instead of all properties.

where I apparently wrote the code at the beginning of the call-chain
to collect autostyle prop names, and I wrote the code at the end of the
call-chain to filter on those names, but I never hooked it up in
the middle.

(which just means that the initial commit had no effect at all)

Unfortunately, fixing the middle part results in
unit test failures, so for now, just revert it.

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

diff --git a/include/xmloff/shapeexport.hxx b/include/xmloff/shapeexport.hxx
index 5313fe9e48f9..0d0e4ce6521e 100644
--- a/include/xmloff/shapeexport.hxx
+++ b/include/xmloff/shapeexport.hxx
@@ -223,8 +223,7 @@ public:
 
 // This method collects all automatic styles for the given XShape
 void collectShapeAutoStyles(
-const css::uno::Reference < css::drawing::XShape >& xShape,
-const css::uno::Sequence& rAutoStylePropNames);
+const css::uno::Reference < css::drawing::XShape >& xShape);
 
 // This method exports the given XShape
 void exportShape(
@@ -236,8 +235,7 @@ public:
 
 // This method collects all automatic styles for the shapes inside the 
given XShapes collection
 void collectShapesAutoStyles(
-const css::uno::Reference < css::drawing::XShapes >& xShapes,
-const css::uno::Sequence& rAutoStylePropNames);
+const css::uno::Reference < css::drawing::XShapes >& xShapes);
 
 // This method exports all XShape inside the given XShapes collection
 void exportShapes(
diff --git a/include/xmloff/xmlaustp.hxx b/include/xmloff/xmlaustp.hxx
index 2051e7ac43e2..8902b488a055 100644
--- a/include/xmloff/xmlaustp.hxx
+++ b/include/xmloff/xmlaustp.hxx
@@ -110,9 +110,6 @@ public:
 css::uno::Sequence const & aFamilies,
 css::uno::Sequence const & aNames );
 
-/// retrieve the names of the properties used in the styles
-css::uno::Sequence GetPropertyNames();
-
 /// Add an item set to the pool and return its generated name.
 OUString Add( XmlStyleFamily nFamily, ::std::vector< XMLPropertyState >&& 
rProperties );
 OUString Add( XmlStyleFamily nFamily, const OUString& rParent, 
::std::vector< XMLPropertyState >&& rProperties, bool bDontSeek = false );
diff --git a/include/xmloff/xmlexppr.hxx b/include/xmloff/xmlexppr.hxx
index 53f6c558257d..0b816384dd9a 100644
--- a/include/xmloff/xmlexppr.hxx
+++ b/include/xmloff/xmlexppr.hxx
@@ -23,10 +23,8 @@
 #include 
 #include 
 #include 
-#include 
 #include 
 #include 
-#include 
 
 #include 
 #include 
@@ -68,8 +66,7 @@ protected:
 std::vector Filter_(
 SvXMLExport const& rExport,
 const css::uno::Reference& rPropSet,
-bool bDefault, bool bDisableFoFontFamily,
-const css::uno::Sequence* pOnlyTheseProps ) const;
+bool bDefault, bool bDisableFoFontFamily ) const;
 
 /** Application-specific filter. By default do nothing. */
 virtual void ContextFilter(
@@ -119,9 +116,7 @@ public:
 filter-processes. */
 std::vector Filter(
 SvXMLExport const& rExport,
-const css::uno::Reference& rPropSet,
-bool bEnableFoFontFamily = false,
-const css::uno::Sequence* pOnlyTheseProps = nullptr ) const;
+const css::uno::Reference& rPropSet, bool 
bEnableFoFontFamily = false ) const;
 
 

[Libreoffice-commits] core.git: sc/uiconfig solenv/sanitizers

2023-04-18 Thread Heiko Tietze (via logerrit)
 sc/uiconfig/scalc/ui/sidebarnumberformat.ui |6 ++
 sc/uiconfig/scalc/ui/solverdlg.ui   |1 -
 sc/uiconfig/scalc/ui/sortcriteriapage.ui|   12 
 sc/uiconfig/scalc/ui/sortkey.ui |6 ++
 sc/uiconfig/scalc/ui/sortoptionspage.ui |   12 
 solenv/sanitizers/ui/modules/scalc.suppr|3 +++
 6 files changed, 39 insertions(+), 1 deletion(-)

New commits:
commit 898b77b645cc8b3911bc0722f538ad61f12835c8
Author: Heiko Tietze 
AuthorDate: Fri Apr 14 17:01:01 2023 +0200
Commit: Heiko Tietze 
CommitDate: Tue Apr 18 12:38:40 2023 +0200

Solve or suppress accessibility warnings

Change-Id: Ice45231375e659ea25907c1af0a48ca77d3cb63b
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/150421
Tested-by: Jenkins
Reviewed-by: Heiko Tietze 

diff --git a/sc/uiconfig/scalc/ui/sidebarnumberformat.ui 
b/sc/uiconfig/scalc/ui/sidebarnumberformat.ui
index 3da15aa75a1e..f662e2246f0a 100644
--- a/sc/uiconfig/scalc/ui/sidebarnumberformat.ui
+++ b/sc/uiconfig/scalc/ui/sidebarnumberformat.ui
@@ -199,6 +199,9 @@
 Leading _zeroes:
 True
 0
+
+
+
   
   
 0
@@ -218,6 +221,9 @@
 Leading Zeroes
   
 
+
+
+
   
   
 1
diff --git a/sc/uiconfig/scalc/ui/solverdlg.ui 
b/sc/uiconfig/scalc/ui/solverdlg.ui
index 458a205ba5d4..f5b1e7ebe036 100644
--- a/sc/uiconfig/scalc/ui/solverdlg.ui
+++ b/sc/uiconfig/scalc/ui/solverdlg.ui
@@ -140,7 +140,6 @@
 False
 Optimize result to
 True
-max
 0
 0
 
diff --git a/sc/uiconfig/scalc/ui/sortcriteriapage.ui 
b/sc/uiconfig/scalc/ui/sortcriteriapage.ui
index 67ebed40ab82..f56e5e1fd8ef 100644
--- a/sc/uiconfig/scalc/ui/sortcriteriapage.ui
+++ b/sc/uiconfig/scalc/ui/sortcriteriapage.ui
@@ -98,6 +98,9 @@
 True
 True
 rbTopDown
+
+  
+
   
   
 1
@@ -110,6 +113,9 @@
 False
 Direction:
 1
+
+
+
   
   
 0
@@ -124,6 +130,9 @@
 False
 True
 True
+
+  
+
   
   
 1
@@ -136,6 +145,9 @@
 False
 Headers:
 1
+
+
+
   
   
 0
diff --git a/sc/uiconfig/scalc/ui/sortkey.ui b/sc/uiconfig/scalc/ui/sortkey.ui
index 62b7813bc2db..781c846ae82f 100644
--- a/sc/uiconfig/scalc/ui/sortkey.ui
+++ b/sc/uiconfig/scalc/ui/sortkey.ui
@@ -29,6 +29,9 @@
 Select the column that 
you want to use as the primary sort key.
   
 
+
+
+
   
   
 1
@@ -82,6 +85,9 @@
 False
 Column/Row:
 1
+
+
+
   
   
 0
diff --git a/sc/uiconfig/scalc/ui/sortoptionspage.ui 
b/sc/uiconfig/scalc/ui/sortoptionspage.ui
index 89e0be9500cc..f807dbcb082b 100644
--- a/sc/uiconfig/scalc/ui/sortoptionspage.ui
+++ b/sc/uiconfig/scalc/ui/sortoptionspage.ui
@@ -238,6 +238,9 @@
 start
 Language
 True
+
+
+
   
   
 0
@@ -251,6 +254,9 @@
 start
 Options
 True
+
+
+
   
   
 1
@@ -272,6 +278,9 @@
 Select the 
language for the sorting rules.
   
 
+
+
+
   
   
 0
@@ -288,6 +297,9 @@
 Select a 
sorting option for the language.
   
 
+
+
+
   
   
 1
diff --git a/solenv/sanitizers/ui/modules/scalc.suppr 
b/solenv/sanitizers/ui/modules/scalc.suppr
index 07e2972554a1..8e0acbdf8290 100644
--- a/solenv/sanitizers/ui/modules/scalc.suppr
+++ b/solenv/sanitizers/ui/modules/scalc.suppr
@@ -157,3 +157,6 @@ 
sc/uiconfig/scalc/ui/xmlsourcedialog.ui://GtkLabel[@id='label5'] orphan-label
 sc/uiconfig/scalc/u

[Libreoffice-commits] core.git: sc/qa sc/source

2023-04-18 Thread Andreas Heinisch (via logerrit)
 sc/qa/extras/macros-test.cxx|   32 
 sc/source/ui/unoobj/viewuno.cxx |   18 +-
 2 files changed, 45 insertions(+), 5 deletions(-)

New commits:
commit 10f2e8363076fb9217b4fc8acf12b4d9c13328cc
Author: Andreas Heinisch 
AuthorDate: Fri Apr 14 14:29:12 2023 +0200
Commit: Andreas Heinisch 
CommitDate: Tue Apr 18 12:40:49 2023 +0200

tdf#154803 - Check if range is entirely merged

Regression from commit b9411e587586750f36ba9009b5f1e29fe461d8b5 where I
missinterpreted the check to get merged cells.

Regression:
tdf#147122 - Return cell object when a simple selection is merged
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/145378

Change-Id: I2e39599a206cf102b1da8c7fc4bb2d8c0a4b106c
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/150412
Tested-by: Jenkins
Reviewed-by: Andreas Heinisch 

diff --git a/sc/qa/extras/macros-test.cxx b/sc/qa/extras/macros-test.cxx
index dd971e36dec1..1135fbd38f69 100644
--- a/sc/qa/extras/macros-test.cxx
+++ b/sc/qa/extras/macros-test.cxx
@@ -911,6 +911,38 @@ CPPUNIT_TEST_FIXTURE(ScMacrosTest, testTdf147122)
 CPPUNIT_ASSERT_EQUAL(Any(OUString("This is a test")), aRet);
 }
 
+CPPUNIT_TEST_FIXTURE(ScMacrosTest, testTdf154803)
+{
+mxComponent = loadFromDesktop("private:factory/scalc");
+
+css::uno::Reference xDocScr(mxComponent, 
UNO_QUERY_THROW);
+auto xLibs = xDocScr->getBasicLibraries();
+auto xLibrary = xLibs->createLibrary("TestLibrary");
+xLibrary->insertByName(
+"TestModule",
+uno::Any(
+OUString("Function TestExtendedMergedSelection\n"
+ // Merge A1:B2 cell range
+ "  oActiveSheet = 
ThisComponent.CurrentController.ActiveSheet\n"
+ "  oRange = oActiveSheet.getCellRangeByName(\"A1:B2\")\n"
+ "  ThisComponent.getCurrentController.Select(oRange)\n"
+ "  oActiveCell = ThisComponent.CurrentSelection\n"
+ "  oActiveCell.Merge(True)\n"
+ // Select A1:B3 range and check for its implementation 
name
+ "  oRange = oActiveSheet.getCellRangeByName(\"A1:B3\")\n"
+ "  ThisComponent.getCurrentController.Select(oRange)\n"
+ "  TestExtendedMergedSelection = 
ThisComponent.CurrentSelection.ImplementationName\n"
+ "End Function\n")));
+
+Any aRet = 
executeMacro("vnd.sun.Star.script:TestLibrary.TestModule.TestExtendedMergedSelection?"
+"language=Basic&location=document");
+// Without the fix in place, this test would have failed with
+// - Expected : ScCellRangeObj
+// - Actual   : ScCellObj
+// i.e. the selection was interpreted as a single cell instead of a range
+CPPUNIT_ASSERT_EQUAL(Any(OUString("ScCellRangeObj")), aRet);
+}
+
 CPPUNIT_TEST_FIXTURE(ScMacrosTest, testTdf116127)
 {
 mxComponent = loadFromDesktop("private:factory/scalc");
diff --git a/sc/source/ui/unoobj/viewuno.cxx b/sc/source/ui/unoobj/viewuno.cxx
index 96b055250c72..bfde44272010 100644
--- a/sc/source/ui/unoobj/viewuno.cxx
+++ b/sc/source/ui/unoobj/viewuno.cxx
@@ -54,6 +54,7 @@
 #include 
 #include 
 #include 
+#include 
 #include 
 #include 
 #include 
@@ -873,13 +874,20 @@ uno::Any SAL_CALL ScTabViewObj::getSelection()
 ScMarkType eMarkType = rViewData.GetSimpleArea(aRange);
 if ( nTabs == 1 && (eMarkType == SC_MARK_SIMPLE) )
 {
-// tdf#147122 - return cell object when a simple selection is 
merged
+// tdf#154803 - check if range is entirely merged
 ScDocument& rDoc = pDocSh->GetDocument();
-const ScPatternAttr* pMarkPattern = rDoc.GetPattern(aRange.aStart);
+const ScMergeAttr* pMergeAttr = rDoc.GetAttr(aRange.aStart, 
ATTR_MERGE);
+SCCOL nColSpan = 1;
+SCROW nRowSpan = 1;
+if (pMergeAttr && pMergeAttr->IsMerged())
+{
+nColSpan = pMergeAttr->GetColMerge();
+nRowSpan = pMergeAttr->GetRowMerge();
+}
+// tdf#147122 - return cell object when a simple selection is 
entirely merged
 if (aRange.aStart == aRange.aEnd
-|| (pMarkPattern
-&& pMarkPattern->GetItemSet().GetItemState(ATTR_MERGE, 
false)
-   == SfxItemState::SET))
+|| (aRange.aEnd.Col() - aRange.aStart.Col() == nColSpan - 1
+&& aRange.aEnd.Row() - aRange.aStart.Row() == nRowSpan - 
1))
 pObj = new ScCellObj( pDocSh, aRange.aStart );
 else
 pObj = new ScCellRangeObj( pDocSh, aRange );


[Libreoffice-commits] core.git: sw/qa

2023-04-18 Thread Miklos Vajna (via logerrit)
 sw/qa/extras/ww8export/ww8export2.cxx |   22 +++---
 1 file changed, 15 insertions(+), 7 deletions(-)

New commits:
commit 1ee5ae0eec2d1c673af6b8f18a2c36b4d1e7fb70
Author: Miklos Vajna 
AuthorDate: Tue Apr 18 11:46:09 2023 +0200
Commit: Miklos Vajna 
CommitDate: Tue Apr 18 12:44:35 2023 +0200

sw floattable: fix CppunitTest_sw_ww8export2's testTdf80635_marginLeft

The rendering is unchanged, but now the fly is positioned, the inner
table doesn't have an own offset.

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

diff --git a/sw/qa/extras/ww8export/ww8export2.cxx 
b/sw/qa/extras/ww8export/ww8export2.cxx
index 4c829aed0204..f097979b3901 100644
--- a/sw/qa/extras/ww8export/ww8export2.cxx
+++ b/sw/qa/extras/ww8export/ww8export2.cxx
@@ -312,14 +312,22 @@ DECLARE_WW8EXPORT_TEST(testTdf80635_marginRTL, 
"tdf80635_marginRightRTL.doc")
 CPPUNIT_ASSERT_EQUAL_MESSAGE("Horizontal Orientation", 
text::HoriOrientation::RIGHT, getProperty(xTable, "HoriOrient"));
 }
 
-DECLARE_WW8EXPORT_TEST(testTdf80635_marginLeft, "tdf80635_marginLeft.doc")
+CPPUNIT_TEST_FIXTURE(Test, testTdf80635_marginLeft)
 {
-// tdf#80635 - transfer the float orientation to the table.
-uno::Reference xTextTablesSupplier(mxComponent, 
uno::UNO_QUERY);
-uno::Reference 
xTables(xTextTablesSupplier->getTextTables(), uno::UNO_QUERY);
-uno::Reference xTable(xTables->getByIndex(0), 
uno::UNO_QUERY);
-// This was just the GetMinLeft of -199
-CPPUNIT_ASSERT_DOUBLES_EQUAL_MESSAGE("Table Indent", tools::Long(-2950), 
getProperty(xTable, "LeftMargin"), 100);
+SwModelTestBase::FlySplitGuard aGuard;
+auto verify = [this]() {
+// tdf#80635 - assert horizontal position of the table.
+uno::Reference 
xTextTablesSupplier(mxComponent, uno::UNO_QUERY);
+uno::Reference 
xTables(xTextTablesSupplier->getTextTables(), uno::UNO_QUERY);
+uno::Reference xTable(xTables->getByIndex(0), 
uno::UNO_QUERY);
+CPPUNIT_ASSERT_DOUBLES_EQUAL_MESSAGE("Table Indent", tools::Long(0), 
getProperty(xTable, "LeftMargin"), 100);
+uno::Reference xFly = getShape(1);
+CPPUNIT_ASSERT_EQUAL(sal_Int32(-2958), getProperty(xFly, 
"HoriOrientPosition"));
+};
+createSwDoc("tdf80635_marginLeft.doc");
+verify();
+reload(mpFilter, "tdf80635_marginLeft.doc");
+verify();
 }
 
 DECLARE_WW8EXPORT_TEST(testTdf80635_pageLeft, "tdf80635_pageLeft.doc")


[Libreoffice-commits] core.git: Branch 'distro/collabora/co-23.05' - tools/source

2023-04-18 Thread Jaume Pujantell (via logerrit)
 tools/source/misc/json_writer.cxx |6 +-
 1 file changed, 5 insertions(+), 1 deletion(-)

New commits:
commit 8790a9c408e3d8732993b228012eeb0c941ec2fb
Author: Jaume Pujantell 
AuthorDate: Tue Apr 18 10:34:47 2023 +0200
Commit: Michael Meeks 
CommitDate: Tue Apr 18 13:33:23 2023 +0200

fix bug in json_writer

Ruler stores null-terminated strings in fixed length char arrays, so when 
creating a JSON
a string might end earlier that it's size sugsests.

Change-Id: Icdcaf35f9ce54c24dcd36368dc49bb688a2a65ce
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/150558
Tested-by: Michael Meeks 
Reviewed-by: Michael Meeks 

diff --git a/tools/source/misc/json_writer.cxx 
b/tools/source/misc/json_writer.cxx
index 3d78f82e08e6..aea89a15d421 100644
--- a/tools/source/misc/json_writer.cxx
+++ b/tools/source/misc/json_writer.cxx
@@ -274,7 +274,8 @@ void JsonWriter::put(const char* pPropName, 
std::string_view rPropVal)
 mPos += 4;
 
 // copy and perform escaping
-for (size_t i = 0; i < rPropVal.size(); ++i)
+bool bReachedEnd = false;
+for (size_t i = 0; i < rPropVal.size() && !bReachedEnd; ++i)
 {
 char ch = rPropVal[i];
 switch (ch)
@@ -289,6 +290,9 @@ void JsonWriter::put(const char* pPropName, 
std::string_view rPropVal)
 case '\\':
 writeEscapedSequence(ch, mPos);
 break;
+case 0:
+bReachedEnd = true;
+break;
 case '\xE2': // Special processing of U+2028 and U+2029
 if (i + 2 < rPropVal.size() && rPropVal[i + 1] == '\x80'
 && (rPropVal[i + 2] == '\xA8' || rPropVal[i + 2] == 
'\xA9'))


[Libreoffice-commits] core.git: Branch 'distro/cib/libreoffice-6-4' - sw/qa

2023-04-18 Thread Michael Stahl (via logerrit)
 sw/qa/extras/ooxmlexport/ooxmlexport8.cxx |2 ++
 1 file changed, 2 insertions(+)

New commits:
commit 413a520c440d5cfa9f7f33568b9d3018a82c7714
Author: Michael Stahl 
AuthorDate: Tue Apr 18 13:28:42 2023 +0200
Commit: Michael Stahl 
CommitDate: Tue Apr 18 13:43:17 2023 +0200

sw: disable testN830205 on this branch

The problem is that since commit de49e1c55dc10ce1b59345af5cc49fde3adf65b7
"tdf#149548 sw: don't rely on binary search in SplitRedline()"
the test asserts, but only with --enable-dbgutil:

sw/source/core/doc/DocumentRedlineManager.cxx:110: void 
{anonymous}::lcl_CheckRedline(IDocumentRedlineAccess&): Assertion 
`std::is_sorted(rTable.begin(), rTable.end(), CompareSwRedlineTable())' failed.

The elements 237/238 are not sorted by end position as they should be.

They were disordered by a TextToTable() via SplitRedline().

This was not asserting before the commit was backported, but that was
probably an accident.

It's not obvious what fixed this because it doesn't happen on 7.4 or
later.

Change-Id: I866aee29ac58bd224c86ee29e020bf65d75355cb

diff --git a/sw/qa/extras/ooxmlexport/ooxmlexport8.cxx 
b/sw/qa/extras/ooxmlexport/ooxmlexport8.cxx
index fbe8d9d01421..2647b12bcde5 100644
--- a/sw/qa/extras/ooxmlexport/ooxmlexport8.cxx
+++ b/sw/qa/extras/ooxmlexport/ooxmlexport8.cxx
@@ -1019,11 +1019,13 @@ DECLARE_OOXMLEXPORT_TEST(testN820509, "n820509.docx")
 CPPUNIT_ASSERT_EQUAL(OUString("M.d."), sDateFormat);
 }
 
+#if 0
 DECLARE_OOXMLEXPORT_TEST(testN830205, "n830205.docx")
 {
 // Previously import just crashed (due to infinite recursion).
 getParagraph(1, "XXX");
 }
+#endif
 
 DECLARE_OOXMLEXPORT_TEST(tdf123705, "tdf123705.docx")
 {


[Libreoffice-commits] core.git: svx/source

2023-04-18 Thread Caolán McNamara (via logerrit)
 svx/source/sidebar/line/LinePropertyPanelBase.cxx |2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

New commits:
commit e535a2bd67b50cc529115e9ac9e346140ea164dc
Author: Caolán McNamara 
AuthorDate: Tue Apr 18 11:16:45 2023 +0100
Commit: Caolán McNamara 
CommitDate: Tue Apr 18 13:46:17 2023 +0200

Resolves: tdf#154870 label grayed out when it should not be

Change-Id: I1d84434622f09e6e91bea550f5dc0321cb7d89ef
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/150548
Tested-by: Jenkins
Reviewed-by: Caolán McNamara 

diff --git a/svx/source/sidebar/line/LinePropertyPanelBase.cxx 
b/svx/source/sidebar/line/LinePropertyPanelBase.cxx
index 49f970e1a2ec..81ccc4688bd7 100644
--- a/svx/source/sidebar/line/LinePropertyPanelBase.cxx
+++ b/svx/source/sidebar/line/LinePropertyPanelBase.cxx
@@ -268,7 +268,7 @@ void LinePropertyPanelBase::updateLineCap(bool bDisabled, 
bool bSetOrDefault,
 else
 {
 mxLBCapStyle->set_sensitive(true);
-mxLBCapStyle->set_sensitive(true);
+mxFTCapStyle->set_sensitive(true);
 }
 
 if(bSetOrDefault)


[Libreoffice-commits] core.git: svx/source

2023-04-18 Thread Caolán McNamara (via logerrit)
 svx/source/sidebar/line/LinePropertyPanelBase.cxx |   12 ++--
 1 file changed, 2 insertions(+), 10 deletions(-)

New commits:
commit d68d1876216f7d69830fdc16d4a1dd9d9952c2df
Author: Caolán McNamara 
AuthorDate: Tue Apr 18 11:18:56 2023 +0100
Commit: Caolán McNamara 
CommitDate: Tue Apr 18 13:55:33 2023 +0200

reduce copy and paste a bit

Change-Id: I65cb71d44828e0c0d738c4192c39a697513bc6e9
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/150549
Tested-by: Jenkins
Reviewed-by: Caolán McNamara 

diff --git a/svx/source/sidebar/line/LinePropertyPanelBase.cxx 
b/svx/source/sidebar/line/LinePropertyPanelBase.cxx
index 81ccc4688bd7..b065a66f65a5 100644
--- a/svx/source/sidebar/line/LinePropertyPanelBase.cxx
+++ b/svx/source/sidebar/line/LinePropertyPanelBase.cxx
@@ -260,16 +260,8 @@ void LinePropertyPanelBase::updateLineJoint(bool 
bDisabled, bool bSetOrDefault,
 void LinePropertyPanelBase::updateLineCap(bool bDisabled, bool bSetOrDefault,
 const SfxPoolItem* pState)
 {
-if(bDisabled)
-{
-mxLBCapStyle->set_sensitive(false);
-mxFTCapStyle->set_sensitive(false);
-}
-else
-{
-mxLBCapStyle->set_sensitive(true);
-mxFTCapStyle->set_sensitive(true);
-}
+mxLBCapStyle->set_sensitive(!bDisabled);
+mxFTCapStyle->set_sensitive(!bDisabled);
 
 if(bSetOrDefault)
 {


[Libreoffice-commits] core.git: starmath/source

2023-04-18 Thread Rafael Lima (via logerrit)
 starmath/source/dialog.cxx |4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

New commits:
commit 2c01d4448a8059b5f335d07347b9e85a0d0031d8
Author: Rafael Lima 
AuthorDate: Wed Apr 12 16:14:10 2023 +0200
Commit: Rafael Lima 
CommitDate: Tue Apr 18 14:06:06 2023 +0200

tdf#154773 Fix Symbols dialog in dark mode

Change-Id: I92029f1d19c7545a4122b125ae69ab5964e562d2
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/150209
Tested-by: Jenkins
Reviewed-by: Heiko Tietze 

diff --git a/starmath/source/dialog.cxx b/starmath/source/dialog.cxx
index 76dd40a13268..ecb68dbf2d63 100644
--- a/starmath/source/dialog.cxx
+++ b/starmath/source/dialog.cxx
@@ -61,8 +61,8 @@ void lclGetSettingColors(Color& rBackgroundColor, Color& 
rTextColor)
 }
 else
 {
-rBackgroundColor = COL_WHITE;
-rTextColor = COL_BLACK;
+rBackgroundColor = rStyleSettings.GetFaceColor();
+rTextColor = rStyleSettings.GetLabelTextColor();
 }
 }
 


[Libreoffice-commits] core.git: sw/qa

2023-04-18 Thread Andreas Heinisch (via logerrit)
 sw/qa/uitest/findBar/tdf154269.py |   20 ++--
 1 file changed, 10 insertions(+), 10 deletions(-)

New commits:
commit 11a25339abfb957ea51614b67bbff26cb606f3a2
Author: Andreas Heinisch 
AuthorDate: Mon Apr 17 17:17:21 2023 +0200
Commit: Andreas Heinisch 
CommitDate: Tue Apr 18 14:20:44 2023 +0200

tdf#154269 - Respect FindReplaceRememberedSearches: add unit test

Change-Id: I72db7964b512a40c4b81b218b2cae60ab34d47c9
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/150522
Tested-by: Jenkins
Reviewed-by: Andreas Heinisch 

diff --git a/sw/qa/uitest/findBar/tdf154269.py 
b/sw/qa/uitest/findBar/tdf154269.py
index d5752093b2b6..aebab770ca35 100755
--- a/sw/qa/uitest/findBar/tdf154269.py
+++ b/sw/qa/uitest/findBar/tdf154269.py
@@ -15,21 +15,21 @@ class tdf154269(UITestCase):
 def test_tdf154269(self):
 
 with self.ui_test.create_doc_in_start_center("writer"):
-# Open quick search
-self.xUITest.executeCommand("vnd.sun.star.findbar:FocusToFindbar")
 xWriterDoc = self.xUITest.getTopFocusWindow()
-xFind = xWriterDoc.getChild("find")
+xWriterEdit = xWriterDoc.getChild("writer_edit")
 
 # Generate a search history with more than 10 entries (A to Z)
 for searchTerm in map(chr, range(65, 91)):
-# Search twice to generate a search history
-xFind.executeAction("TYPE", mkPropertyValues({"KEYCODE": 
"CTRL+A"}))
-xFind.executeAction("TYPE", mkPropertyValues({"KEYCODE": 
"BACKSPACE"}))
-xFind.executeAction("TYPE", mkPropertyValues({"TEXT": 
searchTerm}))
-xFind.executeAction("TYPE", mkPropertyValues({"KEYCODE": 
"RETURN"}))
-xFind.executeAction("TYPE", mkPropertyValues({"KEYCODE": 
"ESC"}))
-
self.xUITest.executeCommand("vnd.sun.star.findbar:FocusToFindbar")
+xWriterEdit.executeAction("TYPE", 
mkPropertyValues({"KEYCODE":"CTRL+f"}))
+xFind = xWriterDoc.getChild("find")
+xFindBar = xWriterDoc.getChild("FindBar")
+xFind.executeAction("TYPE", 
mkPropertyValues({"KEYCODE":"BACKSPACE"}))
+xFind.executeAction("TYPE", 
mkPropertyValues({"TEXT":searchTerm}))
+xFind.executeAction("TYPE", 
mkPropertyValues({"KEYCODE":"RETURN"}))
+xFindBar.executeAction("CLICK", mkPropertyValues({"POS":"0"}))
 
+xWriterEdit.executeAction("TYPE", 
mkPropertyValues({"KEYCODE":"CTRL+f"}))
+xFind = xWriterDoc.getChild("find")
 # The default value of FindReplaceRememberedSearches has been 
respected
 self.assertEqual("10", get_state_as_dict(xFind)["EntryCount"])
 


[Libreoffice-commits] core.git: configure.ac .vscode/vs-code-template.code-workspace.in

2023-04-18 Thread Christian Lohmaier (via logerrit)
 .vscode/vs-code-template.code-workspace.in |   93 +
 configure.ac   |3 
 2 files changed, 59 insertions(+), 37 deletions(-)

New commits:
commit e39d4921bcd06836d5b28dc23628da41bcf463f7
Author: Christian Lohmaier 
AuthorDate: Wed Apr 5 12:32:58 2023 +0200
Commit: Christian Lohmaier 
CommitDate: Tue Apr 18 14:30:11 2023 +0200

vscode: add Cygwin terminal profile and config for VS debugger for Windows

and also fix the gdb helper path for linux in one of the launch
configurations, it used instdir for both the solenv as well as instdir
paths.

Change-Id: I2d2ad955e4c1d386071edc50af8fd0bdcffc66e3
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/150051
Tested-by: Jenkins
Reviewed-by: Christian Lohmaier 

diff --git a/.vscode/vs-code-template.code-workspace.in 
b/.vscode/vs-code-template.code-workspace.in
index 87a6a27ac865..52f83afc15cc 100644
--- a/.vscode/vs-code-template.code-workspace.in
+++ b/.vscode/vs-code-template.code-workspace.in
@@ -59,7 +59,20 @@
"prefix": "tdf#",
"url": 
"https://bugs.documentfoundation.org/show_bug.cgi?id="
}
-   ]
+   ],
+   "terminal.integrated.profiles.windows": {
+   "Cygwin": {
+   "path": "@CYGWIN_BASH@",
+   "args": [
+   "--login"
+   ],
+   // prevent changing to $(HOME)
+   "env": {
+   "CHERE_INVOKING": "1"
+   }
+   }
+   },
+   "terminal.integrated.defaultProfile.windows": "Cygwin"
},
"tasks": {
"version": "2.0.0",
@@ -137,26 +150,26 @@
}
],
"externalConsole": false,
-   "MIMode": "gdb",
-   "setupCommands": [
-   {
-   "description": "Enable 
pretty-printing for gdb",
-   "text": 
"-enable-pretty-printing",
-   "ignoreFailures": true
-   },
-   {
-   "description": "Mark 
pretty-printers (in solenv/gdb) safe",
-   "text": 
"add-auto-load-safe-path @INSTROOT@",
-   "ignoreFailures": true
-   },
-   {
-   "description": "Mark 
pretty-printers bootstrap (in instdir/program) safe",
-   "text": 
"add-auto-load-safe-path @INSTROOT@",
-   "ignoreFailures": true
-   },
-   ],
"linux": {
+   "MIMode": "gdb",
"miDebuggerPath": "gdb"
+   "setupCommands": [
+   {
+   "description": "Enable 
pretty-printing for gdb",
+   "text": 
"-enable-pretty-printing",
+   "ignoreFailures": true
+   },
+   {
+   "description": "Mark 
pretty-printers (in solenv/gdb) safe",
+   "text": 
"add-auto-load-safe-path @SRC_ROOT@/solenv/gdb",
+   "ignoreFailures": true
+   },
+   {
+   "description": "Mark 
pretty-printers bootstrap (in instdir/program) safe",
+   "text": 
"add-auto-load-safe-path @INSTROOT@",
+   "ignoreFailures": true
+   },
+   ]
},
"osx": {
"program": "@INSTROOT@/MacOS/soffice",
@@ -169,6 +182,9 @@
 

[Libreoffice-commits] core.git: Branch 'feature/allo_contract34185' - ucb/source

2023-04-18 Thread Michael Stahl (via logerrit)
Rebased ref, commits from common ancestor:
commit 64c51acbb7ba13266b86b0166c8542e4e0318853
Author: Michael Stahl 
AuthorDate: Tue Apr 18 14:25:37 2023 +0200
Commit: Thorsten Behrens 
CommitDate: Tue Apr 18 14:32:03 2023 +0200

ucb: webdav-curl: experiment

Change-Id: I85e5253c7df0980f373d2dea788c331b81ed4a82

diff --git a/ucb/source/ucp/webdav-curl/DAVTypes.cxx 
b/ucb/source/ucp/webdav-curl/DAVTypes.cxx
index d5b255c175cd..e41c5426e959 100644
--- a/ucb/source/ucp/webdav-curl/DAVTypes.cxx
+++ b/ucb/source/ucp/webdav-curl/DAVTypes.cxx
@@ -168,7 +168,10 @@ void DAVOptionsCache::addDAVOptions( DAVOptions & 
rDAVOptions, const sal_uInt32
 // tdf#153642 keep cached Class1 bit at aDAVOptionsException to avoid 
of
 // losing the ability to resave the document within the lifetime 
because
 // of disabled DAV detection in getResourceType()
-rDAVOptions.setClass1( (*it).second.isClass1() );
+if ((*it).second.isClass1())
+{
+rDAVOptions.setClass1( (*it).second.isClass1() );
+}
 }
 // not in cache, add it
 TimeValue t1;


[Libreoffice-commits] core.git: odk/examples

2023-04-18 Thread Chenxiong Qi (via logerrit)
 odk/examples/DevelopersGuide/FirstSteps/HelloTextTableShape.py |  243 
++
 1 file changed, 243 insertions(+)

New commits:
commit 10fac0f7f7cdc66d9d1ee5e5bffbeb82973b733a
Author: Chenxiong Qi 
AuthorDate: Sat Feb 11 12:06:45 2023 +0800
Commit: Hossein 
CommitDate: Tue Apr 18 14:33:09 2023 +0200

tdf#143123 Port DevelopersGuide/FirstSteps/HelloTextTableShape to Python

Signed-off-by: Chenxiong Qi 
Change-Id: Ifb5639369c4af1db27ccb5a93dfad093ce7403b1
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/146819
Tested-by: Jenkins
Reviewed-by: Hossein 

diff --git a/odk/examples/DevelopersGuide/FirstSteps/HelloTextTableShape.py 
b/odk/examples/DevelopersGuide/FirstSteps/HelloTextTableShape.py
new file mode 100644
index ..a0a101e618cc
--- /dev/null
+++ b/odk/examples/DevelopersGuide/FirstSteps/HelloTextTableShape.py
@@ -0,0 +1,243 @@
+# -*- tab-width: 4; indent-tabs-mode: nil; py-indent-offset: 4 -*-
+#
+# This file is part of the LibreOffice project.
+#
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+#
+
+import sys
+import traceback
+
+import uno
+import officehelper
+
+from com.sun.star.lang import DisposedException
+from com.sun.star.awt.FontSlant import ITALIC
+from com.sun.star.awt.FontWeight import BOLD
+from com.sun.star.table import BorderLine
+from com.sun.star.table import TableBorder
+from com.sun.star.awt import Size
+from com.sun.star.awt import Point
+
+
+class HelloTextTableShape:
+
+def __init__(self):
+self.remote_context = None
+self.remote_service_manager = None
+
+def use_documents(self) -> None:
+self.use_writer()
+self.use_calc()
+self.use_draw()
+
+def get_remote_service_manager(self) -> None:
+try:
+self.remote_context = officehelper.bootstrap()
+print("Connected to a running office ...")
+return self.remote_context.ServiceManager
+except Exception as e:
+traceback.print_exc()
+sys.exit(1)
+
+def new_doc_component(self, doc_type: str) -> None:
+load_url = "private:factory/" + doc_type
+self.remote_service_manager = self.get_remote_service_manager()
+desktop = self.remote_service_manager.createInstanceWithContext(
+"com.sun.star.frame.Desktop", self.remote_context
+)
+return desktop.loadComponentFromURL(load_url, "_blank", 0, tuple([]))
+
+def use_writer(self) -> None:
+try:
+doc = self.new_doc_component("swriter")
+xtext = doc.Text
+self.manipulateText(xtext)
+
+# insert TextTable and get cell text, then manipulate text in cell
+table = doc.createInstance("com.sun.star.text.TextTable")
+xtext.insertTextContent(xtext.End, table, False)
+
+xcell = table[1, 0]
+self.manipulateText(xcell)
+self.manipulateTable(table)
+
+# insert RectangleShape and get shape text, then manipulate text
+writer_shape = 
doc.createInstance("com.sun.star.drawing.RectangleShape")
+writer_shape.setSize(Size(1, 1))
+xtext.insertTextContent(xtext.End, writer_shape, False)
+# wrap text inside shape
+writer_shape.TextContourFrame = True
+
+self.manipulateText(writer_shape)
+self.manipulateShape(writer_shape)
+
+bookmark = doc.createInstance("com.sun.star.text.Bookmark")
+bookmark.Name = "MyUniqueBookmarkName"
+# insert the bookmark at the end of the document
+xtext.insertTextContent(xtext.End, bookmark, False)
+
+# Query the added bookmark and set a string
+found_bookmark = doc.Bookmarks.getByName("MyUniqueBookmarkName")
+found_bookmark.Anchor.String = (
+"The throat mike, glued to her neck, "
+"looked as much as possible like an analgesic dermadisk."
+)
+
+for text_table in doc.TextTables:
+text_table.BackColor = 0xC8FFB9
+except DisposedException:
+self.remote_context = None
+raise
+
+def use_calc(self) -> None:
+try:
+doc = self.new_doc_component("scalc")
+sheet = doc.Sheets[0]
+
+# get cell A2 in first sheet
+cell = sheet[1, 0]
+cell.IsTextWrapped = True
+
+self.manipulateText(cell)
+self.manipulateTable(sheet)
+
+# create and insert RectangleShape and get shape text,
+# then manipulate text
+shape = doc.createInstance("com.sun.star.drawing.RectangleShape")
+shape.Size = Size(1, 1)
+shape.Position = Point(7000, 3000)
+shape.TextContourFrame = True
+ 

[Libreoffice-commits] core.git: Branch 'libreoffice-7-5' - sw/qa sw/source

2023-04-18 Thread Caolán McNamara (via logerrit)
 sw/qa/core/data/ww8/pass/ofz57592-1.doc |binary
 sw/source/core/doc/DocumentContentOperationsManager.cxx |   17 +---
 2 files changed, 10 insertions(+), 7 deletions(-)

New commits:
commit 748c1400a4408ad875d72044bb635524cfeddf4d
Author: Caolán McNamara 
AuthorDate: Sat Apr 1 21:31:12 2023 +0100
Commit: Xisco Fauli 
CommitDate: Tue Apr 18 14:41:19 2023 +0200

ofz#57592 Null-dereference READ

Change-Id: I6fc96bb0be6c5a872861987a195b0d628f574c46
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/149918
Tested-by: Jenkins
Reviewed-by: Caolán McNamara 
(cherry picked from commit 484fa53f43977e390bf79831cf7096983a440cff)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/150557
Reviewed-by: Xisco Fauli 

diff --git a/sw/qa/core/data/ww8/pass/ofz57592-1.doc 
b/sw/qa/core/data/ww8/pass/ofz57592-1.doc
new file mode 100644
index ..289343a1afb7
Binary files /dev/null and b/sw/qa/core/data/ww8/pass/ofz57592-1.doc differ
diff --git a/sw/source/core/doc/DocumentContentOperationsManager.cxx 
b/sw/source/core/doc/DocumentContentOperationsManager.cxx
index 21f67d9a9774..a87dc20f8516 100644
--- a/sw/source/core/doc/DocumentContentOperationsManager.cxx
+++ b/sw/source/core/doc/DocumentContentOperationsManager.cxx
@@ -626,18 +626,21 @@ namespace sw
 }
 while (!startedFields.empty())
 {
-SwPosition const& 
rStart(std::get<0>(startedFields.top())->GetMarkStart());
-std::pair const pos(
-rStart.GetNodeIndex(), rStart.GetContentIndex());
-auto it = std::lower_bound(rBreaks.begin(), rBreaks.end(), pos);
-assert(it == rBreaks.end() || *it != pos);
-rBreaks.insert(it, pos);
+if (const sw::mark::IFieldmark* pMark = 
std::get<0>(startedFields.top()))
+{
+SwPosition const& rStart(pMark->GetMarkStart());
+std::pair const pos(
+rStart.GetNodeIndex(), rStart.GetContentIndex());
+auto it = std::lower_bound(rBreaks.begin(), rBreaks.end(), 
pos);
+assert(it == rBreaks.end() || *it != pos);
+rBreaks.insert(it, pos);
+}
 if (std::get<1>(startedFields.top()))
 {
 std::pair const posSep(
 std::get<2>(startedFields.top()),
 std::get<3>(startedFields.top()));
-it = std::lower_bound(rBreaks.begin(), rBreaks.end(), posSep);
+auto it = std::lower_bound(rBreaks.begin(), rBreaks.end(), 
posSep);
 assert(it == rBreaks.end() || *it != posSep);
 rBreaks.insert(it, posSep);
 }


[Libreoffice-commits] core.git: formula/source

2023-04-18 Thread Xisco Fauli (via logerrit)
 formula/source/ui/dlg/formula.cxx |   14 +++---
 1 file changed, 11 insertions(+), 3 deletions(-)

New commits:
commit 2d62a54d151f32007c1cb1c7f729b777dbdb73cc
Author: Xisco Fauli 
AuthorDate: Tue Apr 18 13:31:42 2023 +0200
Commit: Caolán McNamara 
CommitDate: Tue Apr 18 15:05:46 2023 +0200

formula: fix crash in FormulaDlg_Impl::UpdateSelection

m_pFuncDesc can be nullptr

See 
https://crashreport.libreoffice.org/stats/signature/formula::FormulaDlg_Impl::UpdateSelection()

Change-Id: If8a95bef8b0a8a03ffe63041409ee7c1cf322b0f
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/150550
Tested-by: Jenkins
Reviewed-by: Caolán McNamara 

diff --git a/formula/source/ui/dlg/formula.cxx 
b/formula/source/ui/dlg/formula.cxx
index 65301ac0450c..c12534268131 100644
--- a/formula/source/ui/dlg/formula.cxx
+++ b/formula/source/ui/dlg/formula.cxx
@@ -1456,15 +1456,23 @@ IMPL_LINK_NOARG( FormulaDlg_Impl, FormulaCursorHdl, 
weld::TextView&, void)
 void FormulaDlg_Impl::UpdateSelection()
 {
 m_pHelper->setSelection( m_aFuncSel.Min(), m_aFuncSel.Max());
-m_pHelper->setCurrentFormula( m_pFuncDesc->getFormula( m_aArguments ) );
+if (m_pFuncDesc)
+{
+m_pHelper->setCurrentFormula( m_pFuncDesc->getFormula( m_aArguments ) 
);
+m_nArgs = m_pFuncDesc->getSuppressedArgumentCount();
+}
+else
+{
+m_pHelper->setCurrentFormula("");
+m_nArgs = 0;
+}
+
 m_xMEdit->set_text(m_pHelper->getCurrentFormula());
 sal_Int32 PrivStart, PrivEnd;
 m_pHelper->getSelection( PrivStart, PrivEnd);
 m_aFuncSel.Min() = PrivStart;
 m_aFuncSel.Max() = PrivEnd;
 
-m_nArgs = m_pFuncDesc->getSuppressedArgumentCount();
-
 OUString aFormula = m_xMEdit->get_text();
 sal_Int32 nArgPos = m_aFormulaHelper.GetArgStart( aFormula, PrivStart, 0);
 


[Libreoffice-commits] core.git: sw/source

2023-04-18 Thread Mike Kaganski (via logerrit)
 sw/source/core/inc/sectfrm.hxx|2 +-
 sw/source/core/layout/frmtool.cxx |   10 +-
 sw/source/core/layout/sectfrm.cxx |6 +++---
 3 files changed, 9 insertions(+), 9 deletions(-)

New commits:
commit 77441b237db98d6577c8799c0c636839855c5c52
Author: Mike Kaganski 
AuthorDate: Tue Apr 18 15:46:26 2023 +0300
Commit: Mike Kaganski 
CommitDate: Tue Apr 18 16:30:45 2023 +0200

bApres -> bAfter

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

diff --git a/sw/source/core/inc/sectfrm.hxx b/sw/source/core/inc/sectfrm.hxx
index 09c742f8da79..6c40c6589f31 100644
--- a/sw/source/core/inc/sectfrm.hxx
+++ b/sw/source/core/inc/sectfrm.hxx
@@ -109,7 +109,7 @@ public:
  * Splits the SectionFrame surrounding the pFrame up in two parts:
  * pFrame and the start of the 2nd part
  */
-bool SplitSect( SwFrame* pFrame, bool bApres );
+bool SplitSect( SwFrame* pFrame, bool bAfter );
 void DelEmpty( bool bRemove ); // Like Cut(), except for that Follow 
chaining is maintained
 SwFootnoteContFrame* ContainsFootnoteCont( const SwFootnoteContFrame* 
pCont = nullptr ) const;
 bool Growable() const;
diff --git a/sw/source/core/layout/frmtool.cxx 
b/sw/source/core/layout/frmtool.cxx
index 86816c0f3c7d..87897e48095a 100644
--- a/sw/source/core/layout/frmtool.cxx
+++ b/sw/source/core/layout/frmtool.cxx
@@ -2025,7 +2025,7 @@ void MakeFrames( SwDoc *pDoc, SwNode &rSttIdx, SwNode 
&rEndIdx )
 pDoc->getIDocumentLayoutAccess().GetCurrentLayout());
 if ( pNd )
 {
-bool bApres = *pNd < rSttIdx;
+bool bAfter = *pNd < rSttIdx;
 SwNode2Layout aNode2Layout( *pNd, rSttIdx.GetIndex() );
 sw::FrameMode eMode = sw::FrameMode::Existing;
 ::std::vector frames;
@@ -2073,7 +2073,7 @@ void MakeFrames( SwDoc *pDoc, SwNode &rSttIdx, SwNode 
&rEndIdx )
 SwFlowFrame *pTmp = SwFlowFrame::CastFlowFrame( pMove );
 assert(pTmp);
 
-if ( bApres )
+if ( bAfter )
 {
 // The rest of this page should be empty. Thus, the 
following one has to move to
 // the next page (it might also be located in the 
following column).
@@ -2166,12 +2166,12 @@ void MakeFrames( SwDoc *pDoc, SwNode &rSttIdx, SwNode 
&rEndIdx )
 else
 {
 bool bSplit;
-SwFrame* pPrv = bApres ? pFrame : pFrame->GetPrev();
+SwFrame* pPrv = bAfter ? pFrame : pFrame->GetPrev();
 // If the section frame is inserted into another one, it must 
be split.
 if( pSct && rSttIdx.IsSectionNode() )
 {
-bSplit = pSct->SplitSect( pFrame, bApres );
-if( !bSplit && !bApres )
+bSplit = pSct->SplitSect( pFrame, bAfter );
+if( !bSplit && !bAfter )
 {
 pUpper = pSct->GetUpper();
 pPrv = pSct->GetPrev();
diff --git a/sw/source/core/layout/sectfrm.cxx 
b/sw/source/core/layout/sectfrm.cxx
index eb667dd51fc5..0a82b8cc0dfd 100644
--- a/sw/source/core/layout/sectfrm.cxx
+++ b/sw/source/core/layout/sectfrm.cxx
@@ -516,17 +516,17 @@ void SwSectionFrame::MergeNext( SwSectionFrame* pNxt )
 |*  This is required when inserting an inner section, because the MoveFwd
 |*  cannot have the desired effect within a frame or a table cell.
 |*/
-bool SwSectionFrame::SplitSect( SwFrame* pFrame, bool bApres )
+bool SwSectionFrame::SplitSect( SwFrame* pFrame, bool bAfter )
 {
 assert(pFrame && "SplitSect: Why?");
-SwFrame* pOther = bApres ? pFrame->FindNext() : pFrame->FindPrev();
+SwFrame* pOther = bAfter ? pFrame->FindNext() : pFrame->FindPrev();
 if( !pOther )
 return false;
 SwSectionFrame* pSect = pOther->FindSctFrame();
 if( pSect != this )
 return false;
 // Put the content aside
-SwFrame* pSav = ::SaveContent( this, bApres ? pOther : pFrame );
+SwFrame* pSav = ::SaveContent( this, bAfter ? pOther : pFrame );
 OSL_ENSURE( pSav, "SplitSect: What's on?" );
 if( pSav ) // be robust
 {   // Create a new SctFrame, not as a Follower/master


[Libreoffice-commits] core.git: scripting/java

2023-04-18 Thread Stephan Bergmann (via logerrit)
 
scripting/java/Framework/com/sun/star/script/framework/security/SecurityDialog.java
 |8 +---
 1 file changed, 5 insertions(+), 3 deletions(-)

New commits:
commit 4b3308a8c24d71c30145c93411fab12c0b5e
Author: Stephan Bergmann 
AuthorDate: Tue Apr 18 15:06:49 2023 +0200
Commit: Stephan Bergmann 
CommitDate: Tue Apr 18 16:31:04 2023 +0200

Avoid NullPointerException

...when dispose is called without a preceding call to initialize (as would
happen with an improved CppunitTest_services)

Change-Id: Ic632d736ecb27509b092ef526cf0dfc964023663
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/150576
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann 

diff --git 
a/scripting/java/Framework/com/sun/star/script/framework/security/SecurityDialog.java
 
b/scripting/java/Framework/com/sun/star/script/framework/security/SecurityDialog.java
index 078f63395384..dcef62d86077 100644
--- 
a/scripting/java/Framework/com/sun/star/script/framework/security/SecurityDialog.java
+++ 
b/scripting/java/Framework/com/sun/star/script/framework/security/SecurityDialog.java
@@ -515,10 +515,12 @@ public class SecurityDialog extends WeakBase implements
 
 public void dispose() {
 
-XComponent xComponent =
-UnoRuntime.queryInterface(XComponent.class, _xDialog);
+if (_xDialog != null) {
+XComponent xComponent =
+UnoRuntime.queryInterface(XComponent.class, _xDialog);
 
-xComponent.dispose();
+xComponent.dispose();
+}
 }
 
 public void addEventListener(com.sun.star.lang.XEventListener xListener) {


[Libreoffice-commits] core.git: sw/source

2023-04-18 Thread Xisco Fauli (via logerrit)
 sw/source/uibase/wrtsh/wrtsh1.cxx |9 +++--
 1 file changed, 7 insertions(+), 2 deletions(-)

New commits:
commit be7ce49f33035fcd289a5ffc7a2307bd9a566780
Author: Xisco Fauli 
AuthorDate: Tue Apr 18 14:37:32 2023 +0200
Commit: Xisco Fauli 
CommitDate: Tue Apr 18 16:55:52 2023 +0200

sw: fix divide by 0

See 
https://crashreport.libreoffice.org/stats/signature/operator/(Fraction%20const%20&,Fraction%20const%20&)

Change-Id: Ia93e2969d6eb0bde71c8419f2aa90bb7aa231f61
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/150553
Reviewed-by: Caolán McNamara 
Tested-by: Jenkins
Reviewed-by: Xisco Fauli 

diff --git a/sw/source/uibase/wrtsh/wrtsh1.cxx 
b/sw/source/uibase/wrtsh/wrtsh1.cxx
index 7073ce1bd34a..65f434d45961 100644
--- a/sw/source/uibase/wrtsh/wrtsh1.cxx
+++ b/sw/source/uibase/wrtsh/wrtsh1.cxx
@@ -914,8 +914,13 @@ void SwWrtShell::CalcAndSetScale( svt::EmbeddedObjectRef& 
xObj,
 }
 else
 {
-aArea.Width ( tools::Long( aArea.Width()  / pCli->GetScaleWidth() ) );
-aArea.Height( tools::Long( aArea.Height() / pCli->GetScaleHeight() ) );
+tools::Long nWidth(pCli->GetScaleWidth());
+tools::Long nHeight(pCli->GetScaleHeight());
+if (nWidth && nHeight)
+{
+aArea.Width ( aArea.Width()  / nWidth );
+aArea.Height( aArea.Height() / nHeight );
+}
 }
 
 pCli->SetObjAreaAndScale( aArea.SVRect(), aScaleWidth, aScaleHeight );


[Libreoffice-commits] core.git: drawinglayer/source include/docmodel include/drawinglayer include/editeng include/svx oox/source svx/Library_svxcore.mk svx/qa svx/source sw/qa

2023-04-18 Thread Sarper Akdemir (via logerrit)
 drawinglayer/source/attribute/sdrshadowattribute.cxx  |   13 
 include/docmodel/theme/FormatScheme.hxx   |2 
 include/drawinglayer/attribute/sdrshadowattribute.hxx |6 ++
 include/editeng/unoprnms.hxx  |1 
 include/svx/RectangleAlignmentItem.hxx|   42 
 include/svx/svddef.hxx|4 +
 include/svx/unoshprp.hxx  |3 -
 oox/source/drawingml/effectproperties.cxx |5 +
 oox/source/drawingml/effectproperties.hxx |5 +
 oox/source/drawingml/effectpropertiescontext.cxx  |1 
 oox/source/token/properties.txt   |1 
 svx/Library_svxcore.mk|1 
 svx/qa/unit/data/tdf150020-shadow-alignment.pptx  |binary
 svx/qa/unit/sdr.cxx   |   47 ++
 svx/source/items/RectangleAlignmentItem.cxx   |   31 +++
 svx/source/sdr/primitive2d/sdrattributecreator.cxx|5 +
 svx/source/sdr/primitive2d/sdrdecompositiontools.cxx  |   45 -
 svx/source/svdraw/svdattr.cxx |4 +
 sw/qa/extras/layout/layout.cxx|   17 --
 19 files changed, 213 insertions(+), 20 deletions(-)

New commits:
commit c27946fb157fe46fbfaefbe93f2c6794b1af4411
Author: Sarper Akdemir 
AuthorDate: Wed Mar 15 19:25:03 2023 +0300
Commit: Sarper Akdemir 
CommitDate: Tue Apr 18 17:43:18 2023 +0200

tdf#150020 pptx import: handle algn for outerShdw

Introduces RectangleAlignmentItem that holds a value of the enum
model::RectangleAlignment.

Introduces SDRATTR_SHADOWALIGNMENT that holds alignment for a shadow.

Implements import of algn for outerShdw.

Makes the alignment considered while the shadow is being scaled.
Also adds a unit test that covers this.

Change-Id: I8f4eaed5f0d9428a7f405c65f19237f9e70ca151
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/148934
Tested-by: Jenkins
Reviewed-by: Sarper Akdemir 

diff --git a/drawinglayer/source/attribute/sdrshadowattribute.cxx 
b/drawinglayer/source/attribute/sdrshadowattribute.cxx
index 6e046f1f07c7..1eb1b3ea687c 100644
--- a/drawinglayer/source/attribute/sdrshadowattribute.cxx
+++ b/drawinglayer/source/attribute/sdrshadowattribute.cxx
@@ -20,6 +20,7 @@
 #include 
 #include 
 #include 
+#include 
 
 
 namespace drawinglayer::attribute
@@ -32,6 +33,7 @@ namespace drawinglayer::attribute
 basegfx::B2DVector  maSize; // 
[0.0 .. 2.0]
 double  mfTransparence; // 
[0.0 .. 1.0], 0.0==no transp.
 sal_Int32   mnBlur; // 
[0   .. 180], radius of the blur
+model::RectangleAlignment   
meAlignment{model::RectangleAlignment::Unset}; // alignment of the shadow
 basegfx::BColor maColor;// 
color of shadow
 
 ImpSdrShadowAttribute(
@@ -39,11 +41,13 @@ namespace drawinglayer::attribute
 const basegfx::B2DVector& rSize,
 double fTransparence,
 sal_Int32 nBlur,
+model::RectangleAlignment eAlignment,
 const basegfx::BColor& rColor)
 :   maOffset(rOffset),
 maSize(rSize),
 mfTransparence(fTransparence),
 mnBlur(nBlur),
+meAlignment(eAlignment),
 maColor(rColor)
 {
 }
@@ -67,6 +71,7 @@ namespace drawinglayer::attribute
 && getSize() == rCandidate.getSize()
 && getTransparence() == rCandidate.getTransparence()
 && getBlur() == rCandidate.getBlur()
+&& meAlignment == rCandidate.meAlignment
 && getColor() == rCandidate.getColor());
 }
 };
@@ -86,9 +91,10 @@ namespace drawinglayer::attribute
 const basegfx::B2DVector& rSize,
 double fTransparence,
 sal_Int32 nBlur,
+model::RectangleAlignment eAlignment,
 const basegfx::BColor& rColor)
 :   mpSdrShadowAttribute(ImpSdrShadowAttribute(
-rOffset, rSize, fTransparence,nBlur, rColor))
+rOffset, rSize, fTransparence, nBlur, eAlignment, rColor))
 {
 }
 
@@ -141,6 +147,11 @@ namespace drawinglayer::attribute
 return mpSdrShadowAttribute->getBlur();
 }
 
+model::RectangleAlignment SdrShadowAttribute::getAlignment() const
+{
+return mpSdrShadowAttribute->meAlignment;
+}
+
 const basegfx::BColor& SdrShadowAttribute::getColor() const
 {
 return mpSdrShadowAttribute->getColor();
diff --git a/include/docmodel/theme/FormatSc

[Libreoffice-commits] core.git: Branch 'libreoffice-7-4' - sw/qa writerfilter/source

2023-04-18 Thread Attila Bakos (NISZ) (via logerrit)
 sw/qa/extras/ooxmlexport/data/tdf154481.docx  |binary
 sw/qa/extras/ooxmlexport/ooxmlexport17.cxx|5 +
 writerfilter/source/dmapper/DomainMapper_Impl.cxx |9 +
 3 files changed, 14 insertions(+)

New commits:
commit 4304ac507781a258c8e72390a90a9672b840546a
Author: Attila Bakos (NISZ) 
AuthorDate: Thu Apr 6 13:34:42 2023 +0200
Commit: László Németh 
CommitDate: Tue Apr 18 19:30:46 2023 +0200

tdf#154481 sw DOCX import: fix page loss and freezing at ODT export

Disable TOC creation in case when field context stack
is empty but TOC creation is in progress in textboxes.
Before if TOC creation failed because it is already
existed, the TOC creation member (mbStartTOC) kept
true resulting in broken textbox handling.

Textbox and TOC import use the same text append
stack but the TOC was not removed from the stack
so content have been written into the TOC instead
of the textbox, resulting page loss, and because
of the broken structure, freezing at further ODT export.

Change-Id: If27aa477c49f276d4e538b6e125798d89f0ac423
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/150099
Tested-by: László Németh 
Reviewed-by: László Németh 
(cherry picked from commit 94de79e7d3c980b576192d2f264bee658716163a)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/150319
Tested-by: Jenkins

diff --git a/sw/qa/extras/ooxmlexport/data/tdf154481.docx 
b/sw/qa/extras/ooxmlexport/data/tdf154481.docx
new file mode 100644
index ..bfbfeda7687a
Binary files /dev/null and b/sw/qa/extras/ooxmlexport/data/tdf154481.docx differ
diff --git a/sw/qa/extras/ooxmlexport/ooxmlexport17.cxx 
b/sw/qa/extras/ooxmlexport/ooxmlexport17.cxx
index 0ff6256fc3b8..11bbfa86541b 100644
--- a/sw/qa/extras/ooxmlexport/ooxmlexport17.cxx
+++ b/sw/qa/extras/ooxmlexport/ooxmlexport17.cxx
@@ -988,6 +988,11 @@ DECLARE_OOXMLEXPORT_TEST(testTdf148132, "tdf148132.docx")
 }
 }
 
+DECLARE_OOXMLEXPORT_TEST(testTdf154481, "tdf154481.docx")
+{
+CPPUNIT_ASSERT_EQUAL_MESSAGE("Missing pages!", 7, getPages());
+}
+
 CPPUNIT_TEST_FIXTURE(Test, testTdf149200)
 {
 loadAndSave("tdf149200.docx");
diff --git a/writerfilter/source/dmapper/DomainMapper_Impl.cxx 
b/writerfilter/source/dmapper/DomainMapper_Impl.cxx
index d422240348d5..ae0a8a27da12 100644
--- a/writerfilter/source/dmapper/DomainMapper_Impl.cxx
+++ b/writerfilter/source/dmapper/DomainMapper_Impl.cxx
@@ -4906,6 +4906,15 @@ void DomainMapper_Impl::PushTextBoxContent()
 if (m_bIsInTextBox)
 return;
 
+// tdf#154481: check for TOC creation with empty field stack,
+// and close TOC, unless pages will lost. FIXME.
+if (IsInTOC() && m_aFieldStack.size() == 0)
+{
+m_bStartTOC = false;
+SAL_WARN("writerfilter.dmapper",
+ "broken TOC creation in textbox, but field stack is empty, so 
closing TOC!");
+}
+
 try
 {
 uno::Reference xTBoxFrame(


Re: Crash test update

2023-04-18 Thread Caolán McNamara
On Tue, 2023-04-18 at 02:17 +, crashtest wrote:
> Hi,
> 
> New crashtest update available at
>  f5bce7a4ee30df38d/>.
> 
> 91 files have crashed during import.
> 
> 20 files have crashed during export.

Here's my breakdown of the categories, I've only confirmed the first
new category as being from the new floating tables as split fly work
and assumed the same for the new writer layout asserts/crashes.

==new==

SwLayoutFrame::Lower
-> https://gerrit.libreoffice.org/c/core/+/150252 (noted there)
# 7718 bugtrackers/docx/tdf128700-2.docx
# 7667 bugtrackers/docx/tdf96724-1.docx
# 730 forums/docx/forum-mso-de-117064.docx
# 700 forums/docx/forum-mso-de-117070.docx
# 692 forums/docx/forum-mso-de-77474.docx
# 651 forums/docx/forum-mso-de-116268.docx
# 628 forums/docx/forum-mso-de-133201.docx

SwRectFnSet::GetHeight
-> https://gerrit.libreoffice.org/c/core/+/150252 (assumed)
# 7711 bugtrackers/docx/fdo80989-1.docx

SwFrame::PrepareMake
-> https://gerrit.libreoffice.org/c/core/+/150252 (assumed)
# 7689 bugtrackers/docx/tdf136909-1.docx

SwFrame::ImplInvalidateNextPos
-> https://gerrit.libreoffice.org/c/core/+/150252 (assumed)
# 7678 bugtrackers/docx/fdo72790-1.docx

SwFrame::Grow
-> https://gerrit.libreoffice.org/c/core/+/150252 (assumed)
# 7676 bugtrackers/docx/fdo80989-2.docx
# 691 forums/docx/forum-fr-21005.docx
# 638 forums/docx/forum-mso-en-14827.docx

CalcClipRect
-> https://gerrit.libreoffice.org/c/core/+/150252 (assumed)
# 7675 bugtrackers/docx/tdf97520-2.docx
# 7673 bugtrackers/docx/tdf114111-3.docx
# 698 forums/docx/forum-mso-de-133531.docx
# 689 forums/docx/forum-mso-en3-26783.docx
# 688 forums/docx/forum-mso-en4-600195.docx
# 682 forums/docx/forum-mso-en-18580.docx
# 650 forums/docx/forum-mso-de-113939.docx
# 626 forums/docx/forum-mso-en4-548497.docx

SwFrame::IsInSplitTableRow
-> https://gerrit.libreoffice.org/c/core/+/150252 (assumed)
# 681 forums/docx/forum-mso-de-98687.docx

SwFrame::PrepareMake
-> https://gerrit.libreoffice.org/c/core/+/150252 (assumed)
# bugtrackers/docx/tdf136931-1.docx

SwLayoutFrame::GrowFrame
-> https://gerrit.libreoffice.org/c/core/+/150252 (assumed)
# 7670 bugtrackers/docx/moz1023726-1.docx

SwEnterLeave::SwEnterLeave
-> https://gerrit.libreoffice.org/c/core/+/150252 (assumed)
# 7668 bugtrackers/docx/fdo72775-2.docx

SwFlowFrame::GetFollow
-> https://gerrit.libreoffice.org/c/core/+/150252 (assumed)
# 7665 bugtrackers/docx/fdo75943-1.docx

SwFrame::GetNextSctLeaf
-> https://gerrit.libreoffice.org/c/core/+/150252 (assumed)
# 728 forums/docx/forum-mso-de-127520.docx
# 712 forums/docx/forum-mso-de-118811.docx
# 695 forums/docx/forum-mso-en-13367.docx
# 694 forums/docx/forum-mso-de-102228.docx
# 665 forums/docx/forum-mso-de-127521.docx
# 623 forums/docx/forum-mso-de-127524.docx

SwCellFrame::FindStartEndOfRowSpanCell
-> https://gerrit.libreoffice.org/c/core/+/150252 (assumed)
# 670 forums/docx/forum-mso-en-17219.docx

SwFrame::FindNext_
-> https://gerrit.libreoffice.org/c/core/+/150252 (assumed)
# 618 forums/docx/forum-mso-de-118743.docx

==recent==

SwTextPainter::DrawTextLine
-> https://gerrit.libreoffice.org/c/core/+/148556 (mentioned there)
# 7953 bugtrackers/doc/fdo44018-2.odt
# 7186 bugtrackers/odt/ooo95981-1.odt
# 7181 bugtrackers/odt/moz386569-2.odt

SwNodes::FindPrvNxtFrameNode
-> https://gerrit.libreoffice.org/c/core/+/127272 (document provided)
# 60 forums/odt/forum-de3-11230.odt

SwTextFrame::PaintSwFrame
-> https://gerrit.libreoffice.org/c/core/+/149058
# 7712 bugtrackers/docx/tdf124604-4.odt
# 7697 bugtrackers/docx/tdf124604-3.odt
# 7672 bugtrackers/docx/tdf124604-1.odt
# 7192 bugtrackers/odt/fdo38226-1.odt
# 711 docx/forum-mso-en-2717.odt
# 7063 bugtrackers/odt/ooo58028-1.odt
# 7042 bugtrackers/odt/ooo34309-3.odt
# 7035 bugtrackers/odt/ooo90841-1.odt
# 632 forums/docx/forum-mso-en-2718.odt
# 621 forums/docx/forum-mso-de-59967.odt
# 1922 forums/doc/forum-mso-de-69704.odt
# 1915 forums/doc/forum-mso-de-69714.odt
# 1909 forums/doc/forum-mso-de-70196.odt
# 1908 forums/doc/forum-mso-de-69695.odt
# 1886 forums/doc/forum-mso-de-70197.odt

==old==

ScFormulaCell::MaybeInterpret()
# 891 forums/xls/forum-mso-de-48401.xls
# 2679 forums/xlsx/forum-mso-en4-237685.xlsx
# 2735 forums/xlsx/forum-mso-en4-271721.xlsx
# 3354 forums/xlsx/forum-mso-en4-237668.xlsx
# 3609 forums/xlsx/forum-mso-en4-604372.xlsx
# 3748 forums/xlsx/forum-mso-en4-314789.xslx
# 6837 forums/xlsx/forum-mso-en4-264966.xlsx
# 6480 forums/xlsx/forum-mso-en4-264977.xlsx
# 5577 forums/xlsx/forum-mso-en4-457928.xlsx
# 5217 forums/xlsx/forum-mso-en4-604336.xlsx
# 5053 forums/xlsx/forum-mso-en4-784502.xlsx
# 4935 forums/xlsx/forum-mso-en4-184573.xlsx
# 4813 forums/xlsx/forum-mso-en4-264966.xlsx

SwSubFont::GetTextSize_
# 629 forums/docx/forum-mso-de-118466.docx
# 641 forums/docx/forum-mso-de-76224.docx
# 649 forums/docx/forum-mso-de-118517.docx
# 656 forums/docx/forum-mso-de-118440.docx
# 664 forums/docx/forum-mso-de-118507.docx
# 679 forums/docx/

[Libreoffice-commits] core.git: sw/source

2023-04-18 Thread Xisco Fauli (via logerrit)
 sw/source/core/layout/fly.cxx |4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

New commits:
commit 6f36e44f248c8e3705779d6692daaf79865a1378
Author: Xisco Fauli 
AuthorDate: Tue Apr 18 15:50:24 2023 +0200
Commit: Caolán McNamara 
CommitDate: Tue Apr 18 21:02:03 2023 +0200

sw: fix divide by 0 in SwFlyFrame::CalcRel

https: 
//crashreport.libreoffice.org/stats/signature/SwFlyFrame::CalcRel(SwFormatFrameSize%20const%20&)
Change-Id: If7a1919a2829bbec3292b3aa5f7f719c5ba0beef
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/150579
Tested-by: Jenkins
Tested-by: Caolán McNamara 
Reviewed-by: Caolán McNamara 

diff --git a/sw/source/core/layout/fly.cxx b/sw/source/core/layout/fly.cxx
index 47a82a228a1f..ee05db8e30ad 100644
--- a/sw/source/core/layout/fly.cxx
+++ b/sw/source/core/layout/fly.cxx
@@ -2735,12 +2735,12 @@ Size SwFlyFrame::CalcRel( const SwFormatFrameSize &rSz 
) const
 if ( rSz.GetHeightPercent() && rSz.GetHeightPercent() != 
SwFormatFrameSize::SYNCED )
 aRet.setHeight( nRelHeight * rSz.GetHeightPercent() / 100 );
 
-if ( rSz.GetWidthPercent() == SwFormatFrameSize::SYNCED )
+if ( rSz.GetHeight() && rSz.GetWidthPercent() == 
SwFormatFrameSize::SYNCED )
 {
 aRet.setWidth( aRet.Width() * ( aRet.Height()) );
 aRet.setWidth( aRet.Width() / ( rSz.GetHeight()) );
 }
-else if ( rSz.GetHeightPercent() == SwFormatFrameSize::SYNCED )
+else if ( rSz.GetWidth() && rSz.GetHeightPercent() == 
SwFormatFrameSize::SYNCED )
 {
 aRet.setHeight( aRet.Height() * ( aRet.Width()) );
 aRet.setHeight( aRet.Height() / ( rSz.GetWidth()) );


[Libreoffice-commits] core.git: sw/qa

2023-04-18 Thread Xisco Fauli (via logerrit)
 sw/qa/extras/ooxmlexport/ooxmlexport14.cxx |8 
 sw/qa/extras/ooxmlexport/ooxmlexport17.cxx |7 ++-
 2 files changed, 6 insertions(+), 9 deletions(-)

New commits:
commit 90d6d7bb71a4961fc96d09833f5fefb77897f9f3
Author: Xisco Fauli 
AuthorDate: Tue Apr 18 16:47:22 2023 +0200
Commit: Xisco Fauli 
CommitDate: Tue Apr 18 21:28:04 2023 +0200

sw: these test should also check the export

Change-Id: I4b6a42454c186b17bf35c204dae1e051bb401b84
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/150580
Reviewed-by: Xisco Fauli 
Tested-by: Xisco Fauli 

diff --git a/sw/qa/extras/ooxmlexport/ooxmlexport14.cxx 
b/sw/qa/extras/ooxmlexport/ooxmlexport14.cxx
index 0fd98a48f759..8fea20074208 100644
--- a/sw/qa/extras/ooxmlexport/ooxmlexport14.cxx
+++ b/sw/qa/extras/ooxmlexport/ooxmlexport14.cxx
@@ -872,16 +872,16 @@ CPPUNIT_TEST_FIXTURE(Test, testSemiTransparentText)
 CPPUNIT_ASSERT_EQUAL(nTransparence, nActual);
 }
 
-CPPUNIT_TEST_FIXTURE(Test, testTdf147485)
+DECLARE_OOXMLEXPORT_TEST(testTdf147485, "Tdf147485.docx")
 {
 // Before the fix this was impossible.
-createSwDoc("Tdf147485.docx");
+CPPUNIT_ASSERT_EQUAL(1, getPages());
 }
 
-CPPUNIT_TEST_FIXTURE(Test, testTdf149546)
+DECLARE_OOXMLEXPORT_TEST(testTdf149546, "tdf149546.docx")
 {
 // Before the fix this was impossible.
-createSwDoc("tdf149546.docx");
+CPPUNIT_ASSERT_EQUAL(1, getPages());
 }
 
 CPPUNIT_TEST_FIXTURE(Test, testUserField)
diff --git a/sw/qa/extras/ooxmlexport/ooxmlexport17.cxx 
b/sw/qa/extras/ooxmlexport/ooxmlexport17.cxx
index fed8066f87f8..7088fc6ba0e8 100644
--- a/sw/qa/extras/ooxmlexport/ooxmlexport17.cxx
+++ b/sw/qa/extras/ooxmlexport/ooxmlexport17.cxx
@@ -210,10 +210,8 @@ CPPUNIT_TEST_FIXTURE(Test, testTdf135906)
 // just test round-tripping. The document was exported as corrupt and 
didn't re-load.
 }
 
-CPPUNIT_TEST_FIXTURE(Test, TestTdf146802)
+DECLARE_OOXMLEXPORT_TEST(testTdf146802, "tdf146802.docx")
 {
-createSwDoc("tdf146802.docx");
-
 // First check if the load failed, as before the fix.
 CPPUNIT_ASSERT(mxComponent);
 
@@ -1083,9 +1081,8 @@ DECLARE_OOXMLEXPORT_TEST(testTdf148132, "tdf148132.docx")
 }
 }
 
-CPPUNIT_TEST_FIXTURE(Test, testTdf154481)
+DECLARE_OOXMLEXPORT_TEST(testTdf154481, "tdf154481.docx")
 {
-createSwDoc("tdf154481.docx");
 CPPUNIT_ASSERT_EQUAL_MESSAGE("Missing pages!", 7, getPages());
 }
 


[Libreoffice-commits] core.git: sw/source

2023-04-18 Thread Mike Kaganski (via logerrit)
 sw/source/core/layout/frmtool.cxx |2 --
 1 file changed, 2 deletions(-)

New commits:
commit ebcd77c9ea2550d4082abf42d35a95bff72a40a7
Author: Mike Kaganski 
AuthorDate: Tue Apr 18 18:58:24 2023 +0200
Commit: Mike Kaganski 
CommitDate: Tue Apr 18 21:29:59 2023 +0200

This is redundant

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

diff --git a/sw/source/core/layout/frmtool.cxx 
b/sw/source/core/layout/frmtool.cxx
index 87897e48095a..5c8955bca1d1 100644
--- a/sw/source/core/layout/frmtool.cxx
+++ b/sw/source/core/layout/frmtool.cxx
@@ -1535,8 +1535,6 @@ void InsertCnt_( SwLayoutFrame *pLay, SwDoc *pDoc,
 bObjsDirect = false;
 }
 }
-else
-pPageMaker = nullptr;
 
 if( pLay->IsInSct() &&
 ( pLay->IsSctFrame() || pLay->GetUpper() ) ) // Hereby will newbies


[Libreoffice-commits] core.git: svx/source

2023-04-18 Thread Caolán McNamara (via logerrit)
 svx/source/unodraw/unoshap4.cxx |5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

New commits:
commit 02379929bd0e1d1676635f0ca1920422702ebb7c
Author: Caolán McNamara 
AuthorDate: Tue Apr 18 08:56:32 2023 +0100
Commit: Caolán McNamara 
CommitDate: Tue Apr 18 21:53:07 2023 +0200

allow SvxOle2Shape::resetModifiedState to survive having no SdrObject

Change-Id: Iea059262c124e3f44249e49b4189732310d28156
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/150538
Tested-by: Jenkins
Reviewed-by: Caolán McNamara 

diff --git a/svx/source/unodraw/unoshap4.cxx b/svx/source/unodraw/unoshap4.cxx
index ae26aaabeca6..bfde63a2bac1 100644
--- a/svx/source/unodraw/unoshap4.cxx
+++ b/svx/source/unodraw/unoshap4.cxx
@@ -499,10 +499,11 @@ void SvxOle2Shape::createLink( const OUString& aLinkURL )
 
 void SvxOle2Shape::resetModifiedState()
 {
-::comphelper::IEmbeddedHelper* pPersist = 
GetSdrObject()->getSdrModelFromSdrObject().GetPersist();
+SdrObject* pObject = GetSdrObject();
+::comphelper::IEmbeddedHelper* pPersist = pObject ? 
pObject->getSdrModelFromSdrObject().GetPersist() : nullptr;
 if( pPersist && !pPersist->isEnableSetModified() )
 {
-SdrOle2Obj* pOle = dynamic_cast< SdrOle2Obj* >( GetSdrObject() );
+SdrOle2Obj* pOle = dynamic_cast< SdrOle2Obj* >(pObject);
 if( pOle && !pOle->IsEmpty() )
 {
 uno::Reference < util::XModifiable > xMod( pOle->GetObjRef(), 
uno::UNO_QUERY );


[Libreoffice-commits] core.git: xmloff/source

2023-04-18 Thread Caolán McNamara (via logerrit)
 xmloff/source/draw/ximpshap.cxx |   13 -
 xmloff/source/draw/ximpshap.hxx |2 ++
 2 files changed, 14 insertions(+), 1 deletion(-)

New commits:
commit bafec47847a0b9697b3bbe9358e53f8118af3024
Author: Caolán McNamara 
AuthorDate: Mon Apr 17 16:53:44 2023 +0100
Commit: Caolán McNamara 
CommitDate: Tue Apr 18 21:53:35 2023 +0200

create the FloatingFrameShape in a separate step to inserting it

this is derived from the path taken by the AddShape(const OUString&)
function for this case. No change in behavior is intended.

Change-Id: Id09ae0c65a55a37743ad7c184070fb8dd97d8a7f
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/150526
Tested-by: Jenkins
Reviewed-by: Caolán McNamara 

diff --git a/xmloff/source/draw/ximpshap.cxx b/xmloff/source/draw/ximpshap.cxx
index 5b671ab1caf4..552414b06c9a 100644
--- a/xmloff/source/draw/ximpshap.cxx
+++ b/xmloff/source/draw/ximpshap.cxx
@@ -3133,10 +3133,21 @@ 
SdXMLFloatingFrameShapeContext::~SdXMLFloatingFrameShapeContext()
 {
 }
 
+uno::Reference 
SdXMLFloatingFrameShapeContext::CreateFloatingFrameShape() const
+{
+uno::Reference 
xServiceFact(GetImport().GetModel(), uno::UNO_QUERY);
+if (!xServiceFact.is())
+return nullptr;
+uno::Reference xShape(
+xServiceFact->createInstance("com.sun.star.drawing.FrameShape"), 
uno::UNO_QUERY);
+return xShape;
+}
+
 void SdXMLFloatingFrameShapeContext::startFastElement (sal_Int32 /*nElement*/,
 const css::uno::Reference< css::xml::sax::XFastAttributeList >& 
/*xAttrList*/)
 {
-AddShape("com.sun.star.drawing.FrameShape");
+uno::Reference 
xShape(SdXMLFloatingFrameShapeContext::CreateFloatingFrameShape());
+AddShape(xShape);
 
 if( !mxShape.is() )
 return;
diff --git a/xmloff/source/draw/ximpshap.hxx b/xmloff/source/draw/ximpshap.hxx
index 217c773c9785..64b28df579a0 100644
--- a/xmloff/source/draw/ximpshap.hxx
+++ b/xmloff/source/draw/ximpshap.hxx
@@ -528,6 +528,8 @@ private:
 OUString maFrameName;
 OUString maHref;
 
+css::uno::Reference CreateFloatingFrameShape() const;
+
 public:
 
 SdXMLFloatingFrameShapeContext( SvXMLImport& rImport,


[Libreoffice-commits] core.git: Branch 'libreoffice-7-5' - starmath/source

2023-04-18 Thread Rafael Lima (via logerrit)
 starmath/source/dialog.cxx |4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

New commits:
commit 69dfde2d2e42a21444e1a4b18f0a4a1929ac330d
Author: Rafael Lima 
AuthorDate: Wed Apr 12 16:14:10 2023 +0200
Commit: Adolfo Jayme Barrientos 
CommitDate: Tue Apr 18 22:58:06 2023 +0200

tdf#154773 Fix Symbols dialog in dark mode

Change-Id: I92029f1d19c7545a4122b125ae69ab5964e562d2
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/150209
Tested-by: Jenkins
Reviewed-by: Heiko Tietze 
(cherry picked from commit 2c01d4448a8059b5f335d07347b9e85a0d0031d8)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/150564
Reviewed-by: Adolfo Jayme Barrientos 

diff --git a/starmath/source/dialog.cxx b/starmath/source/dialog.cxx
index e7450727ad61..969466d6f06d 100644
--- a/starmath/source/dialog.cxx
+++ b/starmath/source/dialog.cxx
@@ -61,8 +61,8 @@ void lclGetSettingColors(Color& rBackgroundColor, Color& 
rTextColor)
 }
 else
 {
-rBackgroundColor = COL_WHITE;
-rTextColor = COL_BLACK;
+rBackgroundColor = rStyleSettings.GetFaceColor();
+rTextColor = rStyleSettings.GetLabelTextColor();
 }
 }
 


[Libreoffice-commits] core.git: Branch 'libreoffice-7-5' - svx/source

2023-04-18 Thread Caolán McNamara (via logerrit)
 svx/source/sidebar/line/LinePropertyPanelBase.cxx |2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

New commits:
commit 203e4b8f735ae19c9b7db3f67097b55e1e7f2771
Author: Caolán McNamara 
AuthorDate: Tue Apr 18 11:16:45 2023 +0100
Commit: Adolfo Jayme Barrientos 
CommitDate: Tue Apr 18 22:59:11 2023 +0200

Resolves: tdf#154870 label grayed out when it should not be

Change-Id: I1d84434622f09e6e91bea550f5dc0321cb7d89ef
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/150556
Tested-by: Jenkins
Reviewed-by: Adolfo Jayme Barrientos 

diff --git a/svx/source/sidebar/line/LinePropertyPanelBase.cxx 
b/svx/source/sidebar/line/LinePropertyPanelBase.cxx
index 4edf0d5c5ef9..67e8faae168b 100644
--- a/svx/source/sidebar/line/LinePropertyPanelBase.cxx
+++ b/svx/source/sidebar/line/LinePropertyPanelBase.cxx
@@ -268,7 +268,7 @@ void LinePropertyPanelBase::updateLineCap(bool bDisabled, 
bool bSetOrDefault,
 else
 {
 mxLBCapStyle->set_sensitive(true);
-mxLBCapStyle->set_sensitive(true);
+mxFTCapStyle->set_sensitive(true);
 }
 
 if(bSetOrDefault)


[Libreoffice-commits] core.git: sd/source

2023-04-18 Thread Maxim Monastirsky (via logerrit)
 sd/source/ui/table/TableDesignPane.cxx |2 ++
 1 file changed, 2 insertions(+)

New commits:
commit 61b41646c5a93ca24f2c9f143cdb0da2c9258989
Author: Maxim Monastirsky 
AuthorDate: Tue Apr 18 20:33:38 2023 +0300
Commit: Maxim Monastirsky 
CommitDate: Wed Apr 19 00:53:40 2023 +0200

tdf#154883 Set doc as modified on applying table style

Change-Id: I2a20f35f8b6730f256216cea718ac9020347f119
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/150584
Tested-by: Jenkins
Reviewed-by: Maxim Monastirsky 

diff --git a/sd/source/ui/table/TableDesignPane.cxx 
b/sd/source/ui/table/TableDesignPane.cxx
index 216cf09b3b59..c5f20588397b 100644
--- a/sd/source/ui/table/TableDesignPane.cxx
+++ b/sd/source/ui/table/TableDesignPane.cxx
@@ -475,6 +475,7 @@ void TableDesignWidget::ApplyStyle()
 pBindings->Invalidate( SID_REDO );
 }
 }
+setDocumentModified();
 }
 else
 {
@@ -530,6 +531,7 @@ void TableDesignWidget::ApplyOptions()
 pBindings->Invalidate( SID_REDO );
 }
 }
+setDocumentModified();
 }
 
 void TableDesignWidget::onSelectionChanged()


[Libreoffice-commits] core.git: sw/qa

2023-04-18 Thread Tomaž Vajngerl (via logerrit)
 sw/qa/core/theme/ThemeTest.cxx |  185 +
 1 file changed, 96 insertions(+), 89 deletions(-)

New commits:
commit 4396c1a2294d6904b5aa808a1f970a2586d63962
Author: Tomaž Vajngerl 
AuthorDate: Tue Mar 7 16:14:34 2023 +0900
Commit: Tomaž Vajngerl 
CommitDate: Wed Apr 19 07:30:34 2023 +0200

sw: rearrange ThemeTest - add checks for fill, line styles

Change-Id: Ia3fd9b6d608e83dcada03244c7347725046fdbea
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/149362
Tested-by: Jenkins
Reviewed-by: Tomaž Vajngerl 

diff --git a/sw/qa/core/theme/ThemeTest.cxx b/sw/qa/core/theme/ThemeTest.cxx
index 690523d6b006..802185494991 100644
--- a/sw/qa/core/theme/ThemeTest.cxx
+++ b/sw/qa/core/theme/ThemeTest.cxx
@@ -45,93 +45,12 @@ CPPUNIT_TEST_FIXTURE(SwCoreThemeTest, 
testThemeColorInHeading)
 CPPUNIT_ASSERT_EQUAL(model::ThemeColorType::Accent1, 
aThemeColor.getType());
 }
 
-void checkEffects(std::vector const& rEffectStyleList)
-{
-CPPUNIT_ASSERT_EQUAL(size_t(3), rEffectStyleList.size());
-{
-model::EffectStyle rEffectStyle = rEffectStyleList[0];
-CPPUNIT_ASSERT_EQUAL(size_t(0), rEffectStyle.maEffectList.size());
-}
-
-{
-model::EffectStyle rEffectStyle = rEffectStyleList[1];
-CPPUNIT_ASSERT_EQUAL(size_t(0), rEffectStyle.maEffectList.size());
-}
-
-{
-model::EffectStyle rEffectStyle = rEffectStyleList[2];
-CPPUNIT_ASSERT_EQUAL(size_t(1), rEffectStyle.maEffectList.size());
-model::Effect const& rEffect = rEffectStyle.maEffectList[0];
-
-CPPUNIT_ASSERT_EQUAL(model::EffectType::OuterShadow, rEffect.meType);
-CPPUNIT_ASSERT_EQUAL(sal_Int32(57150), rEffect.mnBlurRadius);
-CPPUNIT_ASSERT_EQUAL(sal_Int32(19050), rEffect.mnDistance);
-CPPUNIT_ASSERT_EQUAL(sal_Int32(540), rEffect.mnDirection);
-CPPUNIT_ASSERT_EQUAL(model::RectangleAlignment::Center, 
rEffect.meAlignment);
-CPPUNIT_ASSERT_EQUAL(false, rEffect.mbRotateWithShape);
-
-CPPUNIT_ASSERT_EQUAL(model::ColorType::RGB, rEffect.maColor.meType);
-CPPUNIT_ASSERT_EQUAL(sal_Int32(0), rEffect.maColor.mnComponent1);
-CPPUNIT_ASSERT_EQUAL(sal_Int32(0), rEffect.maColor.mnComponent2);
-CPPUNIT_ASSERT_EQUAL(sal_Int32(0), rEffect.maColor.mnComponent3);
-
-CPPUNIT_ASSERT_EQUAL(size_t(1), 
rEffect.maColor.maTransformations.size());
-CPPUNIT_ASSERT_EQUAL(model::TransformationType::Alpha,
- rEffect.maColor.maTransformations[0].meType);
-CPPUNIT_ASSERT_EQUAL(sal_Int16(6300), 
rEffect.maColor.maTransformations[0].mnValue);
-}
-}
-
-CPPUNIT_TEST_FIXTURE(SwCoreThemeTest, testDrawPageThemeExistsDOCX)
+void checkFillStyles(std::vector const& rStyleList)
 {
-createSwDoc("ThemeColorInHeading.docx");
-SwDoc* pDoc = getSwDoc();
-CPPUNIT_ASSERT(pDoc);
-
-SdrPage* pPage = 
pDoc->getIDocumentDrawModelAccess().GetDrawModel()->GetPage(0);
-auto const& pTheme = pPage->getSdrPageProperties().GetTheme();
-CPPUNIT_ASSERT(pTheme);
-CPPUNIT_ASSERT_EQUAL(OUString(u"Office Theme"), pTheme->GetName());
-
-model::ColorSet* pColorSet = pTheme->GetColorSet();
-CPPUNIT_ASSERT(pColorSet);
-CPPUNIT_ASSERT_EQUAL(OUString(u"Orange"), pColorSet->getName());
-
-CPPUNIT_ASSERT_EQUAL(Color(0xE48312), 
pTheme->GetColor(model::ThemeColorType::Accent1));
-CPPUNIT_ASSERT_EQUAL(Color(0xBD582C), 
pTheme->GetColor(model::ThemeColorType::Accent2));
-CPPUNIT_ASSERT_EQUAL(Color(0x865640), 
pTheme->GetColor(model::ThemeColorType::Accent3));
-CPPUNIT_ASSERT_EQUAL(Color(0x9B8357), 
pTheme->GetColor(model::ThemeColorType::Accent4));
-CPPUNIT_ASSERT_EQUAL(Color(0xC2BC80), 
pTheme->GetColor(model::ThemeColorType::Accent5));
-CPPUNIT_ASSERT_EQUAL(Color(0x94A088), 
pTheme->GetColor(model::ThemeColorType::Accent6));
-CPPUNIT_ASSERT_EQUAL(Color(0x00), 
pTheme->GetColor(model::ThemeColorType::Dark1));
-CPPUNIT_ASSERT_EQUAL(Color(0x637052), 
pTheme->GetColor(model::ThemeColorType::Dark2));
-CPPUNIT_ASSERT_EQUAL(Color(0xFF), 
pTheme->GetColor(model::ThemeColorType::Light1));
-CPPUNIT_ASSERT_EQUAL(Color(0xCCDDEA), 
pTheme->GetColor(model::ThemeColorType::Light2));
-
-model::FontScheme const& rFontScheme = pTheme->getFontScheme();
-CPPUNIT_ASSERT_EQUAL(OUString(u"Calibri Light"), 
rFontScheme.getMajorLatin().maTypeface);
-CPPUNIT_ASSERT_EQUAL(OUString(u"Calibri"), 
rFontScheme.getMinorLatin().maTypeface);
-CPPUNIT_ASSERT_EQUAL(true, 
rFontScheme.getMajorAsian().maTypeface.isEmpty());
-CPPUNIT_ASSERT_EQUAL(true, 
rFontScheme.getMinorAsian().maTypeface.isEmpty());
-CPPUNIT_ASSERT_EQUAL(true, 
rFontScheme.getMajorComplex().maTypeface.isEmpty());
-CPPUNIT_ASSERT_EQUAL(true, 
rFontScheme.getMinorComplex().maTypeface.isEmpty());
-CPPUNIT_ASSERT_EQUAL(size_t(47), 
rFontScheme.getMajorSupplementalFontList().size());
-CPPUNIT_ASSERT_EQUAL(size_t(47)

[Libreoffice-commits] core.git: forms/source

2023-04-18 Thread Julien Nabet (via logerrit)
 forms/source/xforms/convert.cxx   |5 +++--
 forms/source/xforms/datatypes.cxx |   30 +++---
 2 files changed, 30 insertions(+), 5 deletions(-)

New commits:
commit 3b4982b9c702002072dc3a9f7755f820eada08e7
Author: Julien Nabet 
AuthorDate: Tue Apr 18 18:07:17 2023 +0200
Commit: Noel Grandin 
CommitDate: Wed Apr 19 08:03:55 2023 +0200

Related tdf#154769: XML form, detect misformed date/datetime/time

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

diff --git a/forms/source/xforms/convert.cxx b/forms/source/xforms/convert.cxx
index 5cd017ac0c5a..8ffd4cab4906 100644
--- a/forms/source/xforms/convert.cxx
+++ b/forms/source/xforms/convert.cxx
@@ -25,6 +25,7 @@
 #include 
 #include 
 #include 
+#include 
 #include 
 #include 
 #include 
@@ -133,7 +134,7 @@ namespace
 
 // all okay?
 if ( !bWellformed )
-return css::util::Date( 1, 1, 1900 );
+throw com::sun::star::lang::IllegalArgumentException();
 
 return aDate;
 }
@@ -203,7 +204,7 @@ namespace
 
 // all okay?
 if ( !bWellformed )
-return css::util::Time();
+throw com::sun::star::lang::IllegalArgumentException();
 
 return aTime;
 }
diff --git a/forms/source/xforms/datatypes.cxx 
b/forms/source/xforms/datatypes.cxx
index c372298f0e5f..ea71dc85af83 100644
--- a/forms/source/xforms/datatypes.cxx
+++ b/forms/source/xforms/datatypes.cxx
@@ -730,7 +730,15 @@ namespace xforms
 
 bool ODateType::_getValue( const OUString& value, double& fValue )
 {
-Any aTypeValue = Convert::get().toAny( value, getCppuType() );
+Any aTypeValue;
+try
+{
+aTypeValue = Convert::get().toAny( value, getCppuType() );
+}
+catch (com::sun::star::lang::IllegalArgumentException)
+{
+return false;
+}
 
 Date aValue;
 if ( !( aTypeValue >>= aValue ) )
@@ -779,7 +787,15 @@ namespace xforms
 
 bool OTimeType::_getValue( const OUString& value, double& fValue )
 {
-Any aTypedValue = Convert::get().toAny( value, getCppuType() );
+Any aTypedValue;
+try
+{
+aTypedValue = Convert::get().toAny( value, getCppuType() );
+}
+catch (com::sun::star::lang::IllegalArgumentException)
+{
+return false;
+}
 
 css::util::Time aValue;
 if ( !( aTypedValue >>= aValue ) )
@@ -851,7 +867,15 @@ namespace xforms
 
 bool ODateTimeType::_getValue( const OUString& value, double& fValue )
 {
-Any aTypedValue = Convert::get().toAny( value, getCppuType() );
+Any aTypedValue;
+try
+{
+aTypedValue = Convert::get().toAny( value, getCppuType() );
+}
+catch (com::sun::star::uno::RuntimeException)
+{
+return false;
+}
 
 DateTime aValue;
 if ( !( aTypedValue >>= aValue ) )


[Libreoffice-commits] core.git: sw/inc sw/source

2023-04-18 Thread Noel Grandin (via logerrit)
 sw/inc/tblafmt.hxx  |   15 +--
 sw/source/core/doc/tblafmt.cxx  |6 ++
 sw/source/core/unocore/unostyle.cxx |   33 ++---
 3 files changed, 29 insertions(+), 25 deletions(-)

New commits:
commit 6f6a31d3e3b2ff113d5cc3a1ea960059cf09ceae
Author: Noel Grandin 
AuthorDate: Tue Apr 18 21:20:12 2023 +0200
Commit: Noel Grandin 
CommitDate: Wed Apr 19 08:07:08 2023 +0200

use more concrete UNO type in SwBoxAutoFormat

rather than hiding the relationship behind XInterface

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

diff --git a/sw/inc/tblafmt.hxx b/sw/inc/tblafmt.hxx
index 2f6c8f788f11..d007130f1fa8 100644
--- a/sw/inc/tblafmt.hxx
+++ b/sw/inc/tblafmt.hxx
@@ -34,6 +34,8 @@
 #include 
 #include 
 #include 
+#include 
+#include 
 #include "fmtornt.hxx"
 #include "swdllapi.h"
 
@@ -41,8 +43,9 @@ struct SwAfVersions;
 
 class SvNumberFormatter;
 class SwTable;
+class SwXTextCellStyle;
 
-class SwBoxAutoFormat : public AutoFormatBase
+class SW_DLLPUBLIC SwBoxAutoFormat : public AutoFormatBase
 {
 private:
 // Writer specific
@@ -54,7 +57,8 @@ private:
 LanguageTypem_eSysLanguage;
 LanguageTypem_eNumFormatLanguage;
 
-css::uno::WeakReference m_wXObject;
+// associated UNO object, if such exists
+unotools::WeakReference m_xAutoFormatUnoObject;
 
 public:
 SwBoxAutoFormat();
@@ -89,10 +93,9 @@ public:
 void SetSysLanguage(const LanguageType& rNew) { m_eSysLanguage = rNew; }
 void SetNumFormatLanguage(const LanguageType& rNew) { m_eNumFormatLanguage 
= rNew; }
 
-css::uno::WeakReference const& GetXObject() const
-{ return m_wXObject; }
-void SetXObject(css::uno::Reference const& xObject)
-{ m_wXObject = xObject; }
+unotools::WeakReference const& GetXObject() const
+{ return m_xAutoFormatUnoObject; }
+void SetXObject(rtl::Reference const& xObject);
 
 bool Load( SvStream& rStream, const SwAfVersions& rVersions, sal_uInt16 
nVer );
 bool Save( SvStream& rStream, sal_uInt16 fileVersion ) const;
diff --git a/sw/source/core/doc/tblafmt.cxx b/sw/source/core/doc/tblafmt.cxx
index d90760532a44..858441f87b6c 100644
--- a/sw/source/core/doc/tblafmt.cxx
+++ b/sw/source/core/doc/tblafmt.cxx
@@ -62,6 +62,7 @@
 #include 
 #include 
 #include 
+#include 
 
 #include 
 #include 
@@ -361,6 +362,11 @@ bool SwBoxAutoFormat::Save( SvStream& rStream, sal_uInt16 
fileVersion ) const
 return ERRCODE_NONE == rStream.GetError();
 }
 
+void SwBoxAutoFormat::SetXObject(rtl::Reference const& 
xObject)
+{
+m_xAutoFormatUnoObject = xObject.get();
+}
+
 SwTableAutoFormat::SwTableAutoFormat( OUString aName )
 : m_aName( std::move(aName) )
 , m_nStrResId( USHRT_MAX )
diff --git a/sw/source/core/unocore/unostyle.cxx 
b/sw/source/core/unocore/unostyle.cxx
index 81f74230b6de..d6272e3a5f59 100644
--- a/sw/source/core/unocore/unostyle.cxx
+++ b/sw/source/core/unocore/unostyle.cxx
@@ -4314,7 +4314,7 @@ void SwXTextTableStyle::UpdateCellStylesMapping()
 for (sal_Int32 i=0; iGetBoxFormat(aTableTemplateMap[i]);
-uno::Reference xCellStyle(pBoxFormat->GetXObject(), 
uno::UNO_QUERY);
+rtl::Reference xCellStyle(pBoxFormat->GetXObject());
 if (!xCellStyle.is())
 {
 xCellStyle.set(new SwXTextCellStyle(m_pDocShell, pBoxFormat, 
m_pTableAutoFormat->GetName()));
@@ -4383,12 +4383,11 @@ void SwXTextTableStyle::SetPhysical()
 for (size_t i=0; iGetBoxFormat(aTableTemplateMap[i]);
-uno::Reference 
xCellStyle(pOldBoxFormat->GetXObject(), uno::UNO_QUERY);
+rtl::Reference 
xCellStyle(pOldBoxFormat->GetXObject());
 if (!xCellStyle.is())
 continue;
-SwXTextCellStyle& rStyle = 
dynamic_cast(*xCellStyle);
 SwBoxAutoFormat& rNewBoxFormat = 
pTableAutoFormat->GetBoxFormat(aTableTemplateMap[i]);
-rStyle.SetBoxFormat(&rNewBoxFormat);
+xCellStyle->SetBoxFormat(&rNewBoxFormat);
 rNewBoxFormat.SetXObject(xCellStyle);
 }
 m_pTableAutoFormat_Impl = nullptr;
@@ -4549,30 +4548,26 @@ void SAL_CALL SwXTextTableStyle::replaceByName(const 
OUString& rName, const uno:
 throw container::NoSuchElementException();
 const sal_Int32 nCellStyle = iter->second;
 
-uno::Reference xStyle = 
rElement.get>();
-if (!xStyle.is())
+rtl::Reference xStyleToReplaceWith = 
dynamic_cast(rElement.get>().get());
+if (!xStyleToReplaceWith.is())
 throw lang::IllegalArgumentException();
 
-SwXTextCellStyle* pStyleToReplaceWith = 
dynamic_cast(xStyle.get());
-if (!pStyleToReplaceWith)
- throw lang::IllegalArgumentException();
-
 // replace only with physical ...
-if

[Libreoffice-commits] core.git: sw/qa

2023-04-18 Thread Miklos Vajna (via logerrit)
 sw/qa/extras/htmlexport/htmlexport.cxx |   23 ---
 1 file changed, 16 insertions(+), 7 deletions(-)

New commits:
commit ecb76e447891fb35c599abf36415952ea700561f
Author: Miklos Vajna 
AuthorDate: Tue Apr 18 20:11:21 2023 +0200
Commit: Miklos Vajna 
CommitDate: Wed Apr 19 08:16:03 2023 +0200

CppunitTest_sw_htmlexport: avoid reqif magic in testReqIfOleData

Set the filter options explicitly, rather than inferring it from the
test name.

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

diff --git a/sw/qa/extras/htmlexport/htmlexport.cxx 
b/sw/qa/extras/htmlexport/htmlexport.cxx
index de65983ac2ab..8ec0c1bd6fc1 100644
--- a/sw/qa/extras/htmlexport/htmlexport.cxx
+++ b/sw/qa/extras/htmlexport/htmlexport.cxx
@@ -695,14 +695,23 @@ CPPUNIT_TEST_FIXTURE(HtmlExportTest, testReqIfParagraph)
 CPPUNIT_ASSERT_EQUAL(static_cast(-1), 
aStream.indexOf(" xSupplier(mxComponent, 
uno::UNO_QUERY);
-uno::Reference 
xObjects(xSupplier->getEmbeddedObjects(),
- uno::UNO_QUERY);
-// This was 0,  without URL was ignored.
-// Then this was 0 on export, as data of OLE nodes was ignored.
-CPPUNIT_ASSERT_EQUAL(static_cast(1), xObjects->getCount());
+auto verify = [this]() {
+uno::Reference 
xSupplier(mxComponent, uno::UNO_QUERY);
+uno::Reference 
xObjects(xSupplier->getEmbeddedObjects(),
+ uno::UNO_QUERY);
+// This was 0,  without URL was ignored.
+// Then this was 0 on export, as data of OLE nodes was ignored.
+CPPUNIT_ASSERT_EQUAL(static_cast(1), xObjects->getCount());
+};
+setImportFilterOptions("xhtmlns=reqif-xhtml");
+setImportFilterName("HTML (StarWriter)");
+createSwDoc("reqif-ole-data.xhtml");
+verify();
+setFilterOptions("xhtmlns=reqif-xhtml");
+reload(mpFilter, "reqif-ole-data.xhtml");
+verify();
 }
 
 DECLARE_HTMLEXPORT_ROUNDTRIP_TEST(testReqIfOleImg, "reqif-ole-img.xhtml")


[Libreoffice-commits] core.git: Branch 'libreoffice-7-5' - sc/qa sc/source

2023-04-18 Thread Andreas Heinisch (via logerrit)
 sc/qa/extras/macros-test.cxx|   34 ++
 sc/source/ui/unoobj/viewuno.cxx |   18 +-
 2 files changed, 47 insertions(+), 5 deletions(-)

New commits:
commit 752f0aa9d25a286d70a5627d466ce9e76c84fba6
Author: Andreas Heinisch 
AuthorDate: Fri Apr 14 14:29:12 2023 +0200
Commit: Xisco Fauli 
CommitDate: Wed Apr 19 08:21:00 2023 +0200

tdf#154803 - Check if range is entirely merged

Regression from commit b9411e587586750f36ba9009b5f1e29fe461d8b5 where I
missinterpreted the check to get merged cells.

Regression:
tdf#147122 - Return cell object when a simple selection is merged
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/145378

Change-Id: I2e39599a206cf102b1da8c7fc4bb2d8c0a4b106c
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/150412
Tested-by: Jenkins
Reviewed-by: Andreas Heinisch 
Signed-off-by: Xisco Fauli 
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/150581

diff --git a/sc/qa/extras/macros-test.cxx b/sc/qa/extras/macros-test.cxx
index d1af2ae52846..f22412771033 100644
--- a/sc/qa/extras/macros-test.cxx
+++ b/sc/qa/extras/macros-test.cxx
@@ -73,6 +73,7 @@ public:
 void testShapeLayerId();
 void testFunctionAccessIndirect();
 void testTdf147122();
+void testTdf154803();
 
 CPPUNIT_TEST_SUITE(ScMacrosTest);
 CPPUNIT_TEST(testStarBasic);
@@ -109,6 +110,7 @@ public:
 CPPUNIT_TEST(testShapeLayerId);
 CPPUNIT_TEST(testFunctionAccessIndirect);
 CPPUNIT_TEST(testTdf147122);
+CPPUNIT_TEST(testTdf154803);
 
 CPPUNIT_TEST_SUITE_END();
 };
@@ -960,6 +962,38 @@ void ScMacrosTest::testTdf147122()
 CPPUNIT_ASSERT_EQUAL(Any(OUString("This is a test")), aRet);
 }
 
+void ScMacrosTest::testTdf154803()
+{
+mxComponent = loadFromDesktop("private:factory/scalc");
+
+css::uno::Reference xDocScr(mxComponent, 
UNO_QUERY_THROW);
+auto xLibs = xDocScr->getBasicLibraries();
+auto xLibrary = xLibs->createLibrary("TestLibrary");
+xLibrary->insertByName(
+"TestModule",
+uno::Any(
+OUString("Function TestExtendedMergedSelection\n"
+ // Merge A1:B2 cell range
+ "  oActiveSheet = 
ThisComponent.CurrentController.ActiveSheet\n"
+ "  oRange = oActiveSheet.getCellRangeByName(\"A1:B2\")\n"
+ "  ThisComponent.getCurrentController.Select(oRange)\n"
+ "  oActiveCell = ThisComponent.CurrentSelection\n"
+ "  oActiveCell.Merge(True)\n"
+ // Select A1:B3 range and check for its implementation 
name
+ "  oRange = oActiveSheet.getCellRangeByName(\"A1:B3\")\n"
+ "  ThisComponent.getCurrentController.Select(oRange)\n"
+ "  TestExtendedMergedSelection = 
ThisComponent.CurrentSelection.ImplementationName\n"
+ "End Function\n")));
+
+Any aRet = 
executeMacro("vnd.sun.Star.script:TestLibrary.TestModule.TestExtendedMergedSelection?"
+"language=Basic&location=document");
+// Without the fix in place, this test would have failed with
+// - Expected : ScCellRangeObj
+// - Actual   : ScCellObj
+// i.e. the selection was interpreted as a single cell instead of a range
+CPPUNIT_ASSERT_EQUAL(Any(OUString("ScCellRangeObj")), aRet);
+}
+
 ScMacrosTest::ScMacrosTest()
   : UnoApiXmlTest("/sc/qa/extras/testdocuments")
 {
diff --git a/sc/source/ui/unoobj/viewuno.cxx b/sc/source/ui/unoobj/viewuno.cxx
index f8940594746c..f58bf3782eb5 100644
--- a/sc/source/ui/unoobj/viewuno.cxx
+++ b/sc/source/ui/unoobj/viewuno.cxx
@@ -54,6 +54,7 @@
 #include 
 #include 
 #include 
+#include 
 #include 
 #include 
 #include 
@@ -873,13 +874,20 @@ uno::Any SAL_CALL ScTabViewObj::getSelection()
 ScMarkType eMarkType = rViewData.GetSimpleArea(aRange);
 if ( nTabs == 1 && (eMarkType == SC_MARK_SIMPLE) )
 {
-// tdf#147122 - return cell object when a simple selection is 
merged
+// tdf#154803 - check if range is entirely merged
 ScDocument& rDoc = pDocSh->GetDocument();
-const ScPatternAttr* pMarkPattern = rDoc.GetPattern(aRange.aStart);
+const ScMergeAttr* pMergeAttr = rDoc.GetAttr(aRange.aStart, 
ATTR_MERGE);
+SCCOL nColSpan = 1;
+SCROW nRowSpan = 1;
+if (pMergeAttr && pMergeAttr->IsMerged())
+{
+nColSpan = pMergeAttr->GetColMerge();
+nRowSpan = pMergeAttr->GetRowMerge();
+}
+// tdf#147122 - return cell object when a simple selection is 
entirely merged
 if (aRange.aStart == aRange.aEnd
-|| (pMarkPattern
-&& pMarkPattern->GetItemSet().GetItemState(ATTR_MERGE, 
false)
-   == SfxItemState::SET))
+|| (aRange.aEnd.Col() - aRan

Re: Crash test update

2023-04-18 Thread Miklos Vajna
Hi Caolan,

On Tue, Apr 18, 2023 at 07:42:44PM +0100, Caolán McNamara  
wrote:
> SwLayoutFrame::Lower
> -> https://gerrit.libreoffice.org/c/core/+/150252 (noted there)
> # 7718 bugtrackers/docx/tdf128700-2.docx
> # 7667 bugtrackers/docx/tdf96724-1.docx
> # 730 forums/docx/forum-mso-de-117064.docx
> # 700 forums/docx/forum-mso-de-117070.docx
> # 692 forums/docx/forum-mso-de-77474.docx
> # 651 forums/docx/forum-mso-de-116268.docx
> # 628 forums/docx/forum-mso-de-133201.docx
> 
> SwRectFnSet::GetHeight
> -> https://gerrit.libreoffice.org/c/core/+/150252 (assumed)
> # 7711 bugtrackers/docx/fdo80989-1.docx
> 
> SwFrame::PrepareMake
> -> https://gerrit.libreoffice.org/c/core/+/150252 (assumed)
> # 7689 bugtrackers/docx/tdf136909-1.docx
> 
> SwFrame::ImplInvalidateNextPos
> -> https://gerrit.libreoffice.org/c/core/+/150252 (assumed)
> # 7678 bugtrackers/docx/fdo72790-1.docx
> 
> SwFrame::Grow
> -> https://gerrit.libreoffice.org/c/core/+/150252 (assumed)
> # 7676 bugtrackers/docx/fdo80989-2.docx
> # 691 forums/docx/forum-fr-21005.docx
> # 638 forums/docx/forum-mso-en-14827.docx
> 
> CalcClipRect
> -> https://gerrit.libreoffice.org/c/core/+/150252 (assumed)
> # 7675 bugtrackers/docx/tdf97520-2.docx
> # 7673 bugtrackers/docx/tdf114111-3.docx
> # 698 forums/docx/forum-mso-de-133531.docx
> # 689 forums/docx/forum-mso-en3-26783.docx
> # 688 forums/docx/forum-mso-en4-600195.docx
> # 682 forums/docx/forum-mso-en-18580.docx
> # 650 forums/docx/forum-mso-de-113939.docx
> # 626 forums/docx/forum-mso-en4-548497.docx
> 
> SwFrame::IsInSplitTableRow
> -> https://gerrit.libreoffice.org/c/core/+/150252 (assumed)
> # 681 forums/docx/forum-mso-de-98687.docx
> 
> SwFrame::PrepareMake
> -> https://gerrit.libreoffice.org/c/core/+/150252 (assumed)
> # bugtrackers/docx/tdf136931-1.docx
> 
> SwLayoutFrame::GrowFrame
> -> https://gerrit.libreoffice.org/c/core/+/150252 (assumed)
> # 7670 bugtrackers/docx/moz1023726-1.docx
> 
> SwEnterLeave::SwEnterLeave
> -> https://gerrit.libreoffice.org/c/core/+/150252 (assumed)
> # 7668 bugtrackers/docx/fdo72775-2.docx
> 
> SwFlowFrame::GetFollow
> -> https://gerrit.libreoffice.org/c/core/+/150252 (assumed)
> # 7665 bugtrackers/docx/fdo75943-1.docx
> 
> SwFrame::GetNextSctLeaf
> -> https://gerrit.libreoffice.org/c/core/+/150252 (assumed)
> # 728 forums/docx/forum-mso-de-127520.docx
> # 712 forums/docx/forum-mso-de-118811.docx
> # 695 forums/docx/forum-mso-en-13367.docx
> # 694 forums/docx/forum-mso-de-102228.docx
> # 665 forums/docx/forum-mso-de-127521.docx
> # 623 forums/docx/forum-mso-de-127524.docx
> 
> SwCellFrame::FindStartEndOfRowSpanCell
> -> https://gerrit.libreoffice.org/c/core/+/150252 (assumed)
> # 670 forums/docx/forum-mso-en-17219.docx
> 
> SwFrame::FindNext_
> -> https://gerrit.libreoffice.org/c/core/+/150252 (assumed)
> # 618 forums/docx/forum-mso-de-118743.docx

Thanks, will look into these.

Regards,

Miklos