core.git: sc/qa sc/source

2024-01-22 Thread dholden (via logerrit)
 sc/qa/unit/data/ods/tdf149940.ods|binary
 sc/qa/unit/opencl-test-2.cxx |   27 +++
 sc/source/core/opencl/op_spreadsheet.cxx |4 +++-
 3 files changed, 30 insertions(+), 1 deletion(-)

New commits:
commit 91ba7d22b0df33a3ca4102bc77869fe89921c34e
Author: dholden 
AuthorDate: Mon Jan 22 02:25:11 2024 -0600
Commit: Noel Grandin 
CommitDate: Tue Jan 23 08:57:47 2024 +0100

tdf#149940 Fix vlookup result with OpenCL

This patch fixes the vlookup result in sorted order using OpenCl.
The issue was that the loop unrolling would cause the loop to exit early. 
This has been fixed to only happen in unsorted mode.

Change-Id: I7aba7b301c87061bc33128c8930ef3c55dc3c386
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/162363
Reviewed-by: Noel Grandin 
Tested-by: Noel Grandin 

diff --git a/sc/qa/unit/data/ods/tdf149940.ods 
b/sc/qa/unit/data/ods/tdf149940.ods
new file mode 100644
index ..5e117ac469f7
Binary files /dev/null and b/sc/qa/unit/data/ods/tdf149940.ods differ
diff --git a/sc/qa/unit/opencl-test-2.cxx b/sc/qa/unit/opencl-test-2.cxx
index 4c7fbdbcb96d..910e09b87ec3 100644
--- a/sc/qa/unit/opencl-test-2.cxx
+++ b/sc/qa/unit/opencl-test-2.cxx
@@ -1844,6 +1844,33 @@ CPPUNIT_TEST_FIXTURE(ScOpenCLTest2, 
testStatisticalFormulaStDevPA1)
 }
 }
 
+CPPUNIT_TEST_FIXTURE(ScOpenCLTest2, testTdf149940_VLookup)
+{
+initTestEnv(u"ods/tdf149940.ods");
+ScDocument* pDoc = getScDoc2();
+ScDocument* pDocRes = getScDoc();
+pDoc->CalcAll();
+
+for (SCROW i = 4; i <= 12; ++i)
+{
+double fLibre = pDoc->GetValue(ScAddress(1,i,1));
+double fExcel = pDocRes->GetValue(ScAddress(1,i,1));
+CPPUNIT_ASSERT_DOUBLES_EQUAL(fExcel, fLibre, fabs(0.1));
+}
+for (SCROW i = 4; i <= 12; ++i)
+{
+double fLibre = pDoc->GetValue(ScAddress(2,i,1));
+double fExcel = pDocRes->GetValue(ScAddress(2,i,1));
+CPPUNIT_ASSERT_DOUBLES_EQUAL(fExcel, fLibre, fabs(0.1));
+}
+for (SCROW i = 4; i <= 12; ++i)
+{
+double fLibre = pDoc->GetValue(ScAddress(3,i,1));
+double fExcel = pDocRes->GetValue(ScAddress(3,i,1));
+CPPUNIT_ASSERT_DOUBLES_EQUAL(fExcel, fLibre, fabs(0.1));
+}
+}
+
 ScOpenCLTest2::ScOpenCLTest2()
   : ScModelTestBase( "sc/qa/unit/data" )
 {
diff --git a/sc/source/core/opencl/op_spreadsheet.cxx 
b/sc/source/core/opencl/op_spreadsheet.cxx
index db99a1e7cf74..815f95b1f39f 100644
--- a/sc/source/core/opencl/op_spreadsheet.cxx
+++ b/sc/source/core/opencl/op_spreadsheet.cxx
@@ -171,7 +171,9 @@ void OpVLookup::GenSlidingWindowFunction(outputstream &ss,
 }
 
 ss << "}
";
-ss << "if(rowNum!=-1)
";
+ss << "if(rowNum!=-1 && tmp";
+ss << 3 + (secondParaWidth - 1);
+ss << " == 0)
";
 ss << "{
";
 for (int j = 0; j < secondParaWidth; j++)
 {


core.git: svx/source

2024-01-22 Thread AmosAidoo (via logerrit)
 svx/source/svdraw/svdfmtf.cxx |6 +++---
 svx/source/svdraw/svdfmtf.hxx |2 +-
 svx/source/svdraw/svdmark.cxx |4 ++--
 svx/source/svdraw/svdview.cxx |2 +-
 4 files changed, 7 insertions(+), 7 deletions(-)

New commits:
commit e3d03fa00d49c164ec235d77c827109eac522623
Author: AmosAidoo 
AuthorDate: Mon Jan 22 20:18:14 2024 +0100
Commit: Ilmari Lauhakangas 
CommitDate: Tue Jan 23 08:04:55 2024 +0100

tdf#114441 convert sal_uLong to appropriate types

svdfmtf.cxx and .hxx
GetActionSize returns a size_t value
The parameter 'a' is compared to a size_t value

svdmark.cxx
GetOrdNum returns a sal_uInt32 value

svdview.cxx
GetLineCount returns a sal_uInt32 value

Change-Id: I85a0303742607208fdbfb7783e7254847720a2c4
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/162416
Tested-by: Ilmari Lauhakangas 
Reviewed-by: Ilmari Lauhakangas 

diff --git a/svx/source/svdraw/svdfmtf.cxx b/svx/source/svdraw/svdfmtf.cxx
index 923c40a550fa..0ea228dc4c28 100644
--- a/svx/source/svdraw/svdfmtf.cxx
+++ b/svx/source/svdraw/svdfmtf.cxx
@@ -114,9 +114,9 @@ ImpSdrGDIMetaFileImport::ImpSdrGDIMetaFileImport(
 
 void ImpSdrGDIMetaFileImport::DoLoopActions(GDIMetaFile const & rMtf, 
SvdProgressInfo* pProgrInfo, sal_uInt32* pActionsToReport)
 {
-const sal_uLong nCount(rMtf.GetActionSize());
+const size_t nCount = rMtf.GetActionSize();
 
-for(sal_uLong a(0); a < nCount; a++)
+for(size_t a = 0; a < nCount; a++)
 {
 MetaAction* pAct = rMtf.GetAction(a);
 
@@ -1219,7 +1219,7 @@ void ImpSdrGDIMetaFileImport::MapScaling()
 }
 
 
-void ImpSdrGDIMetaFileImport::DoAction( MetaCommentAction const & rAct, 
GDIMetaFile const & rMtf, sal_uLong& a) // GDIMetaFile* pMtf )
+void ImpSdrGDIMetaFileImport::DoAction( MetaCommentAction const & rAct, 
GDIMetaFile const & rMtf, size_t& a) // GDIMetaFile* pMtf )
 {
 bool aSkipComment = false;
 
diff --git a/svx/source/svdraw/svdfmtf.hxx b/svx/source/svdraw/svdfmtf.hxx
index 31c325582799..6011293cfe92 100644
--- a/svx/source/svdraw/svdfmtf.hxx
+++ b/svx/source/svdraw/svdfmtf.hxx
@@ -121,7 +121,7 @@ class ImpSdrGDIMetaFileImport final
 
 // #i125211# The MetaCommentAction needs to advance (if used), thus
 // give current metafile and index which may be changed
-void DoAction(MetaCommentAction const & rAct, GDIMetaFile const & rMtf, 
sal_uLong& a);
+void DoAction(MetaCommentAction const & rAct, GDIMetaFile const & rMtf, 
size_t& a);
 
 // missing actions added
 void DoAction(MetaTextRectAction const & rAct);
diff --git a/svx/source/svdraw/svdmark.cxx b/svx/source/svdraw/svdmark.cxx
index c6151ccfd89d..fc5d815ab9a2 100644
--- a/svx/source/svdraw/svdmark.cxx
+++ b/svx/source/svdraw/svdmark.cxx
@@ -292,8 +292,8 @@ void SdrMarkList::InsertEntry(const SdrMark& rMark, bool 
bChkSort)
 
 if(pLastOL == pNewOL)
 {
-const sal_uLong nLastNum(pLastObj!=nullptr ? 
pLastObj->GetOrdNum() : 0);
-const sal_uLong nNewNum(pNewObj !=nullptr ? pNewObj 
->GetOrdNum() : 0);
+const sal_uInt32 nLastNum(pLastObj!=nullptr ? 
pLastObj->GetOrdNum() : 0);
+const sal_uInt32 nNewNum(pNewObj !=nullptr ? pNewObj 
->GetOrdNum() : 0);
 
 if(nNewNum < nLastNum)
 {
diff --git a/svx/source/svdraw/svdview.cxx b/svx/source/svdraw/svdview.cxx
index f88363268c69..c2a919924464 100644
--- a/svx/source/svdraw/svdview.cxx
+++ b/svx/source/svdraw/svdview.cxx
@@ -1244,7 +1244,7 @@ OUString SdrView::GetStatusText()
 // At the end of a line of any multi-line paragraph, we display the
 // position of the next line of the same paragraph, if there is one.
 sal_uInt16 nParaLine = 0;
-sal_uLong nParaLineCount = 
mpTextEditOutliner->GetLineCount(aSel.nEndPara);
+sal_uInt32 nParaLineCount = 
mpTextEditOutliner->GetLineCount(aSel.nEndPara);
 bool bBrk = false;
 while (!bBrk)
 {


core.git: cui/source sc/source sw/source

2024-01-22 Thread Noel Grandin (via logerrit)
 cui/source/factory/dlgfact.cxx   |2 +-
 cui/source/factory/dlgfact.hxx   |2 +-
 sc/source/ui/view/tabvwshb.cxx   |9 +++--
 sw/source/uibase/uiview/viewdlg2.cxx |9 +++--
 4 files changed, 16 insertions(+), 6 deletions(-)

New commits:
commit eb6634fdda76f6bc2909b01770f4ebe28873e7af
Author: Noel Grandin 
AuthorDate: Mon Jan 22 14:55:46 2024 +0200
Commit: Noel Grandin 
CommitDate: Tue Jan 23 07:17:59 2024 +0100

make sign signatures dialog async

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

diff --git a/cui/source/factory/dlgfact.cxx b/cui/source/factory/dlgfact.cxx
index 30bdef345ff7..42c9d35e8a47 100644
--- a/cui/source/factory/dlgfact.cxx
+++ b/cui/source/factory/dlgfact.cxx
@@ -114,7 +114,7 @@ IMPL_ABSTDLG_CLASS(AbstractInsertObjectDialog)
 IMPL_ABSTDLG_CLASS(AbstractLinksDialog)
 IMPL_ABSTDLG_CLASS(AbstractScreenshotAnnotationDlg)
 IMPL_ABSTDLG_CLASS(AbstractSignatureLineDialog)
-IMPL_ABSTDLG_CLASS(AbstractSignSignatureLineDialog)
+IMPL_ABSTDLG_CLASS_ASYNC(AbstractSignSignatureLineDialog, 
SignSignatureLineDialog)
 IMPL_ABSTDLG_CLASS_ASYNC(AbstractSvxCharacterMapDialog, SvxCharacterMap)
 IMPL_ABSTDLG_CLASS(AbstractSvxHpLinkDlg)
 IMPL_ABSTDLG_CLASS(AbstractSvxJSearchOptionsDialog)
diff --git a/cui/source/factory/dlgfact.hxx b/cui/source/factory/dlgfact.hxx
index 29b28ed8cab1..be1af746c182 100644
--- a/cui/source/factory/dlgfact.hxx
+++ b/cui/source/factory/dlgfact.hxx
@@ -411,7 +411,7 @@ 
DECL_ABSTDLG_CLASS_ASYNC(AbstractQrCodeGenDialog,QrCodeGenDialog)
 };
 
 // AbstractSignSignatureLineDialog_Impl
-DECL_ABSTDLG_CLASS(AbstractSignSignatureLineDialog,SignSignatureLineDialog)
+DECL_ABSTDLG_CLASS_ASYNC(AbstractSignSignatureLineDialog,SignSignatureLineDialog)
 };
 
 // AbstractAdditionsDialog_Impl
diff --git a/sc/source/ui/view/tabvwshb.cxx b/sc/source/ui/view/tabvwshb.cxx
index b727afae9c1c..683ca26afca2 100644
--- a/sc/source/ui/view/tabvwshb.cxx
+++ b/sc/source/ui/view/tabvwshb.cxx
@@ -415,9 +415,14 @@ void ScTabViewShell::ExecDrawIns(SfxRequest& rReq)
 GetViewData().GetDocShell()->GetBaseModel());
 
 VclAbstractDialogFactory* pFact = 
VclAbstractDialogFactory::Create();
-ScopedVclPtr pDialog(
+VclPtr pDialog(
 pFact->CreateSignSignatureLineDialog(GetFrameWeld(), 
xModel));
-pDialog->Execute();
+pDialog->StartExecuteAsync(
+[pDialog] (sal_Int32 /*nResult*/)->void
+{
+pDialog->disposeOnce();
+}
+);
 break;
 }
 
diff --git a/sw/source/uibase/uiview/viewdlg2.cxx 
b/sw/source/uibase/uiview/viewdlg2.cxx
index a79b224ddbfd..38cdb7ecac54 100644
--- a/sw/source/uibase/uiview/viewdlg2.cxx
+++ b/sw/source/uibase/uiview/viewdlg2.cxx
@@ -105,9 +105,14 @@ void SwView::ExecDlgExt(SfxRequest const& rReq)
 {
 VclAbstractDialogFactory* pFact = 
VclAbstractDialogFactory::Create();
 const uno::Reference xModel(GetCurrentDocument());
-ScopedVclPtr pDialog(
+VclPtr pDialog(
 pFact->CreateSignSignatureLineDialog(GetFrameWeld(), xModel));
-pDialog->Execute();
+pDialog->StartExecuteAsync(
+[pDialog] (sal_Int32 /*nResult*/)->void
+{
+pDialog->disposeOnce();
+}
+);
 break;
 }
 case  FN_EDIT_FOOTNOTE:


core.git: 2 commits - cui/source sc/source sd/source sw/source

2024-01-22 Thread Noel Grandin (via logerrit)
 cui/source/factory/dlgfact.cxx   |4 ++--
 cui/source/factory/dlgfact.hxx   |4 ++--
 sc/source/ui/drawfunc/drawsh5.cxx|9 +++--
 sc/source/ui/view/tabvwshb.cxx   |9 +++--
 sd/source/ui/view/drviews2.cxx   |9 +++--
 sd/source/ui/view/drviews3.cxx   |9 +++--
 sw/source/uibase/shells/drwbassh.cxx |9 +++--
 sw/source/uibase/uiview/viewdlg2.cxx |9 +++--
 8 files changed, 46 insertions(+), 16 deletions(-)

New commits:
commit 9b517f9d4fdafbe7a8db8b7ed3c9e0f09f50cfda
Author: Noel Grandin 
AuthorDate: Mon Jan 22 14:53:32 2024 +0200
Commit: Noel Grandin 
CommitDate: Tue Jan 23 07:17:47 2024 +0100

make additions dialog async

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

diff --git a/cui/source/factory/dlgfact.cxx b/cui/source/factory/dlgfact.cxx
index 48320a25f7d2..30bdef345ff7 100644
--- a/cui/source/factory/dlgfact.cxx
+++ b/cui/source/factory/dlgfact.cxx
@@ -102,7 +102,7 @@ using ::com::sun::star::uno::Reference;
 
 using namespace svx;
 
-IMPL_ABSTDLG_CLASS(AbstractAdditionsDialog)
+IMPL_ABSTDLG_CLASS_ASYNC(AbstractAdditionsDialog, 
weld::GenericDialogController)
 IMPL_ABSTDLG_CLASS_ASYNC(AbstractDiagramDialog, DiagramDialog)
 IMPL_ABSTDLG_CLASS(AbstractFmInputRecordNoDialog)
 IMPL_ABSTDLG_CLASS(AbstractFmSearchDialog)
diff --git a/cui/source/factory/dlgfact.hxx b/cui/source/factory/dlgfact.hxx
index 5daaf967d95c..29b28ed8cab1 100644
--- a/cui/source/factory/dlgfact.hxx
+++ b/cui/source/factory/dlgfact.hxx
@@ -415,7 +415,7 @@ 
DECL_ABSTDLG_CLASS(AbstractSignSignatureLineDialog,SignSignatureLineDialog)
 };
 
 // AbstractAdditionsDialog_Impl
-DECL_ABSTDLG_CLASS(AbstractAdditionsDialog,weld::GenericDialogController)
+DECL_ABSTDLG_CLASS_ASYNC(AbstractAdditionsDialog,weld::GenericDialogController)
 };
 
 // AbstractDiagramDialog_Impl
diff --git a/sc/source/ui/view/tabvwshb.cxx b/sc/source/ui/view/tabvwshb.cxx
index ad0e757ce0aa..b727afae9c1c 100644
--- a/sc/source/ui/view/tabvwshb.cxx
+++ b/sc/source/ui/view/tabvwshb.cxx
@@ -442,9 +442,14 @@ void ScTabViewShell::ExecDrawIns(SfxRequest& rReq)
 sAdditionsTag = pStringArg->GetValue();
 
 VclAbstractDialogFactory* pFact = 
VclAbstractDialogFactory::Create();
-ScopedVclPtr pDialog(
+VclPtr pDialog(
 pFact->CreateAdditionsDialog(pWin->GetFrameWeld(), 
sAdditionsTag));
-pDialog->Execute();
+pDialog->StartExecuteAsync(
+[pDialog] (sal_Int32 /*nResult*/)->void
+{
+pDialog->disposeOnce();
+}
+);
 break;
 }
 
diff --git a/sd/source/ui/view/drviews2.cxx b/sd/source/ui/view/drviews2.cxx
index 8dbb3142e4c3..f9f176021410 100644
--- a/sd/source/ui/view/drviews2.cxx
+++ b/sd/source/ui/view/drviews2.cxx
@@ -3586,9 +3586,14 @@ void DrawViewShell::FuTemporary(SfxRequest& rReq)
 sAdditionsTag = pStringArg->GetValue();
 
 VclAbstractDialogFactory* pFact = 
VclAbstractDialogFactory::Create();
-ScopedVclPtr pDlg(
+VclPtr pDlg(
 pFact->CreateAdditionsDialog(GetFrameWeld(), sAdditionsTag));
-pDlg->Execute();
+pDlg->StartExecuteAsync(
+[pDlg] (sal_Int32 /*nResult*/)->void
+{
+pDlg->disposeOnce();
+}
+);
 Cancel();
 rReq.Ignore ();
 }
diff --git a/sw/source/uibase/uiview/viewdlg2.cxx 
b/sw/source/uibase/uiview/viewdlg2.cxx
index 597731645ebe..a79b224ddbfd 100644
--- a/sw/source/uibase/uiview/viewdlg2.cxx
+++ b/sw/source/uibase/uiview/viewdlg2.cxx
@@ -91,9 +91,14 @@ void SwView::ExecDlgExt(SfxRequest const& rReq)
 sAdditionsTag = pStringArg->GetValue();
 
 VclAbstractDialogFactory* pFact = 
VclAbstractDialogFactory::Create();
-ScopedVclPtr pDialog(
+VclPtr pDialog(
 pFact->CreateAdditionsDialog(GetFrameWeld(), sAdditionsTag));
-pDialog->Execute();
+pDialog->StartExecuteAsync(
+[pDialog] (sal_Int32 /*nResult*/)->void
+{
+pDialog->disposeOnce();
+}
+);
 break;
 }
 case SID_SIGN_SIGNATURELINE:
commit 4cee40936ef39a61c56779e6059e79e7ea6b3961
Author: Noel Grandin 
AuthorDate: Mon Jan 22 14:48:56 2024 +0200
Commit: Noel Grandin 
CommitDate: Tue Jan 23 07:17:38 2024 +0100

make diagram dialog async

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

diff --git a/cui/source/factory/dlgfact.cxx b/cui/sou

core.git: Branch 'libreoffice-24-2' - officecfg/registry

2024-01-22 Thread Julien Nabet (via logerrit)
 officecfg/registry/data/org/openoffice/Office/Accelerators.xcu |1 -
 1 file changed, 1 deletion(-)

New commits:
commit 06726e12cad769a2b28c3598792f08f0c8cb4ea1
Author: Julien Nabet 
AuthorDate: Mon Jan 22 18:50:31 2024 +0100
Commit: Noel Grandin 
CommitDate: Tue Jan 23 07:05:36 2024 +0100

tdf#159326: Command-F assigned to both Find and Find and Replace in Calc

Regression from e651d9e657f9b61fb45777d6e7edeb5cb95f8d27
German shortcut improvements for Calc
(2023-09-27)

Change-Id: I4440663025e3eb85c8c73a624769ceec527daa1c
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/162413
Tested-by: Jenkins
Reviewed-by: Patrick Luby 
Signed-off-by: Xisco Fauli 
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/162376
Reviewed-by: Noel Grandin 

diff --git a/officecfg/registry/data/org/openoffice/Office/Accelerators.xcu 
b/officecfg/registry/data/org/openoffice/Office/Accelerators.xcu
index 231d10612750..b6178a1d9f70 100644
--- a/officecfg/registry/data/org/openoffice/Office/Accelerators.xcu
+++ b/officecfg/registry/data/org/openoffice/Office/Accelerators.xcu
@@ -1059,7 +1059,6 @@ Ctrl+Shift+e aka E_SHIFT_MOD1 under GTK/IBUS is for some 
emoji thing
 
   
 I10N SHORTCUTS - NO 
TRANSLATE
-.uno:SearchDialog
 .uno:Navigator
   
 


core.git: sw/qa writerfilter/source

2024-01-22 Thread Mike Kaganski (via logerrit)
 sw/qa/extras/layout/data/sdt+framePr.docx|binary
 sw/qa/extras/layout/layout3.cxx  |   36 +++
 writerfilter/source/dmapper/DomainMapper.cxx |   18 ++---
 writerfilter/source/dmapper/SdtHelper.hxx|1 
 4 files changed, 51 insertions(+), 4 deletions(-)

New commits:
commit 13a11632014ccc27199667c6a1e313f8ff616d6d
Author: Mike Kaganski 
AuthorDate: Mon Jan 22 19:10:29 2024 +0600
Commit: Mike Kaganski 
CommitDate: Tue Jan 23 05:33:42 2024 +0100

tdf#159259: make sure to set FieldStartRange in sdt helper

... also for field case.
Unfortunately, it is not really clear, if the anagement of this could
be moved to DomainMapper_Impl. There are several insertion contexts;
they may use different insertion points; there maybe could be cases
when an inserted content should not go into the current sdt (?). Thus,
I didn't put the code into DomainMapper_Impl::appendTextContent(),
where the field character is inserted. Instead, I added code to check
and set the start range in the same place as for the normal text: we
know for sure, that if it were a normal text, we would append it to
GetCurrentTextRange()->getEnd() - so do the same for fields.

My concern that still stays is that the use of hasUnusedText looks
hackish and fragile. Inserted fields don't set it - so the code that
depends on empty sdt will not notice it. OTOH, it can't set it: this
would break inserting field result for an already inserted command.
Possibly all handling of sdt should be refactored at some point.

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

diff --git a/sw/qa/extras/layout/data/sdt+framePr.docx 
b/sw/qa/extras/layout/data/sdt+framePr.docx
new file mode 100644
index ..d46bcbfaa774
Binary files /dev/null and b/sw/qa/extras/layout/data/sdt+framePr.docx differ
diff --git a/sw/qa/extras/layout/layout3.cxx b/sw/qa/extras/layout/layout3.cxx
index 9dfa7083debe..846899cdd4a6 100644
--- a/sw/qa/extras/layout/layout3.cxx
+++ b/sw/qa/extras/layout/layout3.cxx
@@ -2303,6 +2303,42 @@ CPPUNIT_TEST_FIXTURE(SwLayoutWriter3, testTdf159271)
 assertXPath(pXmlDoc, 
"/root/page/body/tab/row/cell[2]/txt//SwFieldPortion"_ostr, 1);
 }
 
+CPPUNIT_TEST_FIXTURE(SwLayoutWriter3, testTdf159259)
+{
+// Given a document with a block sdt with a single field, having framePr 
aligned to right
+createSwDoc("sdt+framePr.docx");
+xmlDocUniquePtr pXmlDoc = parseLayoutDump();
+// Make sure there is only one page and one paragraph with one line and 
one anchored object
+assertXPath(pXmlDoc, "/root/page"_ostr, 1);
+// Without the fix, this would fail: there were two paragraphs
+assertXPath(pXmlDoc, "/root/page/body/txt"_ostr, 1);
+assertXPath(pXmlDoc, "/root/page/body/txt/SwParaPortion"_ostr, 1);
+assertXPath(pXmlDoc, 
"/root/page/body/txt/SwParaPortion/SwLineLayout"_ostr, 1);
+// Without the fix, this would fail: there was a field portion in the line
+assertXPath(pXmlDoc, 
"/root/page/body/txt/SwParaPortion/SwLineLayout/SwFieldPortion"_ostr, 0);
+// Without the fix, this would fail: there was no anchored objects
+assertXPath(pXmlDoc, "/root/page/body/txt/anchored"_ostr, 1);
+assertXPath(pXmlDoc, "/root/page/body/txt/anchored/fly"_ostr, 1);
+
+const sal_Int32 paraRight
+= getXPath(pXmlDoc, "/root/page/body/txt/infos/bounds"_ostr, 
"right"_ostr).toInt32();
+const sal_Int32 paraHeight
+= getXPath(pXmlDoc, "/root/page/body/txt/infos/bounds"_ostr, 
"height"_ostr).toInt32();
+
+CPPUNIT_ASSERT_GREATER(sal_Int32(0), paraRight);
+CPPUNIT_ASSERT_GREATER(sal_Int32(0), paraHeight);
+
+const sal_Int32 flyRight
+= getXPath(pXmlDoc, 
"/root/page/body/txt/anchored/fly/infos/bounds"_ostr, "right"_ostr)
+  .toInt32();
+const sal_Int32 flyHeight
+= getXPath(pXmlDoc, 
"/root/page/body/txt/anchored/fly/infos/bounds"_ostr, "height"_ostr)
+  .toInt32();
+
+CPPUNIT_ASSERT_EQUAL(paraRight, flyRight); // The fly is right-aligned
+CPPUNIT_ASSERT_EQUAL(paraHeight, flyHeight);
+}
+
 } // end of anonymous namespace
 
 CPPUNIT_PLUGIN_IMPLEMENT();
diff --git a/writerfilter/source/dmapper/DomainMapper.cxx 
b/writerfilter/source/dmapper/DomainMapper.cxx
index 30c2203ef578..a4156210943a 100644
--- a/writerfilter/source/dmapper/DomainMapper.cxx
+++ b/writerfilter/source/dmapper/DomainMapper.cxx
@@ -4494,14 +4494,24 @@ void DomainMapper::lcl_utext(const sal_Unicode *const 
data_, size_t len)
 }
 else if (m_pImpl->IsOpenFieldCommand() && 
!m_pImpl->IsForceGenericFields())
 {
-if (bInSdtBlockText && m_pImpl->m_pSdtHelper->hasUnusedText())
-m_pImpl->m_pSdtHelper->createPlainTextControl();
+if (bInSdtBlockText)
+ 

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

2024-01-22 Thread Caolán McNamara (via logerrit)
 sc/source/filter/inc/condformatbuffer.hxx |1 +
 sc/source/filter/oox/condformatbuffer.cxx |8 
 2 files changed, 5 insertions(+), 4 deletions(-)

New commits:
commit 682e3f931180fdc5652fe89ea88f7474f6ace84c
Author: Caolán McNamara 
AuthorDate: Mon Jan 15 20:41:49 2024 +
Commit: Dennis Francis 
CommitDate: Tue Jan 23 03:50:41 2024 +0100

ofz#65809 Direct-leak

since:

commit c84a1928ea76cf175711942db9ca7bb2f0ec6f0b
Date:   Tue Oct 3 12:40:25 2023 +0530

sc: condfmt-perf: use a shared cache that...

mbReadyForFinalize gets set to true, but the mpFormat is never
set into the ScDocument, add a mbOwnsFormat to track successful
transfer of ownership.

Change-Id: I8f11c68a4253d1ad67ec96825d5036ad468562ff
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/162136
Tested-by: Jenkins CollaboraOffice 
Reviewed-by: Dennis Francis 
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/162392
Reviewed-by: Caolán McNamara 
Tested-by: Dennis Francis 

diff --git a/sc/source/filter/inc/condformatbuffer.hxx 
b/sc/source/filter/inc/condformatbuffer.hxx
index 9c8896dbf22a..945a05d99e94 100644
--- a/sc/source/filter/inc/condformatbuffer.hxx
+++ b/sc/source/filter/inc/condformatbuffer.hxx
@@ -232,6 +232,7 @@ private:
 CondFormatRuleMap   maRules;/// Maps formatting rules by 
priority.
 ScConditionalFormat* mpFormat;
 boolmbReadyForFinalize;
+boolmbOwnsFormat;
 };
 
 struct ExCfRuleModel
diff --git a/sc/source/filter/oox/condformatbuffer.cxx 
b/sc/source/filter/oox/condformatbuffer.cxx
index 649c2417f348..ebfe88ce8da6 100644
--- a/sc/source/filter/oox/condformatbuffer.cxx
+++ b/sc/source/filter/oox/condformatbuffer.cxx
@@ -1095,13 +1095,14 @@ CondFormatModel::CondFormatModel() :
 CondFormat::CondFormat( const WorksheetHelper& rHelper ) :
 WorksheetHelper( rHelper ),
 mpFormat(nullptr),
-mbReadyForFinalize(false)
+mbReadyForFinalize(false),
+mbOwnsFormat(true)
 {
 }
 
 CondFormat::~CondFormat()
 {
-if (!mbReadyForFinalize && mpFormat)
+if (mbOwnsFormat)
 delete mpFormat;
 }
 
@@ -1147,12 +1148,11 @@ void CondFormat::finalizeImport()
 if (mpFormat->size() > 0)
 {
 SCTAB nTab = maModel.maRanges.GetTopLeftCorner().Tab();
+mbOwnsFormat = false; // ownership transferred to std::unique_ptr -> 
ScDocument
 sal_Int32 nIndex = 
getScDocument().AddCondFormat(std::unique_ptr(mpFormat), 
nTab);
 
 rDoc.AddCondFormatData( maModel.maRanges, nTab, nIndex );
 }
-else
-mbReadyForFinalize = false;
 }
 
 CondFormatRuleRef CondFormat::createRule()


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

2024-01-22 Thread Patrick Luby (via logerrit)
 sw/source/core/undo/untbl.cxx |9 -
 1 file changed, 8 insertions(+), 1 deletion(-)

New commits:
commit 8163882de6308e46b261af9e75906d1d05c4eb08
Author: Patrick Luby 
AuthorDate: Sat Jan 13 17:57:56 2024 -0500
Commit: Patrick Luby 
CommitDate: Tue Jan 23 01:18:20 2024 +0100

tdf#159025 skip undo if SwTableNode is a nullptr

I don't know what causes the SwTableNode to be a nullptr in the
case of tdf#159025, but at least stop the crashing by skipping
this undo request.

Change-Id: Idad1ed290af215e591018ea58732b77ca504ba01
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/162031
Tested-by: Jenkins
Reviewed-by: Noel Grandin 
Reviewed-by: Patrick Luby 
(cherry picked from commit f414c61f8dd2617baa0851525b8a7a630c5e34da)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/162225

diff --git a/sw/source/core/undo/untbl.cxx b/sw/source/core/undo/untbl.cxx
index 6f122e73b6da..72f1c809e227 100644
--- a/sw/source/core/undo/untbl.cxx
+++ b/sw/source/core/undo/untbl.cxx
@@ -272,7 +272,14 @@ void SwUndoInsTable::UndoImpl(::sw::UndoRedoContext & 
rContext)
 SwNodeIndex aIdx( rDoc.GetNodes(), m_nStartNode );
 
 SwTableNode* pTableNd = aIdx.GetNode().GetTableNode();
-OSL_ENSURE( pTableNd, "no TableNode" );
+// tdf#159025 skip undo if SwTableNode is a nullptr
+// I don't know what causes the SwTableNode to be a nullptr in the
+// case of tdf#159025, but at least stop the crashing by skipping
+// this undo request.
+SAL_WARN_IF( !pTableNd, "sw.core", "no TableNode" );
+if( !pTableNd )
+return;
+
 pTableNd->DelFrames();
 
 if( IDocumentRedlineAccess::IsRedlineOn( GetRedlineFlags() ))


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

2024-01-22 Thread László Németh (via logerrit)
 sw/qa/uitest/data/tdf159102.fodt|   61 
 sw/qa/uitest/writer_tests8/tdf159102.py |   81 
 sw/source/core/text/portxt.cxx  |   12 +++-
 3 files changed, 151 insertions(+), 3 deletions(-)

New commits:
commit d8116658ecf66d915ae8cf6510a76ee628c45431
Author: László Németh 
AuthorDate: Wed Jan 10 20:41:04 2024 +0100
Commit: Xisco Fauli 
CommitDate: Tue Jan 23 00:31:18 2024 +0100

tdf#159102 sw smart justify: fix automatic hyphenation

As before with soft hyphens, automatic hyphenation
could result too much shrinking, because of calculating
with an extra non-existing space in the line.

Also try to shrink the line only if a space likely
will be available in it.

During testing, extend user dictionary temporarily
with custom automatic hyphenation to avoid of false tests
because of non-available hyphenation patterns. (Note: maybe
the other tests with non-user dictionary based automatic
hyphenations are not correct.)

Follow-up to commit d511367c102ef2ada0f73dbe81744d39865d58ba
"tdf#195085 sw smart justify: fix bad shrinking at soft hyphen".

Change-Id: I58ecb8f1ea9f55ef2457d7ff4aca6aefa59a6dd1
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/162199
Tested-by: Jenkins
Reviewed-by: László Németh 
(cherry picked from commit 7c1f4dd740c32050480f3ab678805ad3c4c748bb)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/162219
Reviewed-by: Xisco Fauli 

diff --git a/sw/qa/uitest/data/tdf159102.fodt b/sw/qa/uitest/data/tdf159102.fodt
new file mode 100644
index ..dfe9fc18872b
--- /dev/null
+++ b/sw/qa/uitest/data/tdf159102.fodt
@@ -0,0 +1,61 @@
+
+
+http://www.w3.org/TR/css3-text/"; 
xmlns:grddl="http://www.w3.org/2003/g/data-view#"; 
xmlns:xhtml="http://www.w3.org/1999/xhtml"; 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"; 
xmlns:xsd="http://www.w3.org/2001/XMLSchema"; 
xmlns:xforms="http://www.w3.org/2002/xforms"; 
xmlns:dom="http://www.w3.org/2001/xml-events"; 
xmlns:script="urn:oasis:names:tc:opendocument:xmlns:script:1.0" 
xmlns:form="urn:oasis:names:tc:opendocument:xmlns:form:1.0" 
xmlns:math="http://www.w3.org/1998/Math/MathML"; 
xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0" 
xmlns:ooo="http://openoffice.org/2004/office"; 
xmlns:fo="urn:oasis:names:tc:opendocument:xmlns:xsl-fo-compatible:1.0" 
xmlns:config="urn:oasis:names:tc:opendocument:xmlns:config:1.0" 
xmlns:ooow="http://openoffice.org/2004/writer"; 
xmlns:xlink="http://www.w3.org/1999/xlink"; 
xmlns:drawooo="http://openoffice.org/2010/draw"; 
xmlns:oooc="http://openoffice.org/2004/calc"; 
xmlns:dc="http://purl.org/dc/elements/1.1/"; xmlns:c
 alcext="urn:org:documentfoundation:names:experimental:calc:xmlns:calcext:1.0" 
xmlns:style="urn:oasis:names:tc:opendocument:xmlns:style:1.0" 
xmlns:text="urn:oasis:names:tc:opendocument:xmlns:text:1.0" 
xmlns:of="urn:oasis:names:tc:opendocument:xmlns:of:1.2" 
xmlns:tableooo="http://openoffice.org/2009/table"; 
xmlns:draw="urn:oasis:names:tc:opendocument:xmlns:drawing:1.0" 
xmlns:dr3d="urn:oasis:names:tc:opendocument:xmlns:dr3d:1.0" 
xmlns:rpt="http://openoffice.org/2005/report"; 
xmlns:formx="urn:openoffice:names:experimental:ooxml-odf-interop:xmlns:form:1.0"
 xmlns:svg="urn:oasis:names:tc:opendocument:xmlns:svg-compatible:1.0" 
xmlns:chart="urn:oasis:names:tc:opendocument:xmlns:chart:1.0" 
xmlns:officeooo="http://openoffice.org/2009/office"; 
xmlns:table="urn:oasis:names:tc:opendocument:xmlns:table:1.0" 
xmlns:field="urn:openoffice:names:experimental:ooo-ms-interop:xmlns:field:1.0" 
xmlns:number="urn:oasis:names:tc:opendocument:xmlns:datastyle:1.0" 
xmlns:meta="urn:oasis:names:tc:opendocument:xmlns:
 meta:1.0" 
xmlns:loext="urn:org:documentfoundation:names:experimental:office:xmlns:loext:1.0"
 office:version="1.3" office:mimetype="application/vnd.oasis.opendocument.text">
+ 
+  
+   true
+   high-resolution
+  
+ 
+ 
+  
+  
+ 
+ 
+  
+   
+   
+  
+  
+   
+  
+  
+   
+  
+  
+   
+   
+  
+ 
+ 
+  
+   
+   
+  
+  
+   
+  
+  
+   
+  
+  
+   
+  
+  
+   
+
+   
+   
+   
+  
+ 
+ 
+  
+ 
+ 
+  
+   venenatis, quis commodo dolor posuere. Curabitur dignissim 
sapien quis cursus egestas.
+   venenatis, quis commodo dolor posuere. Curabitur dignissim 
sapien quis cursus 
egestas.
+  
+ 
+
diff --git a/sw/qa/uitest/writer_tests8/tdf159102.py 
b/sw/qa/uitest/writer_tests8/tdf159102.py
new file mode 100644
index ..07152ada3999
--- /dev/null
+++ b/sw/qa/uitest/writer_tests8/tdf159102.py
@@ -0,0 +1,81 @@
+# -*- 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/.
+#
+from uitest.framework import UITestCase
+from uitest.uihelp

core.git: Branch 'libreoffice-24-2' - editeng/source

2024-01-22 Thread Mike Kaganski (via logerrit)
 editeng/source/misc/acorrcfg.cxx |5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

New commits:
commit 0455f4c13c5e0d055c92f84c3e71aad32a062a35
Author: Mike Kaganski 
AuthorDate: Mon Jan 22 12:08:56 2024 +0600
Commit: Xisco Fauli 
CommitDate: Tue Jan 23 00:26:18 2024 +0100

tdf#159313: pass properties in correct order

Regression after commit c4fc18308074634e9578ad12d94d937f259aa22a
(Autocorrect: Add option for autoformat bulleted lists after space,
2023-09-07).

Change-Id: I35fafc1441b4f67886a86d4d67764a91146b8ece
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/162359
Tested-by: Jenkins
Reviewed-by: Mike Kaganski 
(cherry picked from commit ca33b8b35a10243dc13e68c93e7c7512eef937ec)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/162289
Reviewed-by: Michael Stahl 
Tested-by: Xisco Fauli 

diff --git a/editeng/source/misc/acorrcfg.cxx b/editeng/source/misc/acorrcfg.cxx
index fcafbfca6f0c..616d75c69600 100644
--- a/editeng/source/misc/acorrcfg.cxx
+++ b/editeng/source/misc/acorrcfg.cxx
@@ -645,7 +645,6 @@ void SvxSwAutoCorrCfg::ImplCommit()
  css::uno::Any(rParent.bAutoFmtByInput), // "Format/ByInput/Enable"
  css::uno::Any(rSwFlags.bChgToEnEmDash), // "Format/ByInput/ChangeDash"
  css::uno::Any(rSwFlags.bSetNumRule),
- css::uno::Any(rSwFlags.bSetNumRuleAfterSpace),
 // "Format/ByInput/ApplyNumbering/Enable"
  css::uno::Any(rSwFlags.bSetBorder), // 
"Format/ByInput/ChangeToBorders"
  css::uno::Any(rSwFlags.bCreateTable), // 
"Format/ByInput/ChangeToTable"
@@ -679,7 +678,9 @@ void SvxSwAutoCorrCfg::ImplCommit()
 // "Format/ByInput/ApplyNumbering/SpecialCharacter/FontCharset"
  css::uno::Any(sal_Int32(rSwFlags.aByInputBulletFont.GetPitch())),
 // "Format/ByInput/ApplyNumbering/SpecialCharacter/FontPitch"
- css::uno::Any(rSwFlags.bSetDOIAttr)});
+ css::uno::Any(rSwFlags.bSetDOIAttr),
+ css::uno::Any(rSwFlags.bSetNumRuleAfterSpace), // 
"Format/ByInput/ApplyNumberingAfterSpace"
+});
 // "Format/Option/SetDOIAttribute"
 }
 


core.git: Branch 'libreoffice-7-6' - sw/CppunitTest_sw_ooxmlexport21.mk sw/Module_sw.mk sw/qa writerfilter/source

2024-01-22 Thread Justin Luth (via logerrit)
 sw/CppunitTest_sw_ooxmlexport21.mk  |   14 +++
 sw/Module_sw.mk |1 
 sw/qa/extras/ooxmlexport/data/tdf153909_followTextFlow.docx |binary
 sw/qa/extras/ooxmlexport/ooxmlexport21.cxx  |   50 
 writerfilter/source/ooxml/OOXMLFastContextHandler.cxx   |   14 +++
 5 files changed, 78 insertions(+), 1 deletion(-)

New commits:
commit 15d19f48dc9eaf74d37b3da36a4bfc68be483547
Author: Justin Luth 
AuthorDate: Fri Jan 19 13:50:36 2024 -0500
Commit: Xisco Fauli 
CommitDate: Mon Jan 22 22:19:58 2024 +0100

tdf#153909 docx import: wrap through shapes shouldn't FollowTextFlow

This resolves a NISZ 6.4.0 regression from
commit 27d04f6dbf38aa28fb7215590d578c4567db5770
tdf#119038 DOCX: fix FollowTextFlow handling

MSO is all over the place in how they implement layoutInCell
(aka FollowTextFlow in LO). There are lots of compat15 differences
for this, but I don't notice compat coming into play with this bug.

For reference, see commit e993638d5ecd33783f2eebdccfa87a81e5a8a2c5
Author: Miklos Vajna on Mon Jan 24 12:53:25 2022 +0100
DOCX import: fix  with 

I'm sure this is the WRONG code spot for handling FollowTextFlow,
but anywhere else and we lose the "it came from a vml shape"
limiting information, so I'm not going to try to relocate this code.

Inline (as-character) shapes ignore layoutInCell,
so the type of anchor (floating or inline) shouldn't matter
and therefore doesn't need to be part of the if () clause.

The header can be special (in compat14 it means everything
is wrap through), but at least in this case it is not limited
to IsInHeaderHeader. Using a non-header as the unit test.

make CppunitTest_sw_ooxmlexport21 \
CPPUNIT_TEST_NAME=testTdf153909_followTextFlow

The first patchset contains a list of all of the unit tests
that were impacted by this patch: nothing interesting.

Change-Id: I0c4c7924833550533ad1b0b7609840a666d4d589
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/162324
Reviewed-by: Justin Luth 
Tested-by: Jenkins
(cherry picked from commit ad0266eb84eafa32ccc4e0ddf3c6392860bc9b13)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/162286
Reviewed-by: Miklos Vajna 
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/162410
Reviewed-by: Xisco Fauli 

diff --git a/sw/CppunitTest_sw_ooxmlexport21.mk 
b/sw/CppunitTest_sw_ooxmlexport21.mk
new file mode 100644
index ..999314b9c6c4
--- /dev/null
+++ b/sw/CppunitTest_sw_ooxmlexport21.mk
@@ -0,0 +1,14 @@
+# -*- Mode: makefile-gmake; tab-width: 4; indent-tabs-mode: t -*-
+#*
+#
+# This file is part of the LibreOffice project.
+#
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+#
+#*
+
+$(eval $(call sw_ooxmlexport_test,21))
+
+# vim: set noet sw=4 ts=4:
diff --git a/sw/Module_sw.mk b/sw/Module_sw.mk
index 9b81a6f961fa..ab92e8d11571 100644
--- a/sw/Module_sw.mk
+++ b/sw/Module_sw.mk
@@ -94,6 +94,7 @@ $(eval $(call gb_Module_add_slowcheck_targets,sw,\
 CppunitTest_sw_ooxmlexport17 \
 CppunitTest_sw_ooxmlexport18 \
 CppunitTest_sw_ooxmlexport19 \
+CppunitTest_sw_ooxmlexport21 \
 CppunitTest_sw_ooxmlexport_template \
 CppunitTest_sw_ooxmlfieldexport \
 CppunitTest_sw_ooxmllinks \
diff --git a/sw/qa/extras/ooxmlexport/data/tdf153909_followTextFlow.docx 
b/sw/qa/extras/ooxmlexport/data/tdf153909_followTextFlow.docx
new file mode 100644
index ..712e37aceabd
Binary files /dev/null and 
b/sw/qa/extras/ooxmlexport/data/tdf153909_followTextFlow.docx differ
diff --git a/sw/qa/extras/ooxmlexport/ooxmlexport21.cxx 
b/sw/qa/extras/ooxmlexport/ooxmlexport21.cxx
new file mode 100644
index ..9f6de0d155d5
--- /dev/null
+++ b/sw/qa/extras/ooxmlexport/ooxmlexport21.cxx
@@ -0,0 +1,50 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ */
+
+#include 
+
+#include 
+#include 
+#include 
+#include 
+#include 
+
+#include 
+#include 
+#include 
+
+namespace
+{
+class Test : public SwModelTestBase
+{
+public:
+Test()
+: SwModelTestBase("/sw/qa/extras/ooxmlexport/data/", "Office Open XML 
Text")
+{
+}
+};
+
+DECLARE_OOXMLEXPORT_TEST(testTdf153909_followTextFlow, 
"tdf153909_followTextFlow.docx")
+{
+// Although MSO's UI reports "l

core.git: Branch 'libreoffice-7-6' - basctl/source

2024-01-22 Thread Rafael Lima (via logerrit)
 basctl/source/dlged/dlged.cxx |2 ++
 1 file changed, 2 insertions(+)

New commits:
commit 3fd80b31eb997847e04571b21ec512928a70bf81
Author: Rafael Lima 
AuthorDate: Wed Jan 17 20:33:43 2024 +0100
Commit: Xisco Fauli 
CommitDate: Mon Jan 22 22:18:48 2024 +0100

tdf#159247 Fix crash while adding control with default properties (Dialog 
Editor)

Controls created using the Ctrl+toolbar (which adds a control with default 
properties) did not have a parent form, which causes the crash.

Change-Id: Ic2f469e6656a93bbed25d86092384f81b21aaca5
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/162217
Tested-by: Jenkins
Reviewed-by: Patrick Luby 
Reviewed-by: Rafael Lima 
(cherry picked from commit c4e5b1b934fc3c59fb35ae6c02a0ddf8501a6d28)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/162278
Reviewed-by: Xisco Fauli 
(cherry picked from commit 41146e08e1dda001a7c490f6a28aad09174b4d65)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/162282

diff --git a/basctl/source/dlged/dlged.cxx b/basctl/source/dlged/dlged.cxx
index 1917e3ff4a56..26db2effb039 100644
--- a/basctl/source/dlged/dlged.cxx
+++ b/basctl/source/dlged/dlged.cxx
@@ -623,6 +623,8 @@ void DlgEditor::CreateDefaultObject()
 
 // set default property values
 pDlgEdObj->SetDefaults();
+// set the form to which the new object belongs
+pDlgEdObj->SetDlgEdForm(pDlgEdForm.get());
 
 // insert object into drawing page
 SdrPageView* pPageView = pDlgEdView->GetSdrPageView();


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

2024-01-22 Thread Matt K (via logerrit)
 sw/source/core/layout/anchoreddrawobject.cxx |   10 ++
 sw/source/core/layout/fly.cxx|   13 -
 2 files changed, 14 insertions(+), 9 deletions(-)

New commits:
commit d6466f9b1ec73011145d429d12003b52718b
Author: Matt K 
AuthorDate: Sun Jan 21 12:23:33 2024 -0600
Commit: Xisco Fauli 
CommitDate: Mon Jan 22 21:37:31 2024 +0100

tdf#132810 Prevent more crashes on gallery objects

This change is a follow-up to https://gerrit.libreoffice.org/c/core/+/161950
where there is still a crash occurring on application close, and
a general crash when using gallery objects.  The fix is to check for object
existence or if the object has the destructor bit set before using the
objects.

Here is the callstack for the assert that was removed:

>   swlo.dll!SwClient::GetRegisteredIn() Line 166   C++
swlo.dll!SwContact::GetFormat() Line 112C++
swlo.dll!SwAnchoredDrawObject::GetFrameFormat() Line 622C++
swlo.dll!SwAnchoredObject::FindAnchorCharFrame() Line 719   C++
swlo.dll!SwAnchoredObject::GetAnchorFrameContainingAnchPos() Line 
132   C++
swlo.dll!SwAnchoredObject::FindPageFrameOfAnchor() Line 697 C++
swlo.dll!SwObjectFormatterLayFrame::AdditionalFormatObjsOnPage() 
Line 144   C++
swlo.dll!SwObjectFormatterLayFrame::DoFormatObjs() Line 94  C++
swlo.dll!SwObjectFormatter::FormatObjsAtFrame(SwFrame & 
_rAnchorFrame, const SwPageFrame & _rPageFrame, SwLayAction * _pLayAction) Line 
160 C++
swlo.dll!SwLayAction::InternalAction(OutputDevice * pRenderContext) 
Line 565C++
swlo.dll!SwLayAction::Action(OutputDevice * pRenderContext) Line 
390C++
swlo.dll!SwViewShell::ImplEndAction(const bool bIdleEnd) Line 308   
C++
swlo.dll!SwViewShell::EndAction(const bool bIdleEnd) Line 628   C++
swlo.dll!SwCursorShell::EndAction(const bool bIdleEnd) Line 266 C++
swlo.dll!SwEditShell::EndAllAction() Line 102   C++
swlo.dll!SwWrtShell::Do(SwWrtShell::DoType eDoType, unsigned short 
nCnt, unsigned short nOffset) Line 60C++
swlo.dll!SwBaseShell::ExecUndo(SfxRequest & rReq) Line 655  C++

Change-Id: I90bd40f3ae864ec9655340c342ddc16b59d79aba
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/162349
Tested-by: Jenkins
Reviewed-by: Mike Kaganski 
(cherry picked from commit 6840c242684986483624557a405a00e91ea048e9)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/162370
Reviewed-by: Matt K 
Reviewed-by: Xisco Fauli 

diff --git a/sw/source/core/layout/anchoreddrawobject.cxx 
b/sw/source/core/layout/anchoreddrawobject.cxx
index 77a19aa8295a..5a9e1245afd8 100644
--- a/sw/source/core/layout/anchoreddrawobject.cxx
+++ b/sw/source/core/layout/anchoreddrawobject.cxx
@@ -619,13 +619,15 @@ void SwAnchoredDrawObject::InvalidateObjPos()
 
 SwFrameFormat* SwAnchoredDrawObject::GetFrameFormat()
 {
-
assert(static_cast(GetUserCall(GetDrawObj()))->GetFormat());
-return static_cast(GetUserCall(GetDrawObj()))->GetFormat();
+if (SwDrawContact* pDC = 
static_cast(GetUserCall(GetDrawObj(
+return pDC->GetFormat();
+return nullptr;
 }
 const SwFrameFormat* SwAnchoredDrawObject::GetFrameFormat() const
 {
-
assert(static_cast(GetUserCall(GetDrawObj()))->GetFormat());
-return static_cast(GetUserCall(GetDrawObj()))->GetFormat();
+if (SwDrawContact* pDC = 
static_cast(GetUserCall(GetDrawObj(
+return pDC->GetFormat();
+return nullptr;
 }
 
 SwRect SwAnchoredDrawObject::GetObjRect() const
diff --git a/sw/source/core/layout/fly.cxx b/sw/source/core/layout/fly.cxx
index 6e7e6235dcb3..ba57cd6b4cdf 100644
--- a/sw/source/core/layout/fly.cxx
+++ b/sw/source/core/layout/fly.cxx
@@ -2594,12 +2594,15 @@ void SwFrame::RemoveDrawObj( SwAnchoredObject& 
_rToRemoveObj )
 {
 // Notify accessible layout.
 #if !ENABLE_WASM_STRIP_ACCESSIBILITY
-SwViewShell* pSh = getRootFrame()->GetCurrShell();
-if( pSh )
+if (!mbInDtor)
 {
-SwRootFrame* pLayout = getRootFrame();
-if (pLayout && pLayout->IsAnyShellAccessible())
-pSh->Imp()->DisposeAccessibleObj(_rToRemoveObj.GetDrawObj(), 
false);
+SwViewShell* pSh = getRootFrame()->GetCurrShell();
+if (pSh)
+{
+SwRootFrame* pLayout = getRootFrame();
+if (pLayout && pLayout->IsAnyShellAccessible())
+pSh->Imp()->DisposeAccessibleObj(_rToRemoveObj.GetDrawObj(), 
false);
+}
 }
 #endif
 


core.git: Branch 'libreoffice-7-6' - sw/source

2024-01-22 Thread Matt K (via logerrit)
 sw/source/core/layout/anchoreddrawobject.cxx |   10 ++
 sw/source/core/layout/fly.cxx|   13 -
 2 files changed, 14 insertions(+), 9 deletions(-)

New commits:
commit b3d710ffd5f63d9c37a61fccc97213d22c4d721f
Author: Matt K 
AuthorDate: Sun Jan 21 12:23:33 2024 -0600
Commit: Xisco Fauli 
CommitDate: Mon Jan 22 21:37:39 2024 +0100

tdf#132810 Prevent more crashes on gallery objects

This change is a follow-up to https://gerrit.libreoffice.org/c/core/+/161950
where there is still a crash occurring on application close, and
a general crash when using gallery objects.  The fix is to check for object
existence or if the object has the destructor bit set before using the
objects.

Here is the callstack for the assert that was removed:

>   swlo.dll!SwClient::GetRegisteredIn() Line 166   C++
swlo.dll!SwContact::GetFormat() Line 112C++
swlo.dll!SwAnchoredDrawObject::GetFrameFormat() Line 622C++
swlo.dll!SwAnchoredObject::FindAnchorCharFrame() Line 719   C++
swlo.dll!SwAnchoredObject::GetAnchorFrameContainingAnchPos() Line 
132   C++
swlo.dll!SwAnchoredObject::FindPageFrameOfAnchor() Line 697 C++
swlo.dll!SwObjectFormatterLayFrame::AdditionalFormatObjsOnPage() 
Line 144   C++
swlo.dll!SwObjectFormatterLayFrame::DoFormatObjs() Line 94  C++
swlo.dll!SwObjectFormatter::FormatObjsAtFrame(SwFrame & 
_rAnchorFrame, const SwPageFrame & _rPageFrame, SwLayAction * _pLayAction) Line 
160 C++
swlo.dll!SwLayAction::InternalAction(OutputDevice * pRenderContext) 
Line 565C++
swlo.dll!SwLayAction::Action(OutputDevice * pRenderContext) Line 
390C++
swlo.dll!SwViewShell::ImplEndAction(const bool bIdleEnd) Line 308   
C++
swlo.dll!SwViewShell::EndAction(const bool bIdleEnd) Line 628   C++
swlo.dll!SwCursorShell::EndAction(const bool bIdleEnd) Line 266 C++
swlo.dll!SwEditShell::EndAllAction() Line 102   C++
swlo.dll!SwWrtShell::Do(SwWrtShell::DoType eDoType, unsigned short 
nCnt, unsigned short nOffset) Line 60C++
swlo.dll!SwBaseShell::ExecUndo(SfxRequest & rReq) Line 655  C++

Change-Id: I90bd40f3ae864ec9655340c342ddc16b59d79aba
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/162349
Tested-by: Jenkins
Reviewed-by: Mike Kaganski 
(cherry picked from commit 6840c242684986483624557a405a00e91ea048e9)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/162371
Reviewed-by: Matt K 
Reviewed-by: Xisco Fauli 

diff --git a/sw/source/core/layout/anchoreddrawobject.cxx 
b/sw/source/core/layout/anchoreddrawobject.cxx
index 77a19aa8295a..5a9e1245afd8 100644
--- a/sw/source/core/layout/anchoreddrawobject.cxx
+++ b/sw/source/core/layout/anchoreddrawobject.cxx
@@ -619,13 +619,15 @@ void SwAnchoredDrawObject::InvalidateObjPos()
 
 SwFrameFormat* SwAnchoredDrawObject::GetFrameFormat()
 {
-
assert(static_cast(GetUserCall(GetDrawObj()))->GetFormat());
-return static_cast(GetUserCall(GetDrawObj()))->GetFormat();
+if (SwDrawContact* pDC = 
static_cast(GetUserCall(GetDrawObj(
+return pDC->GetFormat();
+return nullptr;
 }
 const SwFrameFormat* SwAnchoredDrawObject::GetFrameFormat() const
 {
-
assert(static_cast(GetUserCall(GetDrawObj()))->GetFormat());
-return static_cast(GetUserCall(GetDrawObj()))->GetFormat();
+if (SwDrawContact* pDC = 
static_cast(GetUserCall(GetDrawObj(
+return pDC->GetFormat();
+return nullptr;
 }
 
 SwRect SwAnchoredDrawObject::GetObjRect() const
diff --git a/sw/source/core/layout/fly.cxx b/sw/source/core/layout/fly.cxx
index 8b3b316ec469..503dfedb35fa 100644
--- a/sw/source/core/layout/fly.cxx
+++ b/sw/source/core/layout/fly.cxx
@@ -2596,12 +2596,15 @@ void SwFrame::RemoveDrawObj( SwAnchoredObject& 
_rToRemoveObj )
 {
 // Notify accessible layout.
 #if !ENABLE_WASM_STRIP_ACCESSIBILITY
-SwViewShell* pSh = getRootFrame()->GetCurrShell();
-if( pSh )
+if (!mbInDtor)
 {
-SwRootFrame* pLayout = getRootFrame();
-if (pLayout && pLayout->IsAnyShellAccessible())
-pSh->Imp()->DisposeAccessibleObj(_rToRemoveObj.GetDrawObj(), 
false);
+SwViewShell* pSh = getRootFrame()->GetCurrShell();
+if (pSh)
+{
+SwRootFrame* pLayout = getRootFrame();
+if (pLayout && pLayout->IsAnyShellAccessible())
+pSh->Imp()->DisposeAccessibleObj(_rToRemoveObj.GetDrawObj(), 
false);
+}
 }
 #endif
 


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

2024-01-22 Thread Mike Kaganski (via logerrit)
 sw/source/uibase/docvw/edtwin.cxx |   35 ---
 sw/source/uibase/inc/edtwin.hxx   |3 ++-
 2 files changed, 26 insertions(+), 12 deletions(-)

New commits:
commit b2fe91897ac4f55bac93aa9f499ed8f29baecd7d
Author: Mike Kaganski 
AuthorDate: Mon Jan 22 02:03:13 2024 +0600
Commit: Xisco Fauli 
CommitDate: Mon Jan 22 21:36:18 2024 +0100

tdf#158139: show autotext / word completion tooltips also for delayed flush

The problem was that commit 843af72bcc9047867588e29c8e10b84a5e58d70e (make
win32 variant AnyInput() not deliver events (tdf#140293), 2021-02-11) made
AnyInput ~always return true, when called in SwEditWin::KeyInput. Calling
AnyInput(KEYBOARD) there is to query if there are more pending characters.
But in its new form on Windows, it tells if there are any keyboard-related
window events in the queue, where e.g. WM_KEYUP counts, which is for the
same keypress (WM_KEYDOWN) that is being handled right now - even though
those messages will not produce new characters.

When AnyInput() returns true, a delayed flush timer starts. Only immediate
flush was accompanied by tooltips.

To make sure that the tooltip is shown also for delayed flush, move the
tooltip code into SwEditWin::FlushInBuffer. Store the 'bNormalChar' flag
(which controlled if the tooltip was shown) in a new member in SwEditWin.

Change-Id: I51686b25f8d86df48ae9574ab8f3eb1d0e6ca985
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/162350
Tested-by: Jenkins
Reviewed-by: Mike Kaganski 
(cherry picked from commit d49b0c3654e50ff9b74545140e6f19e008009c33)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/162372
Reviewed-by: Xisco Fauli 

diff --git a/sw/source/uibase/docvw/edtwin.cxx 
b/sw/source/uibase/docvw/edtwin.cxx
index d2c3f0e865d7..073b6b59649e 100644
--- a/sw/source/uibase/docvw/edtwin.cxx
+++ b/sw/source/uibase/docvw/edtwin.cxx
@@ -896,6 +896,25 @@ void SwEditWin::FlushInBuffer()
 return;
 
 SwWrtShell& rSh = m_rView.GetWrtShell();
+uno::Reference xRecorder
+= m_rView.GetViewFrame().GetBindings().GetRecorder();
+
+comphelper::ScopeGuard showTooltipGuard(
+[this, &rSh]
+{
+SvxAutoCorrCfg& rACfg = SvxAutoCorrCfg::Get();
+const bool bAutoTextShown
+= rACfg.IsAutoTextTip() && 
ShowAutoText(rSh.GetChunkForAutoText());
+if (!bAutoTextShown)
+{
+SvxAutoCorrect* pACorr = rACfg.GetAutoCorrect();
+if (pACorr && pACorr->GetSwFlags().bAutoCompleteWords)
+ShowAutoCorrectQuickHelp(rSh.GetPrevAutoCorrWord(*pACorr), 
*pACorr);
+}
+});
+if (!m_bMaybeShowTooltipAfterBufferFlush || xRecorder)
+showTooltipGuard.dismiss();
+m_bMaybeShowTooltipAfterBufferFlush = false;
 
 // generate new sequence input checker if not already done
 if ( !pCheckIt )
@@ -993,8 +1012,6 @@ void SwEditWin::FlushInBuffer()
 }
 }
 
-uno::Reference< frame::XDispatchRecorder > xRecorder =
-m_rView.GetViewFrame().GetBindings().GetRecorder();
 if ( xRecorder.is() )
 {
 // determine shell
@@ -1381,6 +1398,9 @@ void SwEditWin::KeyInput(const KeyEvent &rKEvt)
 }
 }
 
+// Do not show autotext / word completion tooltips in intermediate flushes
+m_bMaybeShowTooltipAfterBufferFlush = false;
+
 sal_uInt16 nKey = rKEvt.GetKeyCode().GetCode();
 
 if (nKey == KEY_ESCAPE)
@@ -2821,19 +2841,12 @@ KEYINPUT_CHECKTABLE_INSDEL:
 if( KEY_UP == nKey || KEY_DOWN == nKey || KEY_PAGEUP == nKey || 
KEY_PAGEDOWN == nKey )
 GetView().GetViewFrame().GetBindings().Update( FN_STAT_PAGE );
 
+m_bMaybeShowTooltipAfterBufferFlush = bNormalChar;
+
 // in case the buffered characters are inserted
 if( bFlushBuffer && !m_aInBuffer.isEmpty() )
 {
 FlushInBuffer();
-
-// maybe show Tip-Help
-if (bNormalChar)
-{
-const bool bAutoTextShown
-= pACfg && pACfg->IsAutoTextTip() && 
ShowAutoText(rSh.GetChunkForAutoText());
-if (!bAutoTextShown && pACorr && 
pACorr->GetSwFlags().bAutoCompleteWords)
-ShowAutoCorrectQuickHelp(rSh.GetPrevAutoCorrWord(*pACorr), 
*pACorr);
-}
 }
 
 // get the word count dialog to update itself
diff --git a/sw/source/uibase/inc/edtwin.hxx b/sw/source/uibase/inc/edtwin.hxx
index 714e6bcc3be0..ceaa98657fe9 100644
--- a/sw/source/uibase/inc/edtwin.hxx
+++ b/sw/source/uibase/inc/edtwin.hxx
@@ -122,7 +122,8 @@ class SW_DLLPUBLIC SwEditWin final : public vcl::DocWindow,
 selection position depending on what has changed lately
  */
 m_bUseInputLanguage: 1,
-m_bObjectSelect   : 1;
+m_bObjectSelect   : 1,
+m_bMaybeShowTooltipAfterBufferFlush : 1 =

core.git: 2 commits - include/svl sc/inc sc/qa sc/source

2024-01-22 Thread Caolán McNamara (via logerrit)
 include/svl/itemset.hxx   |1 
 sc/inc/hints.hxx  |4 
 sc/qa/unit/tiledrendering/data/cell-invalidations.ods |binary
 sc/qa/unit/tiledrendering/tiledrendering.cxx  |  128 --
 sc/source/core/tool/hints.cxx |5 
 sc/source/ui/docshell/docfunc.cxx |   27 +++
 sc/source/ui/docshell/docsh3.cxx  |   41 -
 sc/source/ui/inc/docsh.hxx|   11 -
 sc/source/ui/inc/tabview.hxx  |3 
 sc/source/ui/view/tabview3.cxx|   34 +++-
 sc/source/ui/view/tabvwsh5.cxx|7 
 sc/source/ui/view/viewfun3.cxx|   18 ++
 12 files changed, 234 insertions(+), 45 deletions(-)

New commits:
commit 6d71c21890c908225945f0fc3566255ed150f660
Author: Caolán McNamara 
AuthorDate: Mon Jan 15 10:46:42 2024 +
Commit: Caolán McNamara 
CommitDate: Mon Jan 22 20:47:16 2024 +0100

don't always invalidate the entire width of the calc window

If know the max width affected we can avoid redrawing much of
the row

LTR cell edits, deletes, single line paste

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

diff --git a/sc/inc/hints.hxx b/sc/inc/hints.hxx
index d890072c1f81..00d6d80e0fa3 100644
--- a/sc/inc/hints.hxx
+++ b/sc/inc/hints.hxx
@@ -28,10 +28,11 @@ class SC_DLLPUBLIC ScPaintHint final : public SfxHint
 {
 ScRange aRange;
 PaintPartFlags  nParts;
+tools::Long nWidthAffectedHint;
 
 public:
 ScPaintHint() = delete;
-ScPaintHint( const ScRange& rRng, PaintPartFlags nPaint );
+ScPaintHint( const ScRange& rRng, PaintPartFlags nPaint, 
tools::Long nMaxWidthAffectedHint = -1);
 virtual ~ScPaintHint() override;
 
 SCCOL   GetStartCol() const { return aRange.aStart.Col(); }
@@ -41,6 +42,7 @@ public:
 SCROW   GetEndRow() const   { return aRange.aEnd.Row(); }
 SCTAB   GetEndTab() const   { return aRange.aEnd.Tab(); }
 PaintPartFlags  GetParts() const{ return nParts; }
+tools::Long GetMaxWidthAffectedHint() const { return 
nWidthAffectedHint; }
 };
 
 class ScUpdateRefHint final : public SfxHint
diff --git a/sc/qa/unit/tiledrendering/data/cell-invalidations.ods 
b/sc/qa/unit/tiledrendering/data/cell-invalidations.ods
new file mode 100644
index ..0f117775a467
Binary files /dev/null and 
b/sc/qa/unit/tiledrendering/data/cell-invalidations.ods differ
diff --git a/sc/qa/unit/tiledrendering/tiledrendering.cxx 
b/sc/qa/unit/tiledrendering/tiledrendering.cxx
index db2af2fca1f8..eeaabd962b5f 100644
--- a/sc/qa/unit/tiledrendering/tiledrendering.cxx
+++ b/sc/qa/unit/tiledrendering/tiledrendering.cxx
@@ -92,6 +92,10 @@ inline std::string toString(const ColRowZoom& item)
 }
 CPPUNIT_NS_END
 
+namespace {
+class ViewCallback;
+}
+
 class ScTiledRenderingTest : public UnoApiXmlTest
 {
 public:
@@ -99,6 +103,11 @@ public:
 virtual void setUp() override;
 virtual void tearDown() override;
 
+void checkSampleInvalidation(const ViewCallback& rView, bool bFullRow);
+void cellInvalidationHelper(ScModelObj* pModelObj, ScTabViewShell* pView,
+const ScAddress& rAdr, bool bAddText,
+bool bFullRow);
+
 ScModelObj* createDoc(const char* pName);
 void setupLibreOfficeKitViewCallback(SfxViewShell* pViewShell);
 static void callback(int nType, const char* pPayload, void* pData);
@@ -3354,6 +3363,112 @@ CPPUNIT_TEST_FIXTURE(ScTiledRenderingTest, 
testNoInvalidateOnSave)
 CPPUNIT_ASSERT(!aView.m_bInvalidateTiles);
 }
 
+void ScTiledRenderingTest::checkSampleInvalidation(const ViewCallback& rView, 
bool bFullRow)
+{
+// we expect invalidations, but that isn't really important
+CPPUNIT_ASSERT(rView.m_bInvalidateTiles);
+tools::Rectangle aInvalidation;
+for (const auto& rRect : rView.m_aInvalidations)
+aInvalidation.Union(rRect);
+if (!bFullRow)
+{
+// What matters is that we expect that the invalidation does not 
extend all the
+// way to the max right of the sheet.
+// Here we originally got 32212306 and now ~5056 for a single cell case
+CPPUNIT_ASSERT_LESSEQUAL(tools::Long(8000), aInvalidation.GetWidth());
+}
+else
+{
+// We expect RTL to continue to invalidate the entire row
+// from 0 to end of sheet (see ScDocShell::PostPaint, 'Extend to whole 
rows'),
+// which is different to the adjusted LTR case which
+// invalidated the row from left of edited cell to right of end
+// of sheet.
+CPPUNIT_ASSERT_LESSEQUAL(tools::Long(0), aInvalidation.L

core.git: officecfg/registry

2024-01-22 Thread Julien Nabet (via logerrit)
 officecfg/registry/data/org/openoffice/Office/Accelerators.xcu |1 -
 1 file changed, 1 deletion(-)

New commits:
commit 20f122eb7b0d301d4e937c346f4c3c824690882d
Author: Julien Nabet 
AuthorDate: Mon Jan 22 18:50:31 2024 +0100
Commit: Patrick Luby 
CommitDate: Mon Jan 22 20:43:33 2024 +0100

tdf#159326: Command-F assigned to both Find and Find and Replace in Calc

Regression from e651d9e657f9b61fb45777d6e7edeb5cb95f8d27
German shortcut improvements for Calc
(2023-09-27)

Change-Id: I4440663025e3eb85c8c73a624769ceec527daa1c
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/162413
Tested-by: Jenkins
Reviewed-by: Patrick Luby 

diff --git a/officecfg/registry/data/org/openoffice/Office/Accelerators.xcu 
b/officecfg/registry/data/org/openoffice/Office/Accelerators.xcu
index 00e6b566f345..2265ec7c436a 100644
--- a/officecfg/registry/data/org/openoffice/Office/Accelerators.xcu
+++ b/officecfg/registry/data/org/openoffice/Office/Accelerators.xcu
@@ -1059,7 +1059,6 @@ Ctrl+Shift+e aka E_SHIFT_MOD1 under GTK/IBUS is for some 
emoji thing
 
   
 L10N SHORTCUTS - NO 
TRANSLATE
-.uno:SearchDialog
 .uno:Navigator
   
 


core.git: helpcontent2

2024-01-22 Thread Olivier Hallot (via logerrit)
 helpcontent2 |2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

New commits:
commit 587d9c6bdae11ef9b962679e6c81d3301dd20ab7
Author: Olivier Hallot 
AuthorDate: Mon Jan 22 16:20:44 2024 -0300
Commit: Gerrit Code Review 
CommitDate: Mon Jan 22 20:20:44 2024 +0100

Update git submodules

* Update helpcontent2 from branch 'master'
  to 5c4fdb89c9810bd961717a09a4c4cf177fa5b3d5
  - tdf#159111 add .uno:PickList to Help

+ File menu command is now .uno:PickList and not .uno:FileMenu anymore
+ .uno:PickList is common to all modules
+ Refactor file menu into one Help page, with module switch
+ Adjust tree
+ remove old file menus help page main0101.xhp

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

diff --git a/helpcontent2 b/helpcontent2
index ad8d101fec68..5c4fdb89c981 16
--- a/helpcontent2
+++ b/helpcontent2
@@ -1 +1 @@
-Subproject commit ad8d101fec68853cab824616f990a2cb0293
+Subproject commit 5c4fdb89c9810bd961717a09a4c4cf177fa5b3d5


help.git: AllLangHelp_scalc.mk AllLangHelp_sdraw.mk AllLangHelp_shared.mk AllLangHelp_simpress.mk AllLangHelp_smath.mk AllLangHelp_swriter.mk source/auxiliary source/text

2024-01-22 Thread Olivier Hallot (via logerrit)
 AllLangHelp_scalc.mk  |1 
 AllLangHelp_sdraw.mk  |1 
 AllLangHelp_shared.mk |1 
 AllLangHelp_simpress.mk   |1 
 AllLangHelp_smath.mk  |1 
 AllLangHelp_swriter.mk|1 
 source/auxiliary/scalc.tree   |2 
 source/auxiliary/sdraw.tree   |2 
 source/auxiliary/simpress.tree|2 
 source/auxiliary/swriter.tree |2 
 source/text/sbasic/shared/02/1114.xhp |   23 ++-
 source/text/sbasic/shared/02/1115.xhp |   22 ++
 source/text/sbasic/shared/02/1118.xhp |   77 +++-
 source/text/sbasic/shared/02/1119.xhp |   53 +++-
 source/text/scalc/main.xhp|8 +-
 source/text/scalc/main0100.xhp|6 -
 source/text/scalc/main0101.xhp|   61 ---
 source/text/sdraw/main.xhp|   12 +--
 source/text/sdraw/main0100.xhp|   15 +---
 source/text/sdraw/main0101.xhp|   55 -
 source/text/shared/menu/PickList.xhp  |   95 ++
 source/text/simpress/main.xhp |2 
 source/text/simpress/main0100.xhp |2 
 source/text/simpress/main0101.xhp |   59 --
 source/text/smath/main0100.xhp|   21 +-
 source/text/smath/main0101.xhp|   51 
 source/text/swriter/main.xhp  |9 --
 source/text/swriter/main0100.xhp  |   13 +---
 source/text/swriter/main0101.xhp  |   59 --
 29 files changed, 211 insertions(+), 446 deletions(-)

New commits:
commit 5c4fdb89c9810bd961717a09a4c4cf177fa5b3d5
Author: Olivier Hallot 
AuthorDate: Mon Jan 22 16:19:08 2024 -0300
Commit: Olivier Hallot 
CommitDate: Mon Jan 22 20:20:44 2024 +0100

tdf#159111 add .uno:PickList to Help

+ File menu command is now .uno:PickList and not .uno:FileMenu anymore
+ .uno:PickList is common to all modules
+ Refactor file menu into one Help page, with module switch
+ Adjust tree
+ remove old file menus help page main0101.xhp

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

diff --git a/AllLangHelp_scalc.mk b/AllLangHelp_scalc.mk
index 1b7d10db70..a8d529f631 100644
--- a/AllLangHelp_scalc.mk
+++ b/AllLangHelp_scalc.mk
@@ -457,7 +457,6 @@ $(eval $(call gb_AllLangHelp_add_helpfiles,scalc,\
 helpcontent2/source/text/scalc/menu/sheet_tab_menu \
 helpcontent2/source/text/scalc/main \
 helpcontent2/source/text/scalc/main0100 \
-helpcontent2/source/text/scalc/main0101 \
 helpcontent2/source/text/scalc/main0102 \
 helpcontent2/source/text/scalc/main0103 \
 helpcontent2/source/text/scalc/main0104 \
diff --git a/AllLangHelp_sdraw.mk b/AllLangHelp_sdraw.mk
index f55d004ebc..e3ff878009 100644
--- a/AllLangHelp_sdraw.mk
+++ b/AllLangHelp_sdraw.mk
@@ -52,7 +52,6 @@ $(eval $(call gb_AllLangHelp_add_helpfiles,sdraw,\
 helpcontent2/source/text/sdraw/guide/text_enter \
 helpcontent2/source/text/sdraw/main \
 helpcontent2/source/text/sdraw/main0100 \
-helpcontent2/source/text/sdraw/main0101 \
 helpcontent2/source/text/sdraw/main_edit \
 helpcontent2/source/text/sdraw/main0103 \
 helpcontent2/source/text/sdraw/main_insert \
diff --git a/AllLangHelp_shared.mk b/AllLangHelp_shared.mk
index 770d602990..897d613e67 100644
--- a/AllLangHelp_shared.mk
+++ b/AllLangHelp_shared.mk
@@ -844,6 +844,7 @@ $(eval $(call gb_AllLangHelp_add_helpfiles,shared,\
 helpcontent2/source/text/shared/menu/comment_menu \
 helpcontent2/source/text/shared/menu/insert_form_control \
 helpcontent2/source/text/shared/menu/insert_shape \
+helpcontent2/source/text/shared/menu/PickList \
 helpcontent2/source/text/shared/menu/save_image \
 helpcontent2/source/text/shared/menu/set_image_background \
 helpcontent2/source/text/shared/menu/submenu_image \
diff --git a/AllLangHelp_simpress.mk b/AllLangHelp_simpress.mk
index 1c36366eae..2d0ac32af0 100644
--- a/AllLangHelp_simpress.mk
+++ b/AllLangHelp_simpress.mk
@@ -190,7 +190,6 @@ $(eval $(call gb_AllLangHelp_add_helpfiles,simpress,\
 helpcontent2/source/text/simpress/guide/vectorize \
 helpcontent2/source/text/simpress/main \
 helpcontent2/source/text/simpress/main0100 \
-helpcontent2/source/text/simpress/main0101 \
 helpcontent2/source/text/simpress/main_edit \
 helpcontent2/source/text/simpress/main0103 \
 helpcontent2/source/text/simpress/main0104 \
diff --git a/AllLangHelp_smath.mk b/AllLangHelp_smath.mk
index 1e8d6eee13..32b6c606a2 100644
--- a/AllLangHelp_smath.mk
+++ b/AllLangHelp_smath.mk
@@ -87,7 +87,6 @@ $(eval $(call gb_AllLangHelp_add_helpfiles,smath,\
 helpcontent2/source/text/s

core.git: helpcontent2

2024-01-22 Thread Olivier Hallot (via logerrit)
 helpcontent2 |2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

New commits:
commit e1e6e8cea3512782df9eccbf6e1c59cb41b83224
Author: Olivier Hallot 
AuthorDate: Mon Jan 22 16:20:20 2024 -0300
Commit: Gerrit Code Review 
CommitDate: Mon Jan 22 20:20:20 2024 +0100

Update git submodules

* Update helpcontent2 from branch 'master'
  to ad8d101fec68853cab824616f990a2cb0293
  - tdf#155875 UI cmds Format Text (cont)

+ Small Capitals
+ Patch in advance of fixing bugs tdf#149409 and tdf#157358
+ refactoring

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

diff --git a/helpcontent2 b/helpcontent2
index 724ae7f9e32f..ad8d101fec68 16
--- a/helpcontent2
+++ b/helpcontent2
@@ -1 +1 @@
-Subproject commit 724ae7f9e32fcd76b317d64657f26f35e75cb0a8
+Subproject commit ad8d101fec68853cab824616f990a2cb0293


help.git: AllLangHelp_shared.mk source/text

2024-01-22 Thread Olivier Hallot (via logerrit)
 AllLangHelp_shared.mk|1 
 source/text/shared/00/00040502.xhp   |   17 +
 source/text/shared/01/SmallCaps.xhp  |   29 ++
 source/text/shared/menu/submenu_text.xhp |   40 ++-
 4 files changed, 56 insertions(+), 31 deletions(-)

New commits:
commit ad8d101fec68853cab824616f990a2cb0293
Author: Olivier Hallot 
AuthorDate: Mon Jan 22 09:47:12 2024 -0300
Commit: Olivier Hallot 
CommitDate: Mon Jan 22 20:20:19 2024 +0100

tdf#155875 UI cmds Format Text (cont)

+ Small Capitals
+ Patch in advance of fixing bugs tdf#149409 and tdf#157358
+ refactoring

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

diff --git a/AllLangHelp_shared.mk b/AllLangHelp_shared.mk
index 3f45ab5266..770d602990 100644
--- a/AllLangHelp_shared.mk
+++ b/AllLangHelp_shared.mk
@@ -419,6 +419,7 @@ $(eval $(call gb_AllLangHelp_add_helpfiles,shared,\
 helpcontent2/source/text/shared/01/search_commands \
 helpcontent2/source/text/shared/01/Shrink \
 helpcontent2/source/text/shared/01/SignaturesMenu \
+helpcontent2/source/text/shared/01/SmallCaps \
 helpcontent2/source/text/shared/01/SpellOnline \
 helpcontent2/source/text/shared/01/select_template_category \
 helpcontent2/source/text/shared/01/signexistingpdf \
diff --git a/source/text/shared/00/00040502.xhp 
b/source/text/shared/00/00040502.xhp
index d3f33fc152..f1c76facc2 100644
--- a/source/text/shared/00/00040502.xhp
+++ b/source/text/shared/00/00040502.xhp
@@ -746,6 +746,23 @@
 
 
 
+
+
+Choose 
Format - Text - Small Capitals.
+
+
+
+
+Icon Small 
Capitals
+
+
+Small Capitals
+
+
+
+
+CommandCtrl
 + Shift + K
+
 
 Choose Format 
- Spacing.
 
diff --git a/source/text/shared/01/SmallCaps.xhp 
b/source/text/shared/01/SmallCaps.xhp
new file mode 100644
index 00..06726e1447
--- /dev/null
+++ b/source/text/shared/01/SmallCaps.xhp
@@ -0,0 +1,29 @@
+
+
+
+
+
+
+Small Capitals
+/text/shared/01/SmallCaps.xhp
+
+
+
+
+
+Small Capitals
+Changes the 
selected lowercase characters to uppercase characters, and then reduces their 
size.
+
+
+
+
+If the cursor is not in 
a word, the new text that you enter is written in small capitals.
+
+
diff --git a/source/text/shared/menu/submenu_text.xhp 
b/source/text/shared/menu/submenu_text.xhp
index 01ef2be982..92745bbb89 100644
--- a/source/text/shared/menu/submenu_text.xhp
+++ b/source/text/shared/menu/submenu_text.xhp
@@ -24,14 +24,10 @@
 
 
 
+
 
-
-
-Text
-
-
-Opens a submenu where you can choose text formatting 
commands.
-
+Text
+Opens a submenu where you can choose text formatting 
commands.
 
 
 
@@ -70,30 +66,12 @@
 
 
 
-
-
-Small 
capitals
-
-
-
-
-
-
-
-Small 
capitals
-
-
-
-
-
-
-
-Small 
capitals
-
-
-
-
-
+
+
+
+
+
+
 
 
 


core.git: include/svx sc/qa sw/qa

2024-01-22 Thread Andreas Heinisch (via logerrit)
 include/svx/flagsdef.hxx|5 +--
 sc/qa/uitest/csv_dialog/tdf88359.py |2 -
 sw/qa/uitest/writer_tests5/DateFormFieldPropertiesDialog.py |   20 ++--
 3 files changed, 14 insertions(+), 13 deletions(-)

New commits:
commit 58cfe9ccff7b6aa8ada18234ee73809700c39e02
Author: Andreas Heinisch 
AuthorDate: Fri Jan 19 13:02:37 2024 +0100
Commit: Andreas Heinisch 
CommitDate: Mon Jan 22 20:13:59 2024 +0100

tdf#38231 - Change default example date value to 1999-12-01

Change default example date value from 1999-12-31 to 1999-12-01. Otherwise, 
certain date formats cannot be distiguished in the preview window, e.g., D MM 
(1 Dec / 01 Dec 99 vs. 31 Dec / 31 Dec).

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

diff --git a/include/svx/flagsdef.hxx b/include/svx/flagsdef.hxx
index 3fbb70ca6b5e..e5b292ae 100644
--- a/include/svx/flagsdef.hxx
+++ b/include/svx/flagsdef.hxx
@@ -84,8 +84,9 @@ const o3tl::enumarray 
fSvxNumValConst = {
 -1234.56789012345678,   // SvxNumValCategory::Standard
 -0.1295,// SvxNumValCategory::Percent
 -1234.0,// SvxNumValCategory::Currency
-36525.5678935185,   // SvxNumValCategory::Date
-36525.5678935185,   // SvxNumValCategory::Time
+// tdf#38231 - change default example date value to 1999-12-01
+36495.5678935185,   // SvxNumValCategory::Date
+36495.5678935185,   // SvxNumValCategory::Time
 12345.67889,// SvxNumValCategory::Scientific
 123.456,// SvxNumValCategory::Fraction
 1.0,// SvxNumValCategory::Boolean
diff --git a/sc/qa/uitest/csv_dialog/tdf88359.py 
b/sc/qa/uitest/csv_dialog/tdf88359.py
index 19fa8b91928e..075e891d1e15 100644
--- a/sc/qa/uitest/csv_dialog/tdf88359.py
+++ b/sc/qa/uitest/csv_dialog/tdf88359.py
@@ -34,7 +34,7 @@ class Tdf88359(UITestCase):
 # Without the fix in place, this test would have failed with
 # AssertionError: 'Date' != 'Text'
 self.assertEqual("Date", 
get_state_as_dict(xliststore1)["SelectEntryText"])
-self.assertEqual("1999-12-31T13:37:46", 
get_state_as_dict(xliststore2)["SelectEntryText"])
+self.assertEqual("1999-12-01T13:37:46", 
get_state_as_dict(xliststore2)["SelectEntryText"])
 self.assertEqual("-MM-DD\"T\"HH:MM:SS", 
get_state_as_dict(xformatted)["Text"])
 
 # vim: set shiftwidth=4 softtabstop=4 expandtab:
diff --git a/sw/qa/uitest/writer_tests5/DateFormFieldPropertiesDialog.py 
b/sw/qa/uitest/writer_tests5/DateFormFieldPropertiesDialog.py
index 0c556b6c2b65..0f8e9f1d305e 100644
--- a/sw/qa/uitest/writer_tests5/DateFormFieldPropertiesDialog.py
+++ b/sw/qa/uitest/writer_tests5/DateFormFieldPropertiesDialog.py
@@ -24,17 +24,17 @@ class dateFormFieldDialog(UITestCase):
 
 # check whether we have the right format selected
 self.assertEqual(get_state_as_dict(itemsList)["Children"], 
"20")
-
self.assertEqual(get_state_as_dict(itemsList)["SelectEntryText"], "12/31/99")
+
self.assertEqual(get_state_as_dict(itemsList)["SelectEntryText"], "12/01/99")
 
 # select a new format
 itemsList.getChild("11").executeAction("SELECT", tuple());
-
self.assertEqual(get_state_as_dict(itemsList)["SelectEntryText"], "12-31")
+
self.assertEqual(get_state_as_dict(itemsList)["SelectEntryText"], "12-01")
 
 
 # open the dialog again
 with 
self.ui_test.execute_dialog_through_command(".uno:ControlProperties") as 
xDialog:
 itemsList = xDialog.getChild("date_formats_treeview")
-
self.assertEqual(get_state_as_dict(itemsList)["SelectEntryText"], "12-31")
+
self.assertEqual(get_state_as_dict(itemsList)["SelectEntryText"], "12-01")
 
 
 def test_date_field_with_custom_format(self):
@@ -55,7 +55,7 @@ class dateFormFieldDialog(UITestCase):
 # SelectEntryText doesn't match the sample string, so all this
 # is rather fragile depending on actual locale data.
 self.assertEqual(get_state_as_dict(itemsList)["Children"], 
"21")
-
self.assertEqual(get_state_as_dict(itemsList)["SelectEntryText"], "1999. 
december 31., péntek[System]")
+
self.assertEqual(get_state_as_dict(itemsList)["SelectEntryText"], "1999. 
december 1., szerda[System]")
 
 
 def test_date_reformat(self):
@@ -70,11 +70,11 @@ class dateFormFieldDialog(UITestCase):
 
 # check whether we have the right format selected
 self.assertEqual(get_state_as_dict(itemsList)["Children"], 
"20")
-
self.assertEqual(get_state_as_dict(itemsList)["SelectEntryText"], "12/31/99")
+

core.git: 2 commits - chart2/source cui/source sc/source sd/source sw/source

2024-01-22 Thread Noel Grandin (via logerrit)
 chart2/source/controller/main/ShapeController.cxx |   43 +---
 cui/source/factory/dlgfact.cxx|4 
 cui/source/factory/dlgfact.hxx|4 
 sc/source/ui/drawfunc/drawsh5.cxx |  112 --
 sd/source/ui/view/drviews2.cxx|   56 ++-
 sw/source/core/access/AccessibilityIssue.cxx  |   59 +++
 sw/source/uibase/shells/drwbassh.cxx  |   55 ++
 sw/source/uibase/shells/frmsh.cxx |   34 --
 8 files changed, 217 insertions(+), 150 deletions(-)

New commits:
commit 0edec422600cce2b042d5414443ad25ab515f351
Author: Noel Grandin 
AuthorDate: Mon Jan 22 14:39:00 2024 +0200
Commit: Noel Grandin 
CommitDate: Mon Jan 22 19:48:44 2024 +0100

make object name dialog async

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

diff --git a/chart2/source/controller/main/ShapeController.cxx 
b/chart2/source/controller/main/ShapeController.cxx
index 68483225b3bc..fe09d3e9af61 100644
--- a/chart2/source/controller/main/ShapeController.cxx
+++ b/chart2/source/controller/main/ShapeController.cxx
@@ -433,20 +433,25 @@ void ShapeController::executeDispatch_RenameObject()
 if ( !pSelectedObj )
 return;
 
-OUString aName = pSelectedObj->GetName();
 SvxAbstractDialogFactory* pFact = SvxAbstractDialogFactory::Create();
 weld::Window* pChartWindow(m_pChartController->GetChartFrame());
-ScopedVclPtr< AbstractSvxObjectNameDialog > pDlg(
-pFact->CreateSvxObjectNameDialog(pChartWindow, aName));
+VclPtr< AbstractSvxObjectNameDialog > pDlg(
+pFact->CreateSvxObjectNameDialog(pChartWindow, 
pSelectedObj->GetName()));
 pDlg->SetCheckNameHdl( LINK( this, ShapeController, CheckNameHdl ) );
-if ( pDlg->Execute() == RET_OK )
-{
-aName = pDlg->GetName();
-if (pSelectedObj->GetName() != aName)
+pDlg->StartExecuteAsync(
+[pDlg, pSelectedObj] (sal_Int32 nResult)->void
 {
-pSelectedObj->SetName( aName );
+if (nResult == RET_OK)
+{
+OUString aName = pDlg->GetName();
+if (pSelectedObj->GetName() != aName)
+{
+pSelectedObj->SetName( aName );
+}
+}
+pDlg->disposeOnce();
 }
-}
+);
 }
 
 void ShapeController::executeDispatch_ChangeZOrder( ChartCommandID nId )
diff --git a/cui/source/factory/dlgfact.cxx b/cui/source/factory/dlgfact.cxx
index 88da040aab34..dc61688e175e 100644
--- a/cui/source/factory/dlgfact.cxx
+++ b/cui/source/factory/dlgfact.cxx
@@ -121,7 +121,7 @@ IMPL_ABSTDLG_CLASS(AbstractSvxJSearchOptionsDialog)
 IMPL_ABSTDLG_CLASS(AbstractSvxMultiPathDialog)
 IMPL_ABSTDLG_CLASS(AbstractSvxNameDialog)
 IMPL_ABSTDLG_CLASS(AbstractSvxNewDictionaryDialog)
-IMPL_ABSTDLG_CLASS(AbstractSvxObjectNameDialog)
+IMPL_ABSTDLG_CLASS_ASYNC(AbstractSvxObjectNameDialog, SvxObjectNameDialog)
 IMPL_ABSTDLG_CLASS_ASYNC(AbstractSvxObjectTitleDescDialog, 
SvxObjectTitleDescDialog)
 IMPL_ABSTDLG_CLASS(AbstractSvxPathSelectDialog)
 IMPL_ABSTDLG_CLASS(AbstractSvxPostItDialog)
diff --git a/cui/source/factory/dlgfact.hxx b/cui/source/factory/dlgfact.hxx
index c0cf846fb3f9..cb671b40bdf3 100644
--- a/cui/source/factory/dlgfact.hxx
+++ b/cui/source/factory/dlgfact.hxx
@@ -284,7 +284,7 @@ class SvxObjectNameDialog;
 class SvxObjectTitleDescDialog;
 
 // AbstractSvxObjectNameDialog_Impl
-DECL_ABSTDLG_CLASS(AbstractSvxObjectNameDialog,SvxObjectNameDialog)
+DECL_ABSTDLG_CLASS_ASYNC(AbstractSvxObjectNameDialog,SvxObjectNameDialog)
 virtual OUString GetName() override;
 virtual void SetCheckNameHdl(const 
Link& rLink) override;
 
diff --git a/sc/source/ui/drawfunc/drawsh5.cxx 
b/sc/source/ui/drawfunc/drawsh5.cxx
index 2c0a1cf1f66d..896e7e42c783 100644
--- a/sc/source/ui/drawfunc/drawsh5.cxx
+++ b/sc/source/ui/drawfunc/drawsh5.cxx
@@ -509,58 +509,64 @@ void ScDrawShell::ExecDrawFunc( SfxRequest& rReq )
 
 if(SC_LAYER_INTERN != pSelected->GetLayer())
 {
-OUString aName = pSelected->GetName();
+OUString aOldName = pSelected->GetName();
 
 SvxAbstractDialogFactory* pFact = 
SvxAbstractDialogFactory::Create();
 vcl::Window* pWin = rViewData.GetActiveWin();
-ScopedVclPtr 
pDlg(pFact->CreateSvxObjectNameDialog(pWin ? pWin->GetFrameWeld() : nullptr, 
aName));
+VclPtr 
pDlg(pFact->CreateSvxObjectNameDialog(pWin ? pWin->GetFrameWeld() : nullptr, 
aOldName));
 
 pDlg->SetCheckNameHdl(LINK(this, ScDrawShell, 
NameObjectHdl));
 
-if(RET_OK == pDlg->Execute())
-{
-ScDocShell* pDoc

core.git: chart2/source cui/source sc/source sd/source starmath/source sw/source

2024-01-22 Thread Noel Grandin (via logerrit)
 chart2/source/controller/main/ChartController_TextEdit.cxx |   77 +++--
 cui/source/factory/dlgfact.cxx |2 
 cui/source/factory/dlgfact.hxx |2 
 sc/source/ui/view/cellsh1.cxx  |9 +
 sc/source/ui/view/viewutil.cxx |9 +
 sd/source/ui/func/fubullet.cxx |9 +
 starmath/source/view.cxx   |9 +
 sw/source/ui/misc/insfnote.cxx |   51 
 sw/source/ui/misc/srtdlg.cxx   |   20 ++-
 sw/source/uibase/shells/annotsh.cxx|9 +
 sw/source/uibase/shells/drwtxtsh.cxx   |9 +
 sw/source/uibase/shells/textsh.cxx |9 +
 12 files changed, 135 insertions(+), 80 deletions(-)

New commits:
commit 6a5ef1a2b009f208745a251828bf8e8c51146bfe
Author: Noel Grandin 
AuthorDate: Mon Jan 22 12:35:50 2024 +0200
Commit: Noel Grandin 
CommitDate: Mon Jan 22 19:48:14 2024 +0100

make charmap dialog async

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

diff --git a/chart2/source/controller/main/ChartController_TextEdit.cxx 
b/chart2/source/controller/main/ChartController_TextEdit.cxx
index f2d21779ba69..10d89fd92442 100644
--- a/chart2/source/controller/main/ChartController_TextEdit.cxx
+++ b/chart2/source/controller/main/ChartController_TextEdit.cxx
@@ -177,42 +177,49 @@ void 
ChartController::executeDispatch_InsertSpecialCharacter()
 vcl::Font aCurFont = 
m_pDrawViewWrapper->getOutliner()->GetRefDevice()->GetFont();
 aSet.Put( SvxFontItem( aCurFont.GetFamilyType(), aCurFont.GetFamilyName(), 
aCurFont.GetStyleName(), aCurFont.GetPitch(), aCurFont.GetCharSet(), 
SID_ATTR_CHAR_FONT ) );
 
-ScopedVclPtr 
pDlg(pFact->CreateCharMapDialog(GetChartFrame(), aSet, nullptr));
-if( pDlg->Execute() != RET_OK )
-return;
-
-const SfxItemSet* pSet = pDlg->GetOutputItemSet();
-OUString aString;
-if (pSet)
-if (const SfxStringItem* pCharMapItem = 
pSet->GetItemIfSet(SID_CHARMAP))
-aString = pCharMapItem->GetValue();
-
-OutlinerView* pOutlinerView = 
m_pDrawViewWrapper->GetTextEditOutlinerView();
-SdrOutliner*  pOutliner = m_pDrawViewWrapper->getOutliner();
-
-if(!pOutliner || !pOutlinerView)
-return;
-
-// insert string to outliner
-
-// prevent flicker
-pOutlinerView->HideCursor();
-pOutliner->SetUpdateLayout(false);
-
-// delete current selection by inserting empty String, so current
-// attributes become unique (sel. has to be erased anyway)
-pOutlinerView->InsertText(OUString());
-
-pOutlinerView->InsertText(aString, true);
-
-ESelection aSel = pOutlinerView->GetSelection();
-aSel.nStartPara = aSel.nEndPara;
-aSel.nStartPos = aSel.nEndPos;
-pOutlinerView->SetSelection(aSel);
+VclPtr pDlg(pFact->CreateCharMapDialog(GetChartFrame(), 
aSet, nullptr));
+pDlg->StartExecuteAsync(
+[this, pDlg] (sal_Int32 nResult)->void
+{
+if (nResult == RET_OK)
+{
+const SfxItemSet* pSet = pDlg->GetOutputItemSet();
+OUString aString;
+if (pSet)
+if (const SfxStringItem* pCharMapItem = 
pSet->GetItemIfSet(SID_CHARMAP))
+aString = pCharMapItem->GetValue();
+
+OutlinerView* pOutlinerView = 
m_pDrawViewWrapper->GetTextEditOutlinerView();
+SdrOutliner*  pOutliner = m_pDrawViewWrapper->getOutliner();
+
+if(pOutliner && pOutlinerView)
+{
+// insert string to outliner
+
+// prevent flicker
+pOutlinerView->HideCursor();
+pOutliner->SetUpdateLayout(false);
+
+// delete current selection by inserting empty String, so 
current
+// attributes become unique (sel. has to be erased anyway)
+pOutlinerView->InsertText(OUString());
+
+pOutlinerView->InsertText(aString, true);
+
+ESelection aSel = pOutlinerView->GetSelection();
+aSel.nStartPara = aSel.nEndPara;
+aSel.nStartPos = aSel.nEndPos;
+pOutlinerView->SetSelection(aSel);
+
+// show changes
+pOutliner->SetUpdateLayout(true);
+pOutlinerView->ShowCursor();
+}
+}
+pDlg->disposeOnce();
+}
+);
 
-// show changes
-pOutliner->SetUpdateLayout(true);
-pOutlinerView->ShowCursor();
 }
 
 rtl::Reference< ::chart::AccessibleTextHelper >
diff --git a/cui/source/factory/dlgfact.cxx b/cui/source/facto

core.git: sw/qa writerfilter/source

2024-01-22 Thread Justin Luth (via logerrit)
 sw/qa/extras/ooxmlexport/data/tdf159207_footerFramePrBorder.docx |binary
 sw/qa/extras/ooxmlexport/ooxmlexport21.cxx   |   18 
++
 writerfilter/source/dmapper/DomainMapper_Impl.cxx|4 ++
 3 files changed, 22 insertions(+)

New commits:
commit 05e637b36043fac83265bbdfbdba97632a8e939e
Author: Justin Luth 
AuthorDate: Sat Jan 20 19:54:54 2024 -0500
Commit: Justin Luth 
CommitDate: Mon Jan 22 19:18:48 2024 +0100

tdf#154703 writerfilter framePr: avoid unexpected frame borders

This fixes my regressive 7.6 commit
31ea6305b6a763ee48f639562313d9bd109a2923

The text's first border checked (the left one) returned void
because the property SetState was DONTCARE.
Then it SETS the text's left border to be nothing
(I presume to remove the border from the paragraph since
it is moving it onto frame).
Well, apparently that act of setting one border sets all of them
(which makes sense since it would be one box item,
and once the box item exists, it has a definition for each border).

Therefore on the the next steps of the for loop,
the remaining borders will exist (as nothing)
and be dutifully moved to the frame.

Apparently the default for a frame is a box with DEFINED borders,
so omitting the moving of a nothing border resulted in a stray edge.

make CppunitTest_sw_ooxmlexport21 \
CPPUNIT_TEST_NAME=testTdf159207_footerFramePrBorder

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

diff --git a/sw/qa/extras/ooxmlexport/data/tdf159207_footerFramePrBorder.docx 
b/sw/qa/extras/ooxmlexport/data/tdf159207_footerFramePrBorder.docx
new file mode 100644
index ..7a4c54cc5c75
Binary files /dev/null and 
b/sw/qa/extras/ooxmlexport/data/tdf159207_footerFramePrBorder.docx differ
diff --git a/sw/qa/extras/ooxmlexport/ooxmlexport21.cxx 
b/sw/qa/extras/ooxmlexport/ooxmlexport21.cxx
index e079a0f588a4..c912046c0bb7 100644
--- a/sw/qa/extras/ooxmlexport/ooxmlexport21.cxx
+++ b/sw/qa/extras/ooxmlexport/ooxmlexport21.cxx
@@ -52,6 +52,24 @@ DECLARE_OOXMLEXPORT_TEST(testTdf153909_followTextFlow, 
"tdf153909_followTextFlow
 CPPUNIT_ASSERT(nTableLeft > nRectLeft);
 }
 
+CPPUNIT_TEST_FIXTURE(Test, testTdf159207_footerFramePrBorder)
+{
+loadFromFile(u"tdf159207_footerFramePrBorder.docx"); // re-imports as 
editeng Frame/Shape
+
+// given a doc with footer paragraphs frame (with a top border, but no 
left border)
+uno::Reference xTextFramesSupplier(mxComponent, 
uno::UNO_QUERY);
+uno::Reference 
xIndexAccess(xTextFramesSupplier->getTextFrames(),
+ uno::UNO_QUERY);
+uno::Reference xFrame0(xIndexAccess->getByIndex(0), 
uno::UNO_QUERY);
+auto aBorder = getProperty(xFrame0, "LeftBorder");
+sal_uInt32 nBorderWidth
+= aBorder.OuterLineWidth + aBorder.InnerLineWidth + 
aBorder.LineDistance;
+// Without patch it failed with Expected 0, Actual 26
+CPPUNIT_ASSERT_EQUAL_MESSAGE("Left border:", static_cast(0), 
nBorderWidth);
+
+// TODO: there SHOULD BE a top border, and even if loaded, it would be 
lost on re-import...
+}
+
 } // end of anonymous namespace
 CPPUNIT_PLUGIN_IMPLEMENT();
 
diff --git a/writerfilter/source/dmapper/DomainMapper_Impl.cxx 
b/writerfilter/source/dmapper/DomainMapper_Impl.cxx
index e92b5c9e76d6..b50fc74c86af 100644
--- a/writerfilter/source/dmapper/DomainMapper_Impl.cxx
+++ b/writerfilter/source/dmapper/DomainMapper_Impl.cxx
@@ -1729,7 +1729,11 @@ static void 
lcl_MoveBorderPropertiesToFrame(std::vector& r
 aValue.Name = sPropertyName;
 aValue.Value = 
xTextRangeProperties->getPropertyValue(sPropertyName);
 if( nProperty < 4 )
+{
 xTextRangeProperties->setPropertyValue( sPropertyName, 
uno::Any(table::BorderLine2()));
+if (!aValue.Value.hasValue())
+aValue.Value <<= table::BorderLine2();
+}
 else // border spacing
 {
 sal_Int32 nDistance = 0;


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

2024-01-22 Thread Caolán McNamara (via logerrit)
 sc/inc/hints.hxx  |4 
 sc/qa/unit/tiledrendering/data/cell-invalidations.ods |binary
 sc/qa/unit/tiledrendering/tiledrendering.cxx  |  128 --
 sc/source/core/tool/hints.cxx |5 
 sc/source/ui/docshell/docfunc.cxx |   27 +++
 sc/source/ui/docshell/docsh3.cxx  |   41 -
 sc/source/ui/inc/docsh.hxx|   11 -
 sc/source/ui/inc/tabview.hxx  |3 
 sc/source/ui/view/tabview3.cxx|   34 +++-
 sc/source/ui/view/tabvwsh5.cxx|7 
 sc/source/ui/view/viewfun3.cxx|   18 ++
 11 files changed, 233 insertions(+), 45 deletions(-)

New commits:
commit 37e6aef98f311962f77caabf6cb1e72807b8
Author: Caolán McNamara 
AuthorDate: Mon Jan 15 10:46:42 2024 +
Commit: Michael Meeks 
CommitDate: Mon Jan 22 18:34:36 2024 +0100

don't always invalidate the entire width of the calc window

If know the max width affected we can avoid redrawing much of
the row

LTR cell edits, deletes, single line paste

Change-Id: Ib7e3d8bfa3a5ce7df97f28bcf7858b3abcb752a4
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/162114
Tested-by: Jenkins CollaboraOffice 
Reviewed-by: Marco Cecchetti 
Reviewed-by: Michael Meeks 

diff --git a/sc/inc/hints.hxx b/sc/inc/hints.hxx
index d890072c1f81..00d6d80e0fa3 100644
--- a/sc/inc/hints.hxx
+++ b/sc/inc/hints.hxx
@@ -28,10 +28,11 @@ class SC_DLLPUBLIC ScPaintHint final : public SfxHint
 {
 ScRange aRange;
 PaintPartFlags  nParts;
+tools::Long nWidthAffectedHint;
 
 public:
 ScPaintHint() = delete;
-ScPaintHint( const ScRange& rRng, PaintPartFlags nPaint );
+ScPaintHint( const ScRange& rRng, PaintPartFlags nPaint, 
tools::Long nMaxWidthAffectedHint = -1);
 virtual ~ScPaintHint() override;
 
 SCCOL   GetStartCol() const { return aRange.aStart.Col(); }
@@ -41,6 +42,7 @@ public:
 SCROW   GetEndRow() const   { return aRange.aEnd.Row(); }
 SCTAB   GetEndTab() const   { return aRange.aEnd.Tab(); }
 PaintPartFlags  GetParts() const{ return nParts; }
+tools::Long GetMaxWidthAffectedHint() const { return 
nWidthAffectedHint; }
 };
 
 class ScUpdateRefHint final : public SfxHint
diff --git a/sc/qa/unit/tiledrendering/data/cell-invalidations.ods 
b/sc/qa/unit/tiledrendering/data/cell-invalidations.ods
new file mode 100644
index ..0f117775a467
Binary files /dev/null and 
b/sc/qa/unit/tiledrendering/data/cell-invalidations.ods differ
diff --git a/sc/qa/unit/tiledrendering/tiledrendering.cxx 
b/sc/qa/unit/tiledrendering/tiledrendering.cxx
index 55e72325f772..250caa5d5392 100644
--- a/sc/qa/unit/tiledrendering/tiledrendering.cxx
+++ b/sc/qa/unit/tiledrendering/tiledrendering.cxx
@@ -93,6 +93,8 @@ CPPUNIT_NS_END
 namespace
 {
 
+class ViewCallback;
+
 class ScTiledRenderingTest : public UnoApiXmlTest
 {
 public:
@@ -100,6 +102,11 @@ public:
 virtual void setUp() override;
 virtual void tearDown() override;
 
+void checkSampleInvalidation(const ViewCallback& rView, bool bFullRow);
+void cellInvalidationHelper(ScModelObj* pModelObj, ScTabViewShell* pView,
+const ScAddress& rAdr, bool bAddText,
+bool bFullRow);
+
 void testRowColumnHeaders();
 void testRowColumnSelections();
 void testPartHash();
@@ -166,6 +173,7 @@ public:
 void testLongFirstColumnMouseClick();
 void testSidebarLocale();
 void testNoInvalidateOnSave();
+void testCellMinimalInvalidations();
 void testCellInvalidationDocWithExistingZoom();
 
 CPPUNIT_TEST_SUITE(ScTiledRenderingTest);
@@ -242,6 +250,7 @@ public:
 CPPUNIT_TEST(testLongFirstColumnMouseClick);
 CPPUNIT_TEST(testSidebarLocale);
 CPPUNIT_TEST(testNoInvalidateOnSave);
+CPPUNIT_TEST(testCellMinimalInvalidations);
 CPPUNIT_TEST(testCellInvalidationDocWithExistingZoom);
 CPPUNIT_TEST_SUITE_END();
 
@@ -3691,6 +3700,111 @@ void ScTiledRenderingTest::testNoInvalidateOnSave()
 CPPUNIT_ASSERT(!aView.m_bInvalidateTiles);
 }
 
+void ScTiledRenderingTest::checkSampleInvalidation(const ViewCallback& rView, 
bool bFullRow)
+{
+// we expect invalidations, but that isn't really important
+CPPUNIT_ASSERT(rView.m_bInvalidateTiles);
+tools::Rectangle aInvalidation;
+for (const auto& rRect : rView.m_aInvalidations)
+aInvalidation.Union(rRect);
+if (!bFullRow)
+{
+// What matters is that we expect that the invalidation does not 
extend all the
+// way to the max right of the sheet.
+// Here we originally got 32212306 and now ~5056 for a single cell case
+CPPUNIT_ASSERT_LESSEQUAL(tools::Long(8000), aInvalidation.GetWidth());
+

core.git: sw/source

2024-01-22 Thread László Németh (via logerrit)
 sw/source/core/txtnode/thints.cxx |2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

New commits:
commit 9193e61d3e7b850b3715c848c09434e24855340b
Author: László Németh 
AuthorDate: Mon Jan 22 15:22:39 2024 +0100
Commit: László Németh 
CommitDate: Mon Jan 22 16:56:43 2024 +0100

tdf#106733 sw: fix bad downcast in SwTextNode::GetLang()

Fix bad cast of SvxNoHyphenItem to SvxLanguageItem
reported by :

  /sw/source/core/txtnode/thints.cxx:3560:16: runtime error: downcast of 
address 0x6030005e44d0 which does not point to an object of type 'const 
SvxLanguageItem'
  0x6030005e44d0: note: object is of type 'SvxNoHyphenItem'
   1a 00 00 00  90 e3 d5 77 5c 7f 00 00  00 00 00 00 13 00 be be  16 00 00 
00 92 01 be be  00 00 00 00
^~~
vptr for 'SvxNoHyphenItem'
  #0 0x7f5bda7e8c0c in SwTextNode::GetLang(int, int, unsigned short, 
bool) const /sw/source/core/txtnode/thints.cxx:3560:16

Regression since commit b5e275f47a54bd7fee39dad516a433fde5be872d
"tdf#106733 sw: implement CharNoHyphenation".

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

diff --git a/sw/source/core/txtnode/thints.cxx 
b/sw/source/core/txtnode/thints.cxx
index 184866daf3e0..5b78ea29eb84 100644
--- a/sw/source/core/txtnode/thints.cxx
+++ b/sw/source/core/txtnode/thints.cxx
@@ -3555,7 +3555,7 @@ LanguageType SwTextNode::GetLang( const sal_Int32 nBegin, 
const sal_Int32 nLen,
 }
 }
 }
-if( LANGUAGE_DONTKNOW == nRet )
+if( LANGUAGE_DONTKNOW == nRet && !bNoneIfNoHyphenation )
 {
 nRet = static_cast(GetSwAttrSet().Get( 
nWhichId )).GetLanguage();
 if( LANGUAGE_DONTKNOW == nRet )


core.git: bin/update external/onlineupdate Makefile.gbuild solenv/bin

2024-01-22 Thread Stephan Bergmann (via logerrit)
 Makefile.gbuild   |5 
 bin/update/create_full_mar.py |   30 +
 bin/update/create_full_mar_for_languages.py   |   71 -
 bin/update/create_partial_update.py   |   41 +--
 bin/update/tools.py   |   30 +
 external/onlineupdate/UnpackedTarball_onlineupdate.mk |1 
 external/onlineupdate/inifiles.patch  |   11 --
 external/onlineupdate/lo.patch|   98 --
 solenv/bin/modules/installer/globals.pm   |1 
 solenv/bin/modules/installer/simplepackage.pm |   31 -
 10 files changed, 74 insertions(+), 245 deletions(-)

New commits:
commit 084c64982ef6187292fd73e6deaa4448e0b6f3de
Author: Stephan Bergmann 
AuthorDate: Mon Jan 22 11:49:45 2024 +0100
Commit: Stephan Bergmann 
CommitDate: Mon Jan 22 16:06:42 2024 +0100

Create MAR updates from msi rather than from archive

...as the former is more convenient for release engineering (see the 
discussion
in the comments at


"Also enable --with-package-format=archive for LibreOfficeWin64.conf").

Instead of ONLINEUPDATE_MAR_OLDARCHIVE and ONLINEUPDATE_MAR_OLDMETADATA make
variables, the create-partial-info target now only needs an
ONLINEUPDATE_MAR_OLDMSI make variable.

TODO:  There are two issues when comparing the content of msi files 
(extracted
with msiexec /a), which the old code comparing the content of archives had 
tried
to somewhat (but not fully) address with the metadata files that I had 
invented
(and now reverted):  For one, msiexec /a also extracts content that would
normally be installed somewhere else in the system (e.g., it extracts Fonts,
System, and System64 directories).  Differences in those directories will 
cause
a MAR update to create those directories in the installation directory, 
rather
than to update the corresponding files in their actual locations.  For 
another,
optional components are not recognized as such, but their content must be 
added
to the MAR file as add/patch-if, not as plain add/patch.  To work around 
that,
for now *all* files are added as add/patch-if, conditional on the files
themselves.  Thus, addition of files will cause a MAR update to miss them.

(As they now exclusively operate on msi files, the create-update-info and
create-partial-info targets are no longer meaningful for non-Windows 
platforms,
so drop the non-Windows bin/update/create_full_mar_for_languages.py part.)

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

diff --git a/Makefile.gbuild b/Makefile.gbuild
index 31ba1772c50a..bb072340e19f 100644
--- a/Makefile.gbuild
+++ b/Makefile.gbuild
@@ -42,16 +42,13 @@ create-update-info:
rm -rf $(UPDATE_DIR) || true
mkdir -p $(MAR_DIR)/language
MAR=$(INSTDIR)/program/mar $(if $(filter WNT,$(OS)),$(shell cygpath -u 
$(SRCDIR)/bin/update/create_full_mar.py),$(SRCDIR)/bin/update/create_full_mar.py)
 "$(PRODUCTNAME)" "$(WORKDIR)" "$(MAR_NAME_PREFIX)" 
"$(ONLINEUPDATE_MAR_CERTIFICATEPATH)" "$(ONLINEUPDATE_MAR_CERTIFICATENAME)" 
"$(ONLINEUPDATE_MAR_BASEURL)" 
'$(LIBO_VERSION_MAJOR).$(LIBO_VERSION_MINOR).$(LIBO_VERSION_MICRO).$(LIBO_VERSION_PATCH)'
-   $(if $(filter WNT,$(OS)),, \
-   MAR=$(INSTDIR)/program/mar 
$(SRCDIR)/bin/update/create_full_mar_for_languages.py "$(PRODUCTNAME)" 
"$(WORKDIR)" "$(MAR_NAME_PREFIX)" "$(ONLINEUPDATE_MAR_CERTIFICATEPATH)" 
"$(ONLINEUPDATE_MAR_CERTIFICATENAME)" "$(ONLINEUPDATE_MAR_BASEURL)" 
'$(LIBO_VERSION_MAJOR).$(LIBO_VERSION_MINOR).$(LIBO_VERSION_MICRO).$(LIBO_VERSION_PATCH)'
 \
-   )
 
 create-partial-info:
$(eval BUILDID := $(shell git -C $(SRCDIR) log -1 --format=%H))
$(eval VERSION := 
$(LIBO_VERSION_MAJOR).$(LIBO_VERSION_MINOR).$(LIBO_VERSION_MICRO).$(LIBO_VERSION_PATCH)$(LIBO_VERSION_SUFFIX)$(LIBO_VERSION_SUFFIX_SUFFIX))
$(eval PLATFORM := $(RTL_OS)_$(RTL_ARCH))
$(eval MAR_NAME_PREFIX := 
$(PRODUCTNAME)_$(VERSION)_$(PLATFORM)_$(BUILDID))
-   MBSDIFF=$(WORKDIR)/LinkTarget/Executable/mbsdiff 
MAR=$(INSTDIR)/program/mar $(if $(filter WNT,$(OS)),$(shell cygpath -u 
$(SRCDIR)/bin/update/create_partial_update.py),$(SRCDIR)/bin/update/create_partial_update.py)
 "$(WORKDIR)" "$(MAR_NAME_PREFIX)" LOOnlineUpdater 
"$(ONLINEUPDATE_MAR_CERTIFICATEPATH)" "$(ONLINEUPDATE_MAR_CERTIFICATENAME)" 
"$(ONLINEUPDATE_MAR_BASEURL)" "$(PRODUCTNAME)" 
'$(LIBO_VERSION_MAJOR).$(LIBO_VERSION_MINOR).$(LIBO_VERSION_MICRO).$(LIBO_VERSION_PATCH)'
 "$(ONLINEUPDATE_MAR_OLDARCHIVE)" "$(ONLINEUPDATE_MAR_OLDMETADATA)"
+   MBSDIFF=$(WORKDIR)/LinkTarget/Executable/mbsdiff 
MAR=$(I

core.git: 2 commits - accessibility/source dbaccess/source external/frozen

2024-01-22 Thread Caolán McNamara (via logerrit)
 accessibility/source/extended/accessibleiconchoicectrlentry.cxx |7 +-
 accessibility/source/extended/accessiblelistboxentry.cxx|9 +--
 accessibility/source/extended/accessibletabbar.cxx  |   18 ++-
 accessibility/source/extended/accessibletabbarpage.cxx  |   12 +
 dbaccess/source/ui/dlg/dbfindex.cxx |3 -
 external/frozen/UnpackedTarball_frozen.mk   |1 
 external/frozen/cid1586676_use_move_ctor.0  |   24 
++
 7 files changed, 41 insertions(+), 33 deletions(-)

New commits:
commit 4e7a0270c6efc371433c3c2ca062d6747fe8
Author: Caolán McNamara 
AuthorDate: Mon Jan 22 11:15:22 2024 +
Commit: Caolán McNamara 
CommitDate: Mon Jan 22 15:15:31 2024 +0100

cid#1586676 Big parameter passed by value

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

diff --git a/external/frozen/UnpackedTarball_frozen.mk 
b/external/frozen/UnpackedTarball_frozen.mk
index b33a05c7dbd8..b0cc5c207d80 100644
--- a/external/frozen/UnpackedTarball_frozen.mk
+++ b/external/frozen/UnpackedTarball_frozen.mk
@@ -14,6 +14,7 @@ $(eval $(call 
gb_UnpackedTarball_set_tarball,frozen,$(FROZEN_TARBALL)))
 $(eval $(call gb_UnpackedTarball_add_patches,frozen,\
external/frozen/defines_h_constexpr_string.patch.0 \
external/frozen/cid1532449_use_move_ctor.0 \
+   external/frozen/cid1586676_use_move_ctor.0 \
external/frozen/cid1538304_reference_ctor.0 \
 ))
 
diff --git a/external/frozen/cid1586676_use_move_ctor.0 
b/external/frozen/cid1586676_use_move_ctor.0
new file mode 100644
index ..944d1747098c
--- /dev/null
+++ b/external/frozen/cid1586676_use_move_ctor.0
@@ -0,0 +1,24 @@
+--- include/frozen/unordered_set.h 2024-01-22 10:42:57.125966099 +
 include/frozen/unordered_set.h 2024-01-22 10:46:07.701159961 +
+@@ -74,13 +74,19 @@
+ public:
+   /* constructors */
+   unordered_set(unordered_set const &) = default;
+-  constexpr unordered_set(container_type keys, Hash const &hash,
++  constexpr unordered_set(container_type&& keys, Hash const &hash,
++  KeyEqual const &equal)
++  : equal_{equal}
++  , keys_{std::move(keys)}
++  , tables_{bits::make_pmh_tables(
++keys_, hash, bits::Get{}, default_prg_t{})} {}
++  constexpr unordered_set(const container_type& keys, Hash const &hash,
+   KeyEqual const &equal)
+   : equal_{equal}
+   , keys_{keys}
+   , tables_{bits::make_pmh_tables(
+ keys_, hash, bits::Get{}, default_prg_t{})} {}
+-  explicit constexpr unordered_set(container_type keys)
++  explicit constexpr unordered_set(const container_type& keys)
+   : unordered_set{keys, Hash{}, KeyEqual{}} {}
+ 
+   constexpr unordered_set(std::initializer_list keys)
commit f46477e934e0bc1dc2e1da36f28db6d23bfeaa97
Author: Caolán McNamara 
AuthorDate: Mon Jan 22 11:13:14 2024 +
Commit: Caolán McNamara 
CommitDate: Mon Jan 22 15:15:24 2024 +0100

cid#1586675 Missing move assignment operator

and

cid#1586677 Missing move assignment operator

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

diff --git a/accessibility/source/extended/accessibleiconchoicectrlentry.cxx 
b/accessibility/source/extended/accessibleiconchoicectrlentry.cxx
index 25587444b154..edab950a855e 100644
--- a/accessibility/source/extended/accessibleiconchoicectrlentry.cxx
+++ b/accessibility/source/extended/accessibleiconchoicectrlentry.cxx
@@ -165,11 +165,10 @@ namespace accessibility
 
 OUString AccessibleIconChoiceCtrlEntry::implGetText()
 {
-OUString sRet;
 SvxIconChoiceCtrlEntry* pEntry = m_pIconCtrl->GetEntry( m_nIndex );
-if ( pEntry )
-sRet = pEntry->GetDisplayText();
-return sRet;
+if (pEntry)
+return pEntry->GetDisplayText();
+return OUString();
 }
 
 Locale AccessibleIconChoiceCtrlEntry::implGetLocale()
diff --git a/accessibility/source/extended/accessiblelistboxentry.cxx 
b/accessibility/source/extended/accessiblelistboxentry.cxx
index f68e042f76ea..6c8fa6fc26dc 100644
--- a/accessibility/source/extended/accessiblelistboxentry.cxx
+++ b/accessibility/source/extended/accessiblelistboxentry.cxx
@@ -214,11 +214,10 @@ namespace accessibility
 
 OUString AccessibleListBoxEntry::implGetText()
 {
-OUString sRet;
 SvTreeListEntry* pEntry = m_pTreeListBox->GetEntryFromPath( 
m_aEntryPath );
-if ( pEntry )
-sRet = SvTreeListBox::SearchEntryTextWithHeadTitle( pEntry );
-return sRet;
+if (pEntry)
+return SvTreeListBox::SearchEntryTextWithHeadTitle(pEntry);

core.git: chart2/source cui/source include/svx sc/source sd/source sw/source

2024-01-22 Thread Noel Grandin (via logerrit)
 chart2/source/controller/main/ShapeController.cxx  |   14 +++--
 cui/source/factory/dlgfact.cxx |   20 +++---
 cui/source/factory/dlgfact.hxx |   10 +++
 cui/source/options/optcolor.cxx|5 +--
 cui/source/options/tsaurls.cxx |6 +---
 cui/source/tabpages/tpbitmap.cxx   |4 +-
 cui/source/tabpages/tpcolor.cxx|2 -
 cui/source/tabpages/tpgradnt.cxx   |4 +-
 cui/source/tabpages/tphatch.cxx|4 +-
 cui/source/tabpages/tplnedef.cxx   |4 +-
 cui/source/tabpages/tplneend.cxx   |4 +-
 cui/source/tabpages/tppattern.cxx  |4 +-
 include/svx/svxdlg.hxx |   10 +++
 sc/source/ui/drawfunc/drawsh5.cxx  |   14 +++--
 sd/source/ui/docshell/docshel2.cxx |5 +--
 sd/source/ui/func/fulinend.cxx |2 -
 sd/source/ui/slidesorter/controller/SlsSlotManager.cxx |   12 ++--
 sd/source/ui/view/drviews2.cxx |   15 +++---
 sd/source/ui/view/drviewsb.cxx |3 --
 sd/source/ui/view/drviewsc.cxx |3 --
 sd/source/ui/view/sdview2.cxx  |2 -
 sw/source/core/access/AccessibilityIssue.cxx   |   24 -
 sw/source/uibase/shells/drwbassh.cxx   |   15 +++---
 sw/source/uibase/shells/frmsh.cxx  |   13 ++---
 24 files changed, 78 insertions(+), 121 deletions(-)

New commits:
commit 27f15f1d50b1b67c940bf57e1581240011806159
Author: Noel Grandin 
AuthorDate: Mon Jan 22 09:45:16 2024 +0200
Commit: Noel Grandin 
CommitDate: Mon Jan 22 14:51:12 2024 +0100

simplify the getters in AbstractSvx*Dialog

to look like getters elsewhere, which compose better

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

diff --git a/chart2/source/controller/main/ShapeController.cxx 
b/chart2/source/controller/main/ShapeController.cxx
index 115229de0e57..f977259ce77b 100644
--- a/chart2/source/controller/main/ShapeController.cxx
+++ b/chart2/source/controller/main/ShapeController.cxx
@@ -217,8 +217,7 @@ void ShapeController::describeSupportedFeatures()
 
 IMPL_LINK( ShapeController, CheckNameHdl, AbstractSvxObjectNameDialog&, 
rDialog, bool )
 {
-OUString aName;
-rDialog.GetName( aName );
+OUString aName = rDialog.GetName();
 
 if ( !aName.isEmpty() )
 {
@@ -408,12 +407,9 @@ void 
ShapeController::executeDispatch_ObjectTitleDescription()
 pFact->CreateSvxObjectTitleDescDialog(pChartWindow, aTitle, 
aDescription, isDecorative));
 if ( pDlg->Execute() == RET_OK )
 {
-pDlg->GetTitle( aTitle );
-pDlg->GetDescription( aDescription );
-pDlg->IsDecorative(isDecorative);
-pSelectedObj->SetTitle( aTitle );
-pSelectedObj->SetDescription( aDescription );
-pSelectedObj->SetDecorative(isDecorative);
+pSelectedObj->SetTitle( pDlg->GetTitle() );
+pSelectedObj->SetDescription( pDlg->GetDescription() );
+pSelectedObj->SetDecorative(pDlg->IsDecorative());
 }
 }
 
@@ -439,7 +435,7 @@ void ShapeController::executeDispatch_RenameObject()
 pDlg->SetCheckNameHdl( LINK( this, ShapeController, CheckNameHdl ) );
 if ( pDlg->Execute() == RET_OK )
 {
-pDlg->GetName(aName);
+aName = pDlg->GetName();
 if (pSelectedObj->GetName() != aName)
 {
 pSelectedObj->SetName( aName );
diff --git a/cui/source/factory/dlgfact.cxx b/cui/source/factory/dlgfact.cxx
index ffb5fd301069..ec4532f2058d 100644
--- a/cui/source/factory/dlgfact.cxx
+++ b/cui/source/factory/dlgfact.cxx
@@ -546,9 +546,9 @@ tools::Long AbstractFmInputRecordNoDialog_Impl::GetValue() 
const
 return m_xDlg->GetNewDictionary();
 }
 
-void AbstractSvxNameDialog_Impl::GetName(OUString& rName)
+OUString AbstractSvxNameDialog_Impl::GetName()
 {
-rName = m_xDlg->GetName();
+return m_xDlg->GetName();
 }
 
 void AbstractSvxNameDialog_Impl::SetCheckNameHdl( const 
Link& rLink )
@@ -594,9 +594,9 @@ IMPL_LINK_NOARG(AbstractSvxNameDialog_Impl, 
CheckNameTooltipHdl, SvxNameDialog&,
 return aCheckNameTooltipHdl.Call(*this);
 }
 
-void AbstractSvxObjectNameDialog_Impl::GetName(OUString& rName)
+OUString AbstractSvxObjectNameDialog_Impl::GetName()
 {
-rName = m_xDlg->GetName();
+return m_xDlg->GetName();
 }
 
 void AbstractSvxObjectNameDialog_Impl::SetCheckNameHdl(const 
Link& rLink)
@@ -618,19 +618,19 @@ IMPL_LINK_NOARG(AbstractSvxObjectNameDialog_Impl, 
CheckNameHdl, SvxObjectNameDia
 return aCheckNameHdl.Call(*this);
 }
 
-void AbstractSvxObjectTitleDe

Neil Guertin license statement

2024-01-22 Thread Neil Guertin

All of my past & future contributions to LibreOffice may be licensed
under the MPLv2/LGPLv3+ dual license.

--
Neil Guertin (he/him)
Software Engineer in Test
Collabora Productivity



core.git: Branch 'libreoffice-24-2-0' - helpcontent2

2024-01-22 Thread Rafael Lima (via logerrit)
 helpcontent2 |2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

New commits:
commit df5fea3fab250a11b37d0803716d740e4fab2ba6
Author: Rafael Lima 
AuthorDate: Mon Jan 22 14:36:30 2024 +0100
Commit: Gerrit Code Review 
CommitDate: Mon Jan 22 14:36:30 2024 +0100

Update git submodules

* Update helpcontent2 from branch 'libreoffice-24-2-0'
  to c2520523383ab38a49b9f61cc05b74ed49de046c
  - Silence strings for translation in sf_dataset.xhp

Change-Id: I62754d87b3feef4b54f7de43ec041c20c9ad07b2
Reviewed-on: https://gerrit.libreoffice.org/c/help/+/161940
Tested-by: Jenkins
Reviewed-by: Adolfo Jayme Barrientos 
(cherry picked from commit e464f139740062a8da409d74c2942205dbe99aa0)
Reviewed-on: https://gerrit.libreoffice.org/c/help/+/161999
(cherry picked from commit 8a46af6d1523f0092c0a000cce688ec4916b9ef9)
Reviewed-on: https://gerrit.libreoffice.org/c/help/+/162373
Reviewed-by: Christian Lohmaier 

diff --git a/helpcontent2 b/helpcontent2
index f8dfcc874016..c2520523383a 16
--- a/helpcontent2
+++ b/helpcontent2
@@ -1 +1 @@
-Subproject commit f8dfcc8740164aad277abb73584b2d103ed3b189
+Subproject commit c2520523383ab38a49b9f61cc05b74ed49de046c


help.git: Branch 'libreoffice-24-2-0' - source/text

2024-01-22 Thread Rafael Lima (via logerrit)
 source/text/sbasic/shared/03/sf_dataset.xhp |   30 ++--
 1 file changed, 15 insertions(+), 15 deletions(-)

New commits:
commit c2520523383ab38a49b9f61cc05b74ed49de046c
Author: Rafael Lima 
AuthorDate: Thu Jan 11 22:12:05 2024 +0100
Commit: Christian Lohmaier 
CommitDate: Mon Jan 22 14:36:29 2024 +0100

Silence strings for translation in sf_dataset.xhp

Change-Id: I62754d87b3feef4b54f7de43ec041c20c9ad07b2
Reviewed-on: https://gerrit.libreoffice.org/c/help/+/161940
Tested-by: Jenkins
Reviewed-by: Adolfo Jayme Barrientos 
(cherry picked from commit e464f139740062a8da409d74c2942205dbe99aa0)
Reviewed-on: https://gerrit.libreoffice.org/c/help/+/161999
(cherry picked from commit 8a46af6d1523f0092c0a000cce688ec4916b9ef9)
Reviewed-on: https://gerrit.libreoffice.org/c/help/+/162373
Reviewed-by: Christian Lohmaier 

diff --git a/source/text/sbasic/shared/03/sf_dataset.xhp 
b/source/text/sbasic/shared/03/sf_dataset.xhp
index 47158a535e..8f3d509b0e 100644
--- a/source/text/sbasic/shared/03/sf_dataset.xhp
+++ b/source/text/sbasic/shared/03/sf_dataset.xhp
@@ -515,11 +515,11 @@
 
 
 
-  currId = 
oDataset.GetValue(FieldName := "ID")
+  currId = oDataset.GetValue(FieldName := 
"ID")
 
 
 
-  curr_id = 
dataset.GetValue(fieldname = "ID")
+  curr_id = dataset.GetValue(fieldname = 
"ID")
 
   
 
@@ -559,7 +559,7 @@
 
   dataset = 
database.CreateDataset("Customers")
   new_data = {"Name": 
"John", "Age": 30, "City": "Chicago"}
-  new_id = 
dataset.Insert(new_data)
+  new_id = dataset.Insert(new_data)
 
 The following calls 
are accepted in Python:
 
@@ -588,11 +588,11 @@
 
 
 
-  oDataset.MoveFirst()
+  oDataset.MoveFirst()
 
 
 
-  dataset.MoveFirst()
+  dataset.MoveFirst()
 
   
 
@@ -618,13 +618,13 @@
 
 
 
-  oDataset.MoveNext()
-  oDataset.MoveNext(5)
+  oDataset.MoveNext()
+  oDataset.MoveNext(5)
 
 
 
-  dataset.MoveNext()
-  dataset.MoveNext(5)
+  dataset.MoveNext()
+  dataset.MoveNext(5)
 
   
 
@@ -647,13 +647,13 @@
 
 
 
-  oDataset.Reload()
+  oDataset.Reload()
   oDataset.Reload(Filter := "[Name] = 'John'", OrderBy 
:= "Age")
 
 
 
-  dataset.Reload()
-  dataset.Reload(Filter = "[Name] = 'John'", OrderBy = 
"Age"
+  dataset.Reload()
+  dataset.Reload(Filter = "[Name] = 'John'", OrderBy = 
"Age")
 
   
 
@@ -675,10 +675,10 @@
 
 The example below 
updates the current record using a Dictionary.
 
-  oNewValues = 
CreateScriptService("Dictionary")
+  oNewValues = 
CreateScriptService("Dictionary")
   oNewValues.Add("Age", 51)
   oNewValues.Add("City", "New York")
-  oDataset.Update(oNewValues)
+  oDataset.Update(oNewValues)
 
 The same result can 
be achieved by passing all pairs of fields and values as arguments:
 
@@ -687,7 +687,7 @@
 
 
   new_values = {"Age": 
51, "City": "New York"}
-  dataset.Update(new_values)
+  dataset.Update(new_values)
 
 
   dataset.Update("Age", 51, "City", "New 
York")


core.git: Branch 'libreoffice-24-2-0' - translations

2024-01-22 Thread Christian Lohmaier (via logerrit)
 translations |2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

New commits:
commit f464c66e17c1547446b7c230f2ecdd49e5d3b7bb
Author: Christian Lohmaier 
AuthorDate: Mon Jan 22 14:34:41 2024 +0100
Commit: Gerrit Code Review 
CommitDate: Mon Jan 22 14:34:41 2024 +0100

Update git submodules

* Update translations from branch 'libreoffice-24-2-0'
  to 392c7b7ba064c5f2934c4b2725f69803d2e5ab01
  - update sl translation for gerrit#161999

that change broke string freeze but can be auto-handled

Change-Id: I8d76c9702b378c93037a2d82c44fe3b7eb1a89b4
(cherry picked from commit 0045ade72422c916469476a785ef81c12fb8bf05)

diff --git a/translations b/translations
index ee0d7cbe091c..392c7b7ba064 16
--- a/translations
+++ b/translations
@@ -1 +1 @@
-Subproject commit ee0d7cbe091ccd9a1ebedd49607e9c0bdef4e804
+Subproject commit 392c7b7ba064c5f2934c4b2725f69803d2e5ab01


core.git: cui/uiconfig

2024-01-22 Thread AkshayWarrier (via logerrit)
 cui/uiconfig/ui/lineendstabpage.ui |   36 ++--
 1 file changed, 18 insertions(+), 18 deletions(-)

New commits:
commit e531242f62d27000ab5fefd6d63023d4a1060c75
Author: AkshayWarrier 
AuthorDate: Sun Jan 21 22:35:25 2024 +0530
Commit: Heiko Tietze 
CommitDate: Mon Jan 22 14:34:56 2024 +0100

tdf#148702 cui: Place dropdown before entry in Arrow Styles tab of Line 
dialog

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

diff --git a/cui/uiconfig/ui/lineendstabpage.ui 
b/cui/uiconfig/ui/lineendstabpage.ui
index 292159657ac0..93f8815fbc6c 100644
--- a/cui/uiconfig/ui/lineendstabpage.ui
+++ b/cui/uiconfig/ui/lineendstabpage.ui
@@ -60,12 +60,11 @@
 6
 12
 
-  
+  
 True
 False
-Style _name:
+Arrow _style:
 True
-EDT_NAME
 0
   
   
@@ -74,11 +73,12 @@
   
 
 
-  
+  
 True
 False
-Arrow _style:
+Style _name:
 True
+EDT_NAME
 0
   
   
@@ -86,19 +86,6 @@
 1
   
 
-
-  
-True
-True
-start
-30
-True
-  
-  
-1
-0
-  
-
 
   
 True
@@ -119,6 +106,19 @@
   
 
   
+  
+1
+0
+  
+
+
+  
+True
+True
+start
+30
+True
+  
   
 1
 1


translations.git: Branch 'libreoffice-24-2-0' - source/sl

2024-01-22 Thread Christian Lohmaier (via logerrit)
 source/sl/helpcontent2/source/text/sbasic/shared/03.po |4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

New commits:
commit 392c7b7ba064c5f2934c4b2725f69803d2e5ab01
Author: Christian Lohmaier 
AuthorDate: Mon Jan 22 14:32:51 2024 +0100
Commit: Christian Lohmaier 
CommitDate: Mon Jan 22 14:34:38 2024 +0100

update sl translation for gerrit#161999

that change broke string freeze but can be auto-handled

Change-Id: I8d76c9702b378c93037a2d82c44fe3b7eb1a89b4
(cherry picked from commit 0045ade72422c916469476a785ef81c12fb8bf05)

diff --git a/source/sl/helpcontent2/source/text/sbasic/shared/03.po 
b/source/sl/helpcontent2/source/text/sbasic/shared/03.po
index ddd98c2f24d..13307af78b7 100644
--- a/source/sl/helpcontent2/source/text/sbasic/shared/03.po
+++ b/source/sl/helpcontent2/source/text/sbasic/shared/03.po
@@ -10182,8 +10182,8 @@ msgctxt ""
 "sf_dataset.xhp
"
 "pyc_id601701262720097
"
 "help.text"
-msgid "dataset.Reload(Filter = \"[Name] = 'John'\", OrderBy = \"Age\""
-msgstr "dataset.Reload(Filter = \"[Ime] = 'Janez'\", OrderBy = \"Starost\""
+msgid "dataset.Reload(Filter = \"[Name] = 'John'\", OrderBy = \"Age\")"
+msgstr "dataset.Reload(Filter = \"[Ime] = 'Janez'\", OrderBy = \"Starost\")"
 
 #: sf_dataset.xhp
 msgctxt ""


core.git: Branch 'libreoffice-24-2' - translations

2024-01-22 Thread Christian Lohmaier (via logerrit)
 translations |2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

New commits:
commit bb87c874f0865dcb33bd63722d0310313c11d93f
Author: Christian Lohmaier 
AuthorDate: Mon Jan 22 14:33:52 2024 +0100
Commit: Gerrit Code Review 
CommitDate: Mon Jan 22 14:33:52 2024 +0100

Update git submodules

* Update translations from branch 'libreoffice-24-2'
  to 0045ade72422c916469476a785ef81c12fb8bf05
  - update sl translation for gerrit#161999

that change broke string freeze but can be auto-handled

Change-Id: I8d76c9702b378c93037a2d82c44fe3b7eb1a89b4

diff --git a/translations b/translations
index ac309ebacc93..0045ade72422 16
--- a/translations
+++ b/translations
@@ -1 +1 @@
-Subproject commit ac309ebacc9349aeb060ee31ba399447963522c7
+Subproject commit 0045ade72422c916469476a785ef81c12fb8bf05


translations.git: Branch 'libreoffice-24-2' - source/sl

2024-01-22 Thread Christian Lohmaier (via logerrit)
 source/sl/helpcontent2/source/text/sbasic/shared/03.po |4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

New commits:
commit 0045ade72422c916469476a785ef81c12fb8bf05
Author: Christian Lohmaier 
AuthorDate: Mon Jan 22 14:32:51 2024 +0100
Commit: Christian Lohmaier 
CommitDate: Mon Jan 22 14:32:51 2024 +0100

update sl translation for gerrit#161999

that change broke string freeze but can be auto-handled

Change-Id: I8d76c9702b378c93037a2d82c44fe3b7eb1a89b4

diff --git a/source/sl/helpcontent2/source/text/sbasic/shared/03.po 
b/source/sl/helpcontent2/source/text/sbasic/shared/03.po
index ddd98c2f24d..13307af78b7 100644
--- a/source/sl/helpcontent2/source/text/sbasic/shared/03.po
+++ b/source/sl/helpcontent2/source/text/sbasic/shared/03.po
@@ -10182,8 +10182,8 @@ msgctxt ""
 "sf_dataset.xhp
"
 "pyc_id601701262720097
"
 "help.text"
-msgid "dataset.Reload(Filter = \"[Name] = 'John'\", OrderBy = \"Age\""
-msgstr "dataset.Reload(Filter = \"[Ime] = 'Janez'\", OrderBy = \"Starost\""
+msgid "dataset.Reload(Filter = \"[Name] = 'John'\", OrderBy = \"Age\")"
+msgstr "dataset.Reload(Filter = \"[Ime] = 'Janez'\", OrderBy = \"Starost\")"
 
 #: sf_dataset.xhp
 msgctxt ""


core.git: sw/qa writerfilter/source

2024-01-22 Thread Justin Luth (via logerrit)
 sw/qa/extras/ooxmlexport/ooxmlexport18.cxx|6 --
 writerfilter/source/dmapper/DomainMapper_Impl.cxx |6 --
 2 files changed, 8 insertions(+), 4 deletions(-)

New commits:
commit 5120cc702741ee3bdded80336f33362e42bf4276
Author: Justin Luth 
AuthorDate: Wed Jan 17 22:02:48 2024 -0500
Commit: Miklos Vajna 
CommitDate: Mon Jan 22 14:22:11 2024 +0100

tdf#159158 DOCX import: shape's last duplicate z-index wins

It looks like for DOCX a duplicate always comes out on top,
which is the exact opposite of what we have been doing so far.

The ability to switch between "old" and "new" style was
added for RTF's benefit, and cautiously expanded to
include when RTF and DOCX IMPORT_AS_DETECTED_INLINE.

This does not affect RTF, since AFAIK RTF cannot contain
VML-Z-ORDER properties.

Change-Id: I110e3db3fa504f1ae3a5bba5979b40f0c00a467e
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/162261
Tested-by: Jenkins
Reviewed-by: Justin Luth 
Reviewed-by: Miklos Vajna 

diff --git a/sw/qa/extras/ooxmlexport/ooxmlexport18.cxx 
b/sw/qa/extras/ooxmlexport/ooxmlexport18.cxx
index 5699ecbe7953..084863c144f4 100644
--- a/sw/qa/extras/ooxmlexport/ooxmlexport18.cxx
+++ b/sw/qa/extras/ooxmlexport/ooxmlexport18.cxx
@@ -973,8 +973,10 @@ 
DECLARE_OOXMLEXPORT_TEST(testTdf159158_zOrder_zIndexDuplicate_compat15, "tdf1591
 CPPUNIT_ASSERT_EQUAL(sal_Int32(0), getProperty(zOrder0, 
"ZOrder")); // lower
 CPPUNIT_ASSERT_EQUAL(sal_Int32(1), getProperty(zOrder1, 
"ZOrder")); // higher
 // should be the same as relativeHeight - last duplicate wins so blue is 
on top.
-// CPPUNIT_ASSERT_EQUAL(OUString("5-Point Star Yellow"), 
getProperty(zOrder0, "Name"));
-// CPPUNIT_ASSERT_EQUAL(OUString("5-Point Star Blue"), 
getProperty(zOrder1,"Name"));
+if (!isExported()) //somehow the name is lost on this export
+CPPUNIT_ASSERT_EQUAL(OUString("5-Point Star Yellow"), 
getProperty(zOrder0, "Name"));
+if (!isExported()) //somehow the name is lost on this export
+CPPUNIT_ASSERT_EQUAL(OUString("5-Point Star Blue"), 
getProperty(zOrder1,"Name"));
 }
 
 DECLARE_OOXMLEXPORT_TEST(testTdf159158_zOrder_zIndexWins, 
"tdf159158_zOrder_zIndexWins.docx")
diff --git a/writerfilter/source/dmapper/DomainMapper_Impl.cxx 
b/writerfilter/source/dmapper/DomainMapper_Impl.cxx
index 86065066403e..e92b5c9e76d6 100644
--- a/writerfilter/source/dmapper/DomainMapper_Impl.cxx
+++ b/writerfilter/source/dmapper/DomainMapper_Impl.cxx
@@ -4732,7 +4732,8 @@ void DomainMapper_Impl::PushShapeContext( const 
uno::Reference< drawing::XShape
 GraphicZOrderHelper* pZOrderHelper = 
m_rDMapper.graphicZOrderHelper();
 sal_Int32 zOrder(0);
 rProp.Value >>= zOrder;
-xShapePropertySet->setPropertyValue( "ZOrder", 
uno::Any(pZOrderHelper->findZOrder(zOrder)));
+xShapePropertySet->setPropertyValue("ZOrder",
+uno::Any(pZOrderHelper->findZOrder(zOrder, 
/*LastDuplicateWins*/true)));
 pZOrderHelper->addItem(xShapePropertySet, zOrder);
 xShapePropertySet->setPropertyValue(getPropertyName( 
PROP_OPAQUE ), uno::Any( zOrder >= 0 ) );
 checkZOrderStatus = true;
@@ -4776,7 +4777,8 @@ void DomainMapper_Impl::PushShapeContext( const 
uno::Reference< drawing::XShape
 GraphicZOrderHelper* pZOrderHelper = 
m_rDMapper.graphicZOrderHelper();
 sal_Int32 zOrder(0);
 rProp.Value >>= zOrder;
-xShapePropertySet->setPropertyValue( "ZOrder", 
uno::Any(pZOrderHelper->findZOrder(zOrder)));
+xShapePropertySet->setPropertyValue("ZOrder",
+uno::Any(pZOrderHelper->findZOrder(zOrder, 
/*LastDuplicateWins*/true)));
 pZOrderHelper->addItem(xShapePropertySet, zOrder);
 xShapePropertySet->setPropertyValue(getPropertyName( 
PROP_OPAQUE ), uno::Any( zOrder >= 0 ) );
 checkZOrderStatus = true;


core.git: sw/qa writerfilter/source

2024-01-22 Thread Justin Luth (via logerrit)
 sw/qa/extras/ooxmlexport/ooxmlexport18.cxx|   11 
 writerfilter/source/dmapper/GraphicImport.cxx |   32 +-
 2 files changed, 27 insertions(+), 16 deletions(-)

New commits:
commit 0b03dff37f4cad722819f36d5cf3bd39fb46d8ed
Author: Justin Luth 
AuthorDate: Mon Jan 15 14:36:12 2024 -0500
Commit: Miklos Vajna 
CommitDate: Mon Jan 22 14:20:31 2024 +0100

tdf#159158 writerfilter: relativeHeight always under z-index

No matter what z-index I chose, it always ends up being above
a relativeHeight. Since a heaven z-index is 0+,
that means that all relativeHeight's need to be treated as negative.

IsInHeaderFooter is a complication, because these are ALWAYS treated
as if they are below the text, and yet behindDoc relativeHeights
still need to be below their counterparts.

While this algorithm could never cover all the situations
(it would require transitioning to a sal_Int64 to do that)
it should be fine for practical purposes.

Plus, there are some unknown complications surrounding this.
If I increase the behindDoc relativeHeight by 1 in
tdf159158_zOrder_behindDocB.docx
the yellow star actually moves on top of the blue star,
which totally debunks my theory.

RTF doesn't really use relativeHeight,
but if it did, these changes should apply anyway.

Change-Id: I62e1f9ae8fe6f99534a2a799692120508204c553
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/162234
Reviewed-by: Justin Luth 
Tested-by: Justin Luth 
Reviewed-by: Miklos Vajna 

diff --git a/sw/qa/extras/ooxmlexport/ooxmlexport18.cxx 
b/sw/qa/extras/ooxmlexport/ooxmlexport18.cxx
index e7040b6d8d0b..5699ecbe7953 100644
--- a/sw/qa/extras/ooxmlexport/ooxmlexport18.cxx
+++ b/sw/qa/extras/ooxmlexport/ooxmlexport18.cxx
@@ -989,16 +989,15 @@ DECLARE_OOXMLEXPORT_TEST(testTdf159158_zOrder_zIndexWins, 
"tdf159158_zOrder_zInd
 CPPUNIT_ASSERT_EQUAL(sal_Int32(0), getProperty(zOrder0, 
"ZOrder")); // lower
 CPPUNIT_ASSERT_EQUAL(sal_Int32(1), getProperty(zOrder1, 
"ZOrder"));
 CPPUNIT_ASSERT_EQUAL(sal_Int32(2), getProperty(zOrder2, 
"ZOrder")); // higher
-// If zOrder is defined by z-index, it seems that it goes above everything 
set by relativeHeight
-if (isExported()) // not named on import
-CPPUNIT_ASSERT_EQUAL_MESSAGE("DID YOU FIX ME? Frame1 really should be 
at the very top",
- OUString("Frame1"), 
getProperty(zOrder0,"Name"));
 // I'm puzzled. Somehow 0 is larger than 0EFF , but not larger than 
0F00 
 // and yet the maximum value was established earlier as 1DFF . 
Something doesn't line up.
 // Perhaps 0 and 1 don't mean maximum value at all, but something 
completely different?
 CPPUNIT_ASSERT_MESSAGE("DID YOU FIX ME? I really should be yellow, not 
blue",
-"5-Point Star Yellow" != 
getProperty(zOrder1, "Name"));
-// CPPUNIT_ASSERT_EQUAL(OUString("5-Point Star Blue"), 
getProperty(zOrder2,"Name"));
+"5-Point Star Yellow" != 
getProperty(zOrder0, "Name"));
+// CPPUNIT_ASSERT_EQUAL(OUString("5-Point Star Blue"), 
getProperty(zOrder1,"Name"));
+// If zOrder is defined by z-index, it seems that it goes above everything 
set by relativeHeight
+if (isExported()) // not named on import
+CPPUNIT_ASSERT_EQUAL(OUString("Frame1"), 
getProperty(zOrder2,"Name"));
 }
 
 DECLARE_OOXMLEXPORT_TEST(testTdf159158_zOrder_behindDocA, 
"tdf159158_zOrder_behindDocA.docx")
diff --git a/writerfilter/source/dmapper/GraphicImport.cxx 
b/writerfilter/source/dmapper/GraphicImport.cxx
index b5f6d3385d58..4b0e199d1d17 100644
--- a/writerfilter/source/dmapper/GraphicImport.cxx
+++ b/writerfilter/source/dmapper/GraphicImport.cxx
@@ -210,7 +210,7 @@ public:
 sal_Int32 m_nTopPosition;
 
 bool  m_bUseSimplePos;
-sal_Int32 m_zOrder;
+std::optional m_oZOrder;
 
 sal_Int16 m_nHoriOrient;
 sal_Int16 m_nHoriRelation;
@@ -284,7 +284,6 @@ public:
 ,m_nLeftPosition(0)
 ,m_nTopPosition(0)
 ,m_bUseSimplePos(false)
-,m_zOrder(-1)
 ,m_nHoriOrient(   text::HoriOrientation::NONE )
 ,m_nHoriRelation( text::RelOrientation::FRAME )
 ,m_nVertOrient(  text::VertOrientation::NONE )
@@ -385,26 +384,33 @@ public:
 
 void applyZOrder(uno::Reference const & 
xGraphicObjectProperties) const
 {
-sal_Int32 nZOrder = m_zOrder;
+std::optional oZOrder = m_oZOrder;
 bool bBehindText = m_bBehindDoc && !m_bOpaque;
 if (m_rGraphicImportType == 
GraphicImportType::IMPORT_AS_DETECTED_INLINE
 && !m_rDomainMapper.IsInShape())
 {
-nZOrder = 0;
+oZOrder = SAL_MIN_INT32;
+bBehindText = false;
 }
-if (nZOrder >= 0)
+if (oZOrder)
 {
 // tdf#120760 Send objects with behinddoc=true to the back.
+ 

core.git: solenv/doc solenv/inc writerfilter/documentation

2024-01-22 Thread Eli Schwartz (via logerrit)
 solenv/doc/gbuild/doxygen.cfg   |2 +-
 solenv/inc/doxygen.cfg  |4 ++--
 solenv/inc/doxygen_doc.cfg  |6 +++---
 solenv/inc/doxygen_tag.cfg  |4 ++--
 writerfilter/documentation/doxygen/Doxyfile |2 +-
 5 files changed, 9 insertions(+), 9 deletions(-)

New commits:
commit ceb885232aa09444142ad9a70e9f6947ca1d70e0
Author: Eli Schwartz 
AuthorDate: Wed Dec 13 00:01:39 2023 -0500
Commit: Ilmari Lauhakangas 
CommitDate: Mon Jan 22 14:13:37 2024 +0100

use portable "command -v" to detect installed programs, part 5

The "which" utility is not guaranteed to be installed either, and if it
is, its behavior is not portable either. This means that when various
programs are installed, the `which` check will report a fatal error
because the which tool did not exist and the shell returned a nonzero
status when attempting to fork+exec. If it did exist, it might not be an
implementation of `which` that returns nonzero when commands do not
exist.

The general scripting suggestion is to use the "command -v" shell
builtin; this is required to exist in all POSIX 2008 compliant shells,
and is thus guaranteed to work everywhere.

For some in-depth discussions on the topic, see:
- https://mywiki.wooledge.org/BashFAQ/081
- 
https://unix.stackexchange.com/questions/85249/why-not-use-which-what-to-use-then/85250#85250

Examples of open-source shells likely to be installed as /bin/sh on
Linux, which implement the 15-year-old standard: ash, bash, busybox,
dash, ksh, mksh and zsh.

This commit updates documentation to no longer suggest a bad practice
that will confuse the reader when it doesn't work.

Change-Id: I0ed5ced353124919c7e09912c6d4d5aea146fa33
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/160666
Tested-by: Ilmari Lauhakangas 
Reviewed-by: Ilmari Lauhakangas 

diff --git a/solenv/doc/gbuild/doxygen.cfg b/solenv/doc/gbuild/doxygen.cfg
index d66fe0cd1670..605432ab1167 100644
--- a/solenv/doc/gbuild/doxygen.cfg
+++ b/solenv/doc/gbuild/doxygen.cfg
@@ -1661,7 +1661,7 @@ EXTERNAL_GROUPS= YES
 EXTERNAL_PAGES = YES
 
 # The PERL_PATH should be the absolute path and name of the perl script
-# interpreter (i.e. the result of `which perl').
+# interpreter (i.e. the result of `command -v perl').
 
 PERL_PATH  = /usr/bin/perl
 
diff --git a/solenv/inc/doxygen.cfg b/solenv/inc/doxygen.cfg
index ed50d426549e..ea6ec026d1d5 100644
--- a/solenv/inc/doxygen.cfg
+++ b/solenv/inc/doxygen.cfg
@@ -2085,7 +2085,7 @@ EXTERNAL_GROUPS= YES
 EXTERNAL_PAGES = YES
 
 # The PERL_PATH should be the absolute path and name of the perl script
-# interpreter (i.e. the result of 'which perl').
+# interpreter (i.e. the result of 'command -v perl').
 # The default file (with absolute path) is: /usr/bin/perl.
 
 PERL_PATH  =
@@ -2300,7 +2300,7 @@ DOT_IMAGE_FORMAT   = svg
 # The default value is: NO.
 # This tag requires that the tag HAVE_DOT is set to YES.
 
-INTERACTIVE_SVG= YES 
+INTERACTIVE_SVG= YES
 
 # The DOT_PATH tag can be used to specify the path where the dot tool can be
 # found. If left blank, it is assumed the dot tool can be found in the path.
diff --git a/solenv/inc/doxygen_doc.cfg b/solenv/inc/doxygen_doc.cfg
index 78d2778f7a4b..a53a3791c989 100644
--- a/solenv/inc/doxygen_doc.cfg
+++ b/solenv/inc/doxygen_doc.cfg
@@ -2085,7 +2085,7 @@ EXTERNAL_GROUPS= YES
 EXTERNAL_PAGES = YES
 
 # The PERL_PATH should be the absolute path and name of the perl script
-# interpreter (i.e. the result of 'which perl').
+# interpreter (i.e. the result of 'command -v perl').
 # The default file (with absolute path) is: /usr/bin/perl.
 
 PERL_PATH  =
@@ -2300,7 +2300,7 @@ DOT_IMAGE_FORMAT   = svg
 # The default value is: NO.
 # This tag requires that the tag HAVE_DOT is set to YES.
 
-INTERACTIVE_SVG= YES 
+INTERACTIVE_SVG= YES
 
 # The DOT_PATH tag can be used to specify the path where the dot tool can be
 # found. If left blank, it is assumed the dot tool can be found in the path.
@@ -2398,4 +2398,4 @@ GENERATE_LEGEND= YES
 # The default value is: YES.
 # This tag requires that the tag HAVE_DOT is set to YES.
 
-DOT_CLEANUP= YES
\ No newline at end of file
+DOT_CLEANUP= YES
diff --git a/solenv/inc/doxygen_tag.cfg b/solenv/inc/doxygen_tag.cfg
index 1ba9c17cdbfc..803ec974982d 100644
--- a/solenv/inc/doxygen_tag.cfg
+++ b/solenv/inc/doxygen_tag.cfg
@@ -2085,7 +2085,7 @@ EXTERNAL_GROUPS= YES
 EXTERNAL_PAGES = YES
 
 # The PERL_PATH should be the absolute path and name of the perl script
-# interpreter (i.e. the result of 'which perl').
+# interpreter (i.e. the result of 'command -v perl').
 # The default file (with absolute path) is: /usr/bin/perl.
 
 PERL_PATH  =
@@ -2300,7 +2300,7 @@ 

core.git: bin/removetooltip_markups.sh solenv/bin

2024-01-22 Thread Eli Schwartz (via logerrit)
 bin/removetooltip_markups.sh |8 +++-
 solenv/bin/add-modelines |   33 +++--
 2 files changed, 14 insertions(+), 27 deletions(-)

New commits:
commit 2a5ff80264825e21adb5ff107a3d01237b86f559
Author: Eli Schwartz 
AuthorDate: Wed Dec 13 00:01:39 2023 -0500
Commit: Ilmari Lauhakangas 
CommitDate: Mon Jan 22 14:12:18 2024 +0100

use portable "command -v" to detect installed programs, part 4

The "which" utility is not guaranteed to be installed either, and if it
is, its behavior is not portable either. This means that when various
programs are installed, the `which` check will report a fatal error
because the which tool did not exist and the shell returned a nonzero
status when attempting to fork+exec. If it did exist, it might not be an
implementation of `which` that returns nonzero when commands do not
exist.

The general scripting suggestion is to use the "command -v" shell
builtin; this is required to exist in all POSIX 2008 compliant shells,
and is thus guaranteed to work everywhere.

For some in-depth discussions on the topic, see:
- https://mywiki.wooledge.org/BashFAQ/081
- 
https://unix.stackexchange.com/questions/85249/why-not-use-which-what-to-use-then/85250#85250

Examples of open-source shells likely to be installed as /bin/sh on
Linux, which implement the 15-year-old standard: ash, bash, busybox,
dash, ksh, mksh and zsh.

This commit updates a couple build scripts to not rely on fixed paths
calculated upfront. Checking the location of a tool with cmd=$(which
foo) just to run it as `$cmd` is pointless. It's exactly equivalent to
run it as `foo`, but less error-prone and easier to read.

For one of the scripts, it also simplifies checking for their existence.
Personally, I am skeptical it even makes sense to check at all. POSIX
mandates they exist, and it's exceedingly unlikely they will not be
installed. However, unlike the shell interpreter itself, we don't *know*
they are installed, so leave the existing checks in but simplified.

Change-Id: I4703c1165eb3a5aeb45fbab18df3222e8f5f9551
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/160665
Tested-by: Jenkins
Tested-by: Ilmari Lauhakangas 
Reviewed-by: Ilmari Lauhakangas 

diff --git a/bin/removetooltip_markups.sh b/bin/removetooltip_markups.sh
index 5699fce99263..056c9753e510 100755
--- a/bin/removetooltip_markups.sh
+++ b/bin/removetooltip_markups.sh
@@ -10,13 +10,11 @@
 # Run the script in the core directory to remove all tooltip_markup
 # properties from the .ui files
 
-SED_BIN=`which sed`
-CUT_BIN=`which cut`
 LOG_FILE="modified-$(date +%s).log"
 
 removeTooltipMarkup()
 {
-LINE=$(grep -n " temp && mv temp $1
 echo "removed $TEXT from $1 at line $LINE" >> $LOG_FILE
@@ -24,8 +22,8 @@ removeTooltipMarkup()
 
 changeTooltipMarkup()
 {
-   LINE=$(grep -n " temp && mv temp $1
+   LINE=$(grep -n " temp && mv temp $1
echo "renamed tooltip_markup from $1 at line $LINE" >> $LOG_FILE
 }
 
diff --git a/solenv/bin/add-modelines b/solenv/bin/add-modelines
index a3f59fe8ead4..d3205ac7eee1 100755
--- a/solenv/bin/add-modelines
+++ b/solenv/bin/add-modelines
@@ -43,24 +43,13 @@ ModelineReplace="false"
 
 function SetEnvironment()
 {
- if [ -n "$(which tail)" ] && [ -n "$(which head)" ]; then
-{
-headCMD=$(which head)
-tailCMD=$(which tail)
-}
-else
-{
-echo "Missing head or tail, exiting..."
-exit 1
-}
+if ! command -v tail || ! command -v head; then
+echo "Missing head or tail, exiting..."
+exit 1
 fi
-if [ -n "$(which find)" ]; then
-findCMD=$(which find)
-else
-{
-echo "Missing find, exiting..."
-exit 1
-}
+if ! command -v find; then
+echo "Missing find, exiting..."
+exit 1
 fi
 }
 
@@ -72,15 +61,15 @@ function EditFile()
 
 FileToEdit="$1"
 
-currentFirstLine=$($headCMD -1 "$FileToEdit")
-currentLastLine=$($tailCMD -1 "$FileToEdit")
+currentFirstLine=$(head -1 "$FileToEdit")
+currentLastLine=$(tail -1 "$FileToEdit")
 
 case "$ModelineReplace" in
 "true" )
 if [ "${currentFirstLine:0:6}" = "${FirstLine:0:6}" ]; then
 {
 echo "$FirstLine" > "$FileToEdit".new
-$tailCMD -n +2 "$FileToEdit" >> "$FileToEdit".new
+tail -n +2 "$FileToEdit" >> "$FileToEdit".new
 }
 fi
 if [ -e "$FileToEdit.new" ]; then
@@ -90,7 +79,7 @@ function EditFile()
 fi
 if [ "${currentLastLine:0:6}" = "${LastLine:0:6}" ]; then
 {
-$headCMD -n -1 "$FileToEdit" > "$FileToEdit".new
+head -n -1 "$FileToEdit" > "$FileToEdit".new
 echo "$LastLine" >> "$FileToEdit".ne

core.git: sysui/desktop

2024-01-22 Thread Eli Schwartz (via logerrit)
 sysui/desktop/debian/postinst|2 +-
 sysui/desktop/debian/postrm  |2 +-
 sysui/desktop/freedesktop/freedesktop-menus.spec |   18 +-
 3 files changed, 11 insertions(+), 11 deletions(-)

New commits:
commit cf02724e5101801d0a316f6b099c14c4fce77d9a
Author: Eli Schwartz 
AuthorDate: Wed Dec 13 00:01:39 2023 -0500
Commit: Ilmari Lauhakangas 
CommitDate: Mon Jan 22 14:11:47 2024 +0100

use portable "command -v" to detect installed programs, part 3

The "which" utility is not guaranteed to be installed either, and if it
is, its behavior is not portable either. This means that when various
programs are installed, the `which` check will report a fatal error
because the which tool did not exist and the shell returned a nonzero
status when attempting to fork+exec. If it did exist, it might not be an
implementation of `which` that returns nonzero when commands do not
exist.

The general scripting suggestion is to use the "command -v" shell
builtin; this is required to exist in all POSIX 2008 compliant shells,
and is thus guaranteed to work everywhere.

For some in-depth discussions on the topic, see:
- https://mywiki.wooledge.org/BashFAQ/081
- 
https://unix.stackexchange.com/questions/85249/why-not-use-which-what-to-use-then/85250#85250

Examples of open-source shells likely to be installed as /bin/sh on
Linux, which implement the 15-year-old standard: ash, bash, busybox,
dash, ksh, mksh and zsh.

This commit updates packaging recipes.

Change-Id: I934863f6c8e05728e85278568899f581d749e0ea
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/160664
Tested-by: Ilmari Lauhakangas 
Reviewed-by: Ilmari Lauhakangas 

diff --git a/sysui/desktop/debian/postinst b/sysui/desktop/debian/postinst
index f3220f311fdf..e07ad7fa0649 100755
--- a/sysui/desktop/debian/postinst
+++ b/sysui/desktop/debian/postinst
@@ -34,7 +34,7 @@ if [ "$1" = "configure" ] ; then  # first install
   if [ -e /usr/share/icons/hicolor/icon-theme.cache ] ; then
 # touch it, just in case we cannot find the binary...
 touch /usr/share/icons/hicolor
-if (which gtk-update-icon-cache); then
+if command -v gtk-update-icon-cache; then
   gtk-update-icon-cache /usr/share/icons/hicolor
 fi
 # ignore errors (e.g. when there is a cache, but no index.theme)
diff --git a/sysui/desktop/debian/postrm b/sysui/desktop/debian/postrm
index 0e6099ea5b43..2e53e6062352 100755
--- a/sysui/desktop/debian/postrm
+++ b/sysui/desktop/debian/postrm
@@ -14,7 +14,7 @@ if [ "$1" != "purge" ]; then
   if [ -e /usr/share/icons/hicolor/icon-theme.cache ] ; then
 # touch it, just in case we cannot find the binary...
 touch /usr/share/icons/hicolor
-if (which gtk-update-icon-cache); then
+if command -v gtk-update-icon-cache; then
   gtk-update-icon-cache /usr/share/icons/hicolor
 fi
 # ignore errors (e.g. when there is a cache, but no index.theme)
diff --git a/sysui/desktop/freedesktop/freedesktop-menus.spec 
b/sysui/desktop/freedesktop/freedesktop-menus.spec
index 203d1a881bd3..ff083d71fe9c 100644
--- a/sysui/desktop/freedesktop/freedesktop-menus.spec
+++ b/sysui/desktop/freedesktop/freedesktop-menus.spec
@@ -86,7 +86,7 @@ rm -rf $RPM_BUILD_ROOT
 
 if [ -x /opt/gnome/bin/update-desktop-database ]; then
 /opt/gnome/bin/update-desktop-database -q
-elif (which update-desktop-database); then
+elif command -v update-desktop-database; then
   update-desktop-database -q /usr/share/applications
 fi
 
@@ -99,7 +99,7 @@ if [ "$2" = "0" ] ; then
   # the triggering package gets removed
   if [ -x /opt/gnome/bin/update-desktop-database ]; then
   /opt/gnome/bin/update-desktop-database -q
-  elif (which update-desktop-database); then
+  elif command -v update-desktop-database; then
 update-desktop-database -q /usr/share/applications
   fi
 fi
@@ -111,11 +111,11 @@ fi
 if [ "$1" = "1" ] ; then  # first install
   if [ -x /opt/gnome/bin/update-desktop-database ]; then
 /opt/gnome/bin/update-desktop-database -q
-  elif (which update-desktop-database); then
+  elif command -v update-desktop-database; then
 update-desktop-database -q /usr/share/applications
   fi
 
-  if (which update-mime-database); then
+  if command -v update-mime-database; then
 update-mime-database /usr/share/mime
   fi
 fi
@@ -165,7 +165,7 @@ if [ -e /usr/share/icons/hicolor/icon-theme.cache ] ; then
 touch /usr/share/icons/hicolor
 if [ -x /opt/gnome/bin/gtk-update-icon-cache ]; then
 /opt/gnome/bin/gtk-update-icon-cache -q /usr/share/icons/hicolor
-elif (which gtk-update-icon-cache); then
+elif command -v gtk-update-icon-cache; then
 gtk-update-icon-cache -q /usr/share/icons/hicolor
 fi
 # ignore errors (e.g. when there is a cache, but no index.theme)
@@ -329,7 +329,7 @@ fi
 
 if [ -x /opt/gnome/bin/update-desktop-database ]; then
 

core.git: sw/qa writerfilter/source

2024-01-22 Thread Justin Luth (via logerrit)
 sw/qa/extras/ooxmlexport/data/tdf159158_zOrder_behindDocA.docx |binary
 sw/qa/extras/ooxmlexport/data/tdf159158_zOrder_behindDocB.docx |binary
 sw/qa/extras/ooxmlexport/ooxmlexport10.cxx |4 -
 sw/qa/extras/ooxmlexport/ooxmlexport11.cxx |2 
 sw/qa/extras/ooxmlexport/ooxmlexport15.cxx |2 
 sw/qa/extras/ooxmlexport/ooxmlexport18.cxx |   30 
++
 sw/qa/extras/ooxmlexport/ooxmlexport8.cxx  |2 
 writerfilter/source/dmapper/GraphicImport.cxx  |3 -
 8 files changed, 37 insertions(+), 6 deletions(-)

New commits:
commit 12ea98fe637eda5f038b6447a5f0c5ea7104f448
Author: Justin Luth 
AuthorDate: Tue Jan 16 21:08:08 2024 -0500
Commit: Miklos Vajna 
CommitDate: Mon Jan 22 14:05:07 2024 +0100

tdf#159158 tdf#120760 DOCX shape import: fix Z-order with behindDoc #2

This fixes documents where both a z-index and a relativeHeight are in
the hell-layer. z-indexes indicate behindDoc with a negative number,
so prior to this patch relativeHeights were always above z-indexes,
but in fact the reverse ought to be true.

The reason why this works so well is because relativeHeight
can be at maximum 1DFF , and we are subtracting 7FFF 
which makes it a very low number that z-index is very
unlikely to ever reach.

I don't see any reason at all why this logic would be limited
to headers and footers. I assume that was done just to limit
the potential regression hate, but in that case a comment
should have been made stating that.

documentation: previous patchsets contain a list of unit tests
that have behindDoc without being in the HeaderFooter.
None were interesting...

The unit tests I modified were generally not surprising,
since I am changing the zOrder and getShapes() is based on zOrder,
so either refer to the shape by name when the order is not important
(and might change depending on ODT import, no z-index defined etc),
or else change the number to match the moved-to location
if it changed because of initial import.

The interesting one was the compat15 document which is
specified as behindDoc but that is supposed to be ignored...
perhaps if() could have just used m_bOpaque, but that is a logic
step a bit too far to take.

This can (and should) affect RTF as well, since
{\sn fBehindDocument}{\sv 1}
is documented as a shape consideration in the RTF spec.

make CppunitTest_sw_ooxmlexport18 \
CPPUNIT_TEST_NAME=testTdf159158_zOrder_behindDocA

make CppunitTest_sw_ooxmlexport18 \
CPPUNIT_TEST_NAME=testTdf159158_zOrder_behindDocB

Change-Id: Ic9eaecee28fd412f9aecce61b1e3a607f26d424a
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/162030
Tested-by: Jenkins
Reviewed-by: Justin Luth 
Reviewed-by: Miklos Vajna 

diff --git a/sw/qa/extras/ooxmlexport/data/tdf159158_zOrder_behindDocA.docx 
b/sw/qa/extras/ooxmlexport/data/tdf159158_zOrder_behindDocA.docx
new file mode 100644
index ..b4e0b78c4675
Binary files /dev/null and 
b/sw/qa/extras/ooxmlexport/data/tdf159158_zOrder_behindDocA.docx differ
diff --git a/sw/qa/extras/ooxmlexport/data/tdf159158_zOrder_behindDocB.docx 
b/sw/qa/extras/ooxmlexport/data/tdf159158_zOrder_behindDocB.docx
new file mode 100644
index ..7dec311097ee
Binary files /dev/null and 
b/sw/qa/extras/ooxmlexport/data/tdf159158_zOrder_behindDocB.docx differ
diff --git a/sw/qa/extras/ooxmlexport/ooxmlexport10.cxx 
b/sw/qa/extras/ooxmlexport/ooxmlexport10.cxx
index f519c9ddfe87..8306ec2c5465 100644
--- a/sw/qa/extras/ooxmlexport/ooxmlexport10.cxx
+++ b/sw/qa/extras/ooxmlexport/ooxmlexport10.cxx
@@ -108,7 +108,7 @@ CPPUNIT_TEST_FIXTURE(Test, testFdo69548)
 DECLARE_OOXMLEXPORT_TEST(testWpsOnly, "wps-only.docx")
 {
 // Document has wp:anchor, not wp:inline, so handle it accordingly.
-uno::Reference xShape = getShape(1);
+uno::Reference xShape = getShapeByName(u"Isosceles 
Triangle 1");
 text::TextContentAnchorType eValue = 
getProperty(xShape, "AnchorType");
 // Word only as as-char and at-char, so at-char is our only choice.
 CPPUNIT_ASSERT_EQUAL(text::TextContentAnchorType_AT_CHARACTER, eValue);
@@ -124,7 +124,7 @@ DECLARE_OOXMLEXPORT_TEST(testWpsOnly, "wps-only.docx")
 // This should be in front of text.
 CPPUNIT_ASSERT_EQUAL(true, getProperty(xShape, "Opaque"));
 // And this should be behind the document.
-CPPUNIT_ASSERT_EQUAL(false, getProperty(getShape(2), "Opaque"));
+CPPUNIT_ASSERT_EQUAL(false, getProperty(getShapeByName(u"Isosceles 
Triangle 2"), "Opaque"));
 }
 
 CPPUNIT_TEST_FIXTURE(Test, testFloattableNestedDOCXExport)
diff --git a/sw/qa/extras/ooxmlexport/ooxmlexport11.cxx 
b/sw/qa/extras/ooxmlexport/ooxmlexport11.cxx
index f7df210641af..1a5e0683d757 100644
--- a/sw/qa/extras/ooxmlexport/ooxmlexpo

core.git: bin/symstore.sh configure.ac solenv/bin solenv/CustomTarget_gbuildtesttools.mk

2024-01-22 Thread Eli Schwartz (via logerrit)
 bin/symstore.sh|2 +-
 configure.ac   |   26 +-
 solenv/CustomTarget_gbuildtesttools.mk |2 +-
 solenv/bin/gdb-core-bt.sh  |2 +-
 solenv/bin/mkdocs.sh   |2 +-
 5 files changed, 17 insertions(+), 17 deletions(-)

New commits:
commit 71fed56e4a09fbf141fdb8f064df6764e6e6d262
Author: Eli Schwartz 
AuthorDate: Wed Dec 13 00:01:39 2023 -0500
Commit: Ilmari Lauhakangas 
CommitDate: Mon Jan 22 14:01:17 2024 +0100

use portable "command -v" to detect installed programs, part 2

The "which" utility is not guaranteed to be installed either, and if it
is, its behavior is not portable either. This means that when various
programs are installed, the `which` check will report a fatal error
because the which tool did not exist and the shell returned a nonzero
status when attempting to fork+exec. If it did exist, it might not be an
implementation of `which` that returns nonzero when commands do not
exist.

The general scripting suggestion is to use the "command -v" shell
builtin; this is required to exist in all POSIX 2008 compliant shells,
and is thus guaranteed to work everywhere.

For some in-depth discussions on the topic, see:
- https://mywiki.wooledge.org/BashFAQ/081
- 
https://unix.stackexchange.com/questions/85249/why-not-use-which-what-to-use-then/85250#85250

Examples of open-source shells likely to be installed as /bin/sh on
Linux, which implement the 15-year-old standard: ash, bash, busybox,
dash, ksh, mksh and zsh.

This commit updates the build system to configure and build correctly on
systems without `which`.

Change-Id: I23dbde5c7f104dd610fd5f78c82bf9a7d0cc1930
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/160663
Tested-by: Jenkins
Tested-by: Ilmari Lauhakangas 
Reviewed-by: Ilmari Lauhakangas 

diff --git a/bin/symstore.sh b/bin/symstore.sh
index 332c9d817f56..8d9be4b8fa58 100755
--- a/bin/symstore.sh
+++ b/bin/symstore.sh
@@ -104,7 +104,7 @@ if [ ! -d "${INSTDIR}" -o ! -d "${WORKDIR}" ]; then
 echo "INSTDIR or WORKDIR not present - script expects calling after full 
build"
 exit 1
 fi
-which symstore.exe > /dev/null 2>&1 || {
+command -v symstore.exe > /dev/null 2>&1 || {
 echo "symstore.exe is expected in the PATH"
 exit 1
 }
diff --git a/configure.ac b/configure.ac
index 5e836e8c0ab4..6136428fc689 100644
--- a/configure.ac
+++ b/configure.ac
@@ -225,7 +225,7 @@ add_warning()
 if test "$have_WARNINGS" = "no"; then
 echo "*" > "$WARNINGS_FILE"
 have_WARNINGS="yes"
-if which tput >/dev/null && test "`tput colors 2>/dev/null || echo 0`" 
-ge 8; then
+if command -v tput >/dev/null && test "`tput colors 2>/dev/null || 
echo 0`" -ge 8; then
 dnl  as actual byte (U+1b), [ escaped using quadrigraph @<:@
 COLORWARN='*@<:@1;33;40m WARNING @<:@0m:'
 else
@@ -246,13 +246,13 @@ mac_sanitize_path()
 mac_path="$LODE_HOME/opt/bin:/usr/bin:/bin:/usr/sbin:/sbin"
 dnl a common but nevertheless necessary thing that may be in a fancy
 dnl path location is git, so make sure we have it
-mac_git_path=`which git 2>/dev/null`
+mac_git_path=`command -v git`
 if test -n "$mac_git_path" -a -x "$mac_git_path" -a "$mac_git_path" != 
"/usr/bin/git" ; then
 mac_path="$mac_path:`dirname $mac_git_path`"
 fi
 dnl a not so common but nevertheless quite helpful thing that may be in a fancy
 dnl path location is gpg, so make sure we find it
-mac_gpg_path=`which gpg 2>/dev/null`
+mac_gpg_path=`command -v gpg`
 if test -n "$mac_gpg_path" -a -x "$mac_gpg_path" -a "$mac_gpg_path" != 
"/usr/bin/gpg" ; then
 mac_path="$mac_path:`dirname $mac_gpg_path`"
 fi
@@ -567,13 +567,13 @@ for a in "$MAKE" "$GNUMAKE" make gmake gnumake; do
 if test $? -eq 0;  then
 if test "$build_os" = "cygwin"; then
 if test -n "$($a -v | grep 'Built for Windows')" ; then
-GNUMAKE="$(cygpath -m "$(which "$(cygpath -u $a)")")"
+GNUMAKE="$(cygpath -m "$(command -v "$(cygpath -u $a)")")"
 GNUMAKE_WIN_NATIVE="TRUE"
 else
-GNUMAKE=`which $a`
+GNUMAKE=`command -v $a`
 fi
 else
-GNUMAKE=`which $a`
+GNUMAKE=`command -v $a`
 fi
 break
 fi
@@ -1406,7 +1406,7 @@ if test "$_os" = "Emscripten"; then
 fi
 
 EMSCRIPTEN_ERROR=0
-if ! which emconfigure >/dev/null 2>&1; then
+if ! command -v emconfigure >/dev/null 2>&1; then
 AC_MSG_WARN([emconfigure must be in your \$PATH])
 EMSCRIPTEN_ERROR=1
 fi
@@ -3465,7 +3465,7 @@ if test "$_os" != "WINNT"; then
 
 fi
 else
-GCC_H

core.git: Branch 'libreoffice-24-2' - helpcontent2

2024-01-22 Thread Christian Lohmaier (via logerrit)
 helpcontent2 |2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

New commits:
commit e5cb77798dfe7d6e8dacdca89b7d48d1342e2054
Author: Christian Lohmaier 
AuthorDate: Mon Jan 22 13:53:37 2024 +0100
Commit: Gerrit Code Review 
CommitDate: Mon Jan 22 13:53:37 2024 +0100

Update git submodules

* Update helpcontent2 from branch 'libreoffice-24-2'
  to 2b0885774389f5bc85cc697294f05212f44d2392
  - Revert "tdf#156156: add Slide Transition sidebar deck help button's HID"

This reverts commit d529ecdee07d04f261fd13d05ecf2e0ee9f18a4b.

Reason for revert: merged after string freeze

Change-Id: I955aed0f12d265fc05d2903d44743ecba8d8c0f4
Reviewed-on: https://gerrit.libreoffice.org/c/help/+/162274
Tested-by: Jenkins
Reviewed-by: Stéphane Guillou 
Reviewed-by: Christian Lohmaier 

diff --git a/helpcontent2 b/helpcontent2
index 3a01a710608f..2b0885774389 16
--- a/helpcontent2
+++ b/helpcontent2
@@ -1 +1 @@
-Subproject commit 3a01a710608f9237d25f509056cc41ad73e43da6
+Subproject commit 2b0885774389f5bc85cc697294f05212f44d2392


help.git: Branch 'libreoffice-24-2' - source/text

2024-01-22 Thread Christian Lohmaier (via logerrit)
 source/text/simpress/00/0407.xhp |   12 +---
 source/text/simpress/01/0604.xhp |3 +--
 2 files changed, 2 insertions(+), 13 deletions(-)

New commits:
commit 2b0885774389f5bc85cc697294f05212f44d2392
Author: Christian Lohmaier 
AuthorDate: Fri Jan 19 14:51:19 2024 +0100
Commit: Christian Lohmaier 
CommitDate: Mon Jan 22 13:53:36 2024 +0100

Revert "tdf#156156: add Slide Transition sidebar deck help button's HID"

This reverts commit d529ecdee07d04f261fd13d05ecf2e0ee9f18a4b.

Reason for revert: merged after string freeze

Change-Id: I955aed0f12d265fc05d2903d44743ecba8d8c0f4
Reviewed-on: https://gerrit.libreoffice.org/c/help/+/162274
Tested-by: Jenkins
Reviewed-by: Stéphane Guillou 
Reviewed-by: Christian Lohmaier 

diff --git a/source/text/simpress/00/0407.xhp 
b/source/text/simpress/00/0407.xhp
index 7f755eb388..3457731645 100644
--- a/source/text/simpress/00/0407.xhp
+++ b/source/text/simpress/00/0407.xhp
@@ -28,17 +28,7 @@
 
 
 Slide Show Menu
-
-  
-  OptionAlt
 + 6
-  
-  Choose View - 
Slide Transition.
-  
-  Choose 
Slide Show - Slide Transition.
-  In the 
Slide Show menu of the Slide Show 
tab, choose Slide Transition.
-  
-Open the 
Slide Transition deck.
-
+Choose 
View - Slide Transition.
   
 Choose Insert - 
Animated Image.
   
diff --git a/source/text/simpress/01/0604.xhp 
b/source/text/simpress/01/0604.xhp
index aaec1ea5ad..1bfd3838ba 100644
--- a/source/text/simpress/01/0604.xhp
+++ b/source/text/simpress/01/0604.xhp
@@ -37,13 +37,12 @@
 
 
 
-
 
   Slide 
Transition
   Defines the special effect that plays when you display a slide during a 
slide show.
 
 
-  
+  
 
 To apply the same 
transition effect to more than one slide, switch to the Slide Sorter, select the slides, 
and then choose Slide - Slide Transition.
 


core.git: desktop/scripts shell/source

2024-01-22 Thread Eli Schwartz (via logerrit)
 desktop/scripts/soffice.sh|8 
 shell/source/unix/misc/senddoc.sh |   15 +--
 2 files changed, 5 insertions(+), 18 deletions(-)

New commits:
commit a1c854fffe0bf0f177535df320b60a328530ac70
Author: Eli Schwartz 
AuthorDate: Wed Dec 13 00:01:39 2023 -0500
Commit: Ilmari Lauhakangas 
CommitDate: Mon Jan 22 13:46:45 2024 +0100

use portable "command -v" to detect installed programs, part 1

The "which" utility is not guaranteed to be installed either, and if it
is, its behavior is not portable either. This means that when various
programs are installed, the `which` check will report a fatal error
because the which tool did not exist and the shell returned a nonzero
status when attempting to fork+exec. If it did exist, it might not be an
implementation of `which` that returns nonzero when commands do not
exist.

The general scripting suggestion is to use the "command -v" shell
builtin; this is required to exist in all POSIX 2008 compliant shells,
and is thus guaranteed to work everywhere.

For some in-depth discussions on the topic, see:
- https://mywiki.wooledge.org/BashFAQ/081
- 
https://unix.stackexchange.com/questions/85249/why-not-use-which-what-to-use-then/85250#85250

Examples of open-source shells likely to be installed as /bin/sh on
Linux, which implement the 15-year-old standard: ash, bash, busybox,
dash, ksh, mksh and zsh.

This commit changes two programs installed to end-user systems.

Change-Id: I6013965bb914f5b0d593a876866b991e210ef5b8
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/160662
Tested-by: Jenkins
Tested-by: Ilmari Lauhakangas 
Reviewed-by: Ilmari Lauhakangas 

diff --git a/desktop/scripts/soffice.sh b/desktop/scripts/soffice.sh
index 8866a2cc8cf1..90f5ec784027 100755
--- a/desktop/scripts/soffice.sh
+++ b/desktop/scripts/soffice.sh
@@ -77,7 +77,7 @@ test -n "$RR" && EXTRAOPT="--record"
 for arg in "$@" $EXTRAOPT ; do
 case "$arg" in
 --record)
-if which rr >/dev/null 2>&1 ; then
+if command -v rr >/dev/null ; then
 # smoketest may already be recorded => ignore nested
 RRCHECK="rr record --nested=ignore"
 checks="c$checks"
@@ -87,7 +87,7 @@ for arg in "$@" $EXTRAOPT ; do
 fi
 ;;
 --backtrace)
-if which gdb >/dev/null 2>&1 ; then
+if command -v gdb >/dev/null ; then
 GDBTRACECHECK="gdb -nx --command=$sd_prog/gdbtrace --args"
 checks="c$checks"
 else
@@ -96,7 +96,7 @@ for arg in "$@" $EXTRAOPT ; do
 fi
 ;;
 --strace)
-if which strace >/dev/null 2>&1 ; then
+if command -v strace >/dev/null ; then
 STRACECHECK="strace -o strace.log -f -tt -s 256"
 checks="c$checks"
 else
@@ -106,7 +106,7 @@ for arg in "$@" $EXTRAOPT ; do
 ;;
  --valgrind)
 test -n "$VALGRINDCHECK" && continue;
-if which valgrind >/dev/null 2>&1 ; then
+if command -v valgrind >/dev/null ; then
 # another valgrind tool might be forced via the environment 
variable
 test -z "$VALGRIND" && VALGRIND="memcheck"
 # --trace-children-skip is pretty useful but supported only 
with valgrind >= 3.6.0
diff --git a/shell/source/unix/misc/senddoc.sh 
b/shell/source/unix/misc/senddoc.sh
index f70251ecf310..d4bc20176b5b 100755
--- a/shell/source/unix/misc/senddoc.sh
+++ b/shell/source/unix/misc/senddoc.sh
@@ -29,25 +29,12 @@ fi
 # do not confuse the system mail clients with OOo and Java libraries
 unset LD_LIBRARY_PATH
 
-# tries to locate the executable specified
-# as first parameter in the user's path.
-which() {
-if [ ! -z "$1" ]; then
-for i in $(echo "$PATH" | sed -e 's/^:/.:/g' -e 's/:$/:./g' -e 
's/::/:.:/g' -e 's/:/ /g'); do
-if [ -x "$i/$1" -a ! -d "$i/$1" ]; then
-echo "$i/$1"
-break;
-fi
-done
-fi
-}
-
 # checks for the original mozilla start script(s)
 # and restrict the "-remote" semantics to those.
 run_mozilla() {
 # find mozilla script in PATH if necessary
 if [ "$(basename "$1")" = "$1" ]; then
-moz=$(which "$1")
+moz=$(command -v "$1")
 else
 moz=$1
 fi


core.git: oox/source sd/qa

2024-01-22 Thread Tibor Nagy (via logerrit)
 oox/source/drawingml/table/predefined-table-styles.cxx |   20 
 oox/source/drawingml/table/tablecell.cxx   |   12 ++
 sd/qa/unit/data/pptx/tdf156718.pptx|binary
 sd/qa/unit/import-tests.cxx|   70 +
 4 files changed, 98 insertions(+), 4 deletions(-)

New commits:
commit 27a1eccae1763b8efa17c909820f57f84361d308
Author: Tibor Nagy 
AuthorDate: Mon Jan 22 11:24:51 2024 +0100
Commit: Nagy Tibor 
CommitDate: Mon Jan 22 13:34:32 2024 +0100

tdf#156718 PPTX import: fix the different formatting in table style

when the PPTX file only has table style id, but no table style content.

Change-Id: Ia3416478716a50beb6837988e98697fd88e916d9
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/162368
Tested-by: Jenkins
Reviewed-by: Nagy Tibor 

diff --git a/oox/source/drawingml/table/predefined-table-styles.cxx 
b/oox/source/drawingml/table/predefined-table-styles.cxx
index 7df96036137d..3e821456e3b3 100644
--- a/oox/source/drawingml/table/predefined-table-styles.cxx
+++ b/oox/source/drawingml/table/predefined-table-styles.cxx
@@ -231,6 +231,12 @@ std::unique_ptr CreateTableStyle(const 
OUString& styleId)
 std::unique_ptr pTableStyle;
 pTableStyle.reset(new TableStyle());
 
+// Text Style definitions for table parts
+
+bool bFirstRowTextBoldStyle = false;
+bool bFirstColTextBoldStyle = false;
+bool bLastColTextBoldStyle = false;
+
 // Text Color definitions for table parts
 
 ::oox::drawingml::Color wholeTblTextColor;
@@ -406,6 +412,7 @@ std::unique_ptr CreateTableStyle(const 
OUString& styleId)
 pWholeTblBottomBorder->moLineWidth = 12700;
 pWholeTblInsideHBorder->moLineWidth = 12700;
 pWholeTblInsideVBorder->moLineWidth = 12700;
+pFirstRowBottomBorder->moLineWidth = 12700;
 
 pWholeTblLeftBorder->moPresetDash = XML_solid;
 pWholeTblRightBorder->moPresetDash = XML_solid;
@@ -413,6 +420,7 @@ std::unique_ptr CreateTableStyle(const 
OUString& styleId)
 pWholeTblBottomBorder->moPresetDash = XML_solid;
 pWholeTblInsideHBorder->moPresetDash = XML_solid;
 pWholeTblInsideVBorder->moPresetDash = XML_solid;
+pFirstRowBottomBorder->moPresetDash = XML_solid;
 
 // Start to handle all style groups.
 
@@ -553,7 +561,13 @@ std::unique_ptr CreateTableStyle(const 
OUString& styleId)
 setBorderLineType(pFirstRowBottomBorder, XML_solidFill);
 setBorderLineType(pLastRowTopBorder, XML_solidFill);
 
+bFirstRowTextBoldStyle = true;
+bFirstColTextBoldStyle = true;
+bLastColTextBoldStyle = true;
+
 wholeTblTextColor.setSchemeClr(XML_tx1);
+firstRowTextColor.setSchemeClr(XML_tx1);
+lastColTextColor.setSchemeClr(XML_tx1);
 
 sal_Int32 accent_val;
 
@@ -567,8 +581,6 @@ std::unique_ptr CreateTableStyle(const 
OUString& styleId)
 pFirstRowBottomBorder->maLineFill.maFillColor.setSchemeClr(accent_val);
 pLastRowTopBorder->maLineFill.maFillColor.setSchemeClr(accent_val);
 
-firstRowTextColor.setSchemeClr(accent_val);
-
 pBand1HFillProperties->maFillColor.setSchemeClr(accent_val);
 pBand1VFillProperties->maFillColor.setSchemeClr(accent_val);
 
@@ -891,6 +903,10 @@ std::unique_ptr CreateTableStyle(const 
OUString& styleId)
 pTableStyle->getStyleId() = styleId;
 pTableStyle->getStyleName() = style_name;
 
+pTableStyle->getFirstRow().getTextBoldStyle() = bFirstRowTextBoldStyle;
+pTableStyle->getFirstCol().getTextBoldStyle() = bFirstColTextBoldStyle;
+pTableStyle->getLastCol().getTextBoldStyle() = bLastColTextBoldStyle;
+
 pTableStyle->getWholeTbl().getTextColor() = wholeTblTextColor;
 pTableStyle->getFirstRow().getTextColor() = firstRowTextColor;
 pTableStyle->getFirstCol().getTextColor() = firstColTextColor;
diff --git a/oox/source/drawingml/table/tablecell.cxx 
b/oox/source/drawingml/table/tablecell.cxx
index 687c987fe242..78ec4f61feeb 100644
--- a/oox/source/drawingml/table/tablecell.cxx
+++ b/oox/source/drawingml/table/tablecell.cxx
@@ -358,10 +358,18 @@ void TableCell::pushToXCell( const 
::oox::core::XmlFilterBase& rFilterBase, cons
 }
 if ( rProperties.isBandRow() )
 {
+bool bHasFirstColFillColor
+= (rProperties.isFirstCol() && 
rTable.getFirstCol().getFillProperties()
+   && 
rTable.getFirstCol().getFillProperties()->maFillColor.isUsed());
+
+bool bHasLastColFillColor
+= (rProperties.isLastCol() && 
rTable.getLastCol().getFillProperties()
+   && 
rTable.getLastCol().getFillProperties()->maFillColor.isUsed());
+
 if ( ( !rProperties.isFirstRow() || ( nRow != 0 ) ) &&
 ( !rProperties.isLastRow() || ( nRow != nMaxRow ) ) &&
-( !rProperties.isFirstCol() || ( nColumn != 0 ) ) &&
-( !rProperties.isLastCol() || ( nColumn != nMaxColumn ) ) )
+( !rProperties.isFirstCol() || ( nColumn != 0 ) || 
!

core.git: Branch 'libreoffice-7-6' - sw/source

2024-01-22 Thread Patrick Luby (via logerrit)
 sw/source/core/undo/untbl.cxx |9 -
 1 file changed, 8 insertions(+), 1 deletion(-)

New commits:
commit 52e959efc36edaf3e5bd1cd8ad75d4541f861390
Author: Patrick Luby 
AuthorDate: Sat Jan 13 17:57:56 2024 -0500
Commit: Noel Grandin 
CommitDate: Mon Jan 22 13:11:32 2024 +0100

tdf#159025 skip undo if SwTableNode is a nullptr

I don't know what causes the SwTableNode to be a nullptr in the
case of tdf#159025, but at least stop the crashing by skipping
this undo request.

Change-Id: Idad1ed290af215e591018ea58732b77ca504ba01
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/162031
Tested-by: Jenkins
Reviewed-by: Noel Grandin 
Reviewed-by: Patrick Luby 
(cherry picked from commit f414c61f8dd2617baa0851525b8a7a630c5e34da)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/162228

diff --git a/sw/source/core/undo/untbl.cxx b/sw/source/core/undo/untbl.cxx
index 3092df0c2fd3..8da85452c7d9 100644
--- a/sw/source/core/undo/untbl.cxx
+++ b/sw/source/core/undo/untbl.cxx
@@ -272,7 +272,14 @@ void SwUndoInsTable::UndoImpl(::sw::UndoRedoContext & 
rContext)
 SwNodeIndex aIdx( rDoc.GetNodes(), m_nStartNode );
 
 SwTableNode* pTableNd = aIdx.GetNode().GetTableNode();
-OSL_ENSURE( pTableNd, "no TableNode" );
+// tdf#159025 skip undo if SwTableNode is a nullptr
+// I don't know what causes the SwTableNode to be a nullptr in the
+// case of tdf#159025, but at least stop the crashing by skipping
+// this undo request.
+SAL_WARN_IF( !pTableNd, "sw.core", "no TableNode" );
+if( !pTableNd )
+return;
+
 pTableNd->DelFrames();
 
 if( IDocumentRedlineAccess::IsRedlineOn( GetRedlineFlags() ))


core.git: Branch 'libreoffice-24-2' - sw/qa xmloff/inc xmloff/source

2024-01-22 Thread László Németh (via logerrit)
 sw/qa/extras/odfexport/data/tdf106733.fodt |   66 +
 sw/qa/extras/odfexport/odfexport2.cxx  |   20 
 xmloff/inc/xmlprop.hxx |1 
 xmloff/source/text/txtprmap.cxx|4 -
 4 files changed, 89 insertions(+), 2 deletions(-)

New commits:
commit 05292d3fd50c64ac0b2a927334c39fe63aa3a108
Author: László Németh 
AuthorDate: Thu Jan 18 14:53:24 2024 +0100
Commit: Michael Stahl 
CommitDate: Mon Jan 22 13:01:10 2024 +0100

tdf#106733 xmloff: keep fo:hyphenate in character formatting

In the case of character formatting, map fo:hyphenate to the
unused CharNoHyphenation character property to keep it
during ODF import/export instead of losing it completely.

This is the first step to disable hyphenation for single
words or text spans in paragraphs with automatic hyphenation.

Note: using fo:hyphenate as character property is part of
the ODF standard.

Note: the old workaround to disable hyphenation, changing
the language of the text to None had got some serious fallbacks:
losing spell checking and losing language-dependent text
layout (supported by both OpenType and Graphite font engines
in LibreOffice).

Change-Id: I9565c3efbbb6e6d970fb03710e8c932ad72ab57e
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/162257
Tested-by: Jenkins
Reviewed-by: László Németh 
(cherry picked from commit 956f81ebc9d70507a4a976bfe42c99175dbf3632)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/162272
Reviewed-by: Michael Stahl 

diff --git a/sw/qa/extras/odfexport/data/tdf106733.fodt 
b/sw/qa/extras/odfexport/data/tdf106733.fodt
new file mode 100644
index ..fa9a02440573
--- /dev/null
+++ b/sw/qa/extras/odfexport/data/tdf106733.fodt
@@ -0,0 +1,66 @@
+
+
+http://www.w3.org/TR/css3-text/"; 
xmlns:grddl="http://www.w3.org/2003/g/data-view#"; 
xmlns:xhtml="http://www.w3.org/1999/xhtml"; 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"; 
xmlns:xsd="http://www.w3.org/2001/XMLSchema"; 
xmlns:xforms="http://www.w3.org/2002/xforms"; 
xmlns:dom="http://www.w3.org/2001/xml-events"; 
xmlns:script="urn:oasis:names:tc:opendocument:xmlns:script:1.0" 
xmlns:form="urn:oasis:names:tc:opendocument:xmlns:form:1.0" 
xmlns:math="http://www.w3.org/1998/Math/MathML"; 
xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0" 
xmlns:ooo="http://openoffice.org/2004/office"; 
xmlns:fo="urn:oasis:names:tc:opendocument:xmlns:xsl-fo-compatible:1.0" 
xmlns:config="urn:oasis:names:tc:opendocument:xmlns:config:1.0" 
xmlns:ooow="http://openoffice.org/2004/writer"; 
xmlns:xlink="http://www.w3.org/1999/xlink"; 
xmlns:drawooo="http://openoffice.org/2010/draw"; 
xmlns:oooc="http://openoffice.org/2004/calc"; 
xmlns:dc="http://purl.org/dc/elements/1.1/"; xmlns:c
 alcext="urn:org:documentfoundation:names:experimental:calc:xmlns:calcext:1.0" 
xmlns:style="urn:oasis:names:tc:opendocument:xmlns:style:1.0" 
xmlns:text="urn:oasis:names:tc:opendocument:xmlns:text:1.0" 
xmlns:of="urn:oasis:names:tc:opendocument:xmlns:of:1.2" 
xmlns:tableooo="http://openoffice.org/2009/table"; 
xmlns:draw="urn:oasis:names:tc:opendocument:xmlns:drawing:1.0" 
xmlns:dr3d="urn:oasis:names:tc:opendocument:xmlns:dr3d:1.0" 
xmlns:rpt="http://openoffice.org/2005/report"; 
xmlns:formx="urn:openoffice:names:experimental:ooxml-odf-interop:xmlns:form:1.0"
 xmlns:svg="urn:oasis:names:tc:opendocument:xmlns:svg-compatible:1.0" 
xmlns:chart="urn:oasis:names:tc:opendocument:xmlns:chart:1.0" 
xmlns:officeooo="http://openoffice.org/2009/office"; 
xmlns:table="urn:oasis:names:tc:opendocument:xmlns:table:1.0" 
xmlns:field="urn:openoffice:names:experimental:ooo-ms-interop:xmlns:field:1.0" 
xmlns:number="urn:oasis:names:tc:opendocument:xmlns:datastyle:1.0" 
xmlns:meta="urn:oasis:names:tc:opendocument:xmlns:
 meta:1.0" 
xmlns:loext="urn:org:documentfoundation:names:experimental:office:xmlns:loext:1.0"
 office:version="1.3" office:mimetype="application/vnd.oasis.opendocument.text">
+ 
+  
+ 
+ 
+  
+   
+   
+  
+  
+  
+   
+  
+  
+   
+   
+  
+  
+   
+  
+ 
+ 
+  
+   
+   
+   
+  
+  
+   
+   
+   
+  
+  
+   
+  
+  
+   
+  
+  
+   
+  
+  
+   
+
+   
+   
+   
+  
+ 
+ 
+  
+ 
+ 
+  
+   Hyphenate
+   The Earth is no different to any other 
celestial body out there in space. It merely moves along in space inertially. 
Even just one inch above the surface of the Earth is space, except that it has an atmosphere.
+   Don’t hyphenate (direct 
formatting)
+   The Earth is no different to any other 
celestial body out there in space. It merely moves along in space inertially. 
Even just one inch above the surface of the Earth is space, except that it has an atmosphere.
+   Don’t hyphenate 
(character style)
+   The Earth is no different to any other 
celestial body out there in space. It merely moves along in space inertially. 
Even just one inch above the surface of the Earth is space, except that it has 

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

2024-01-22 Thread Noel Grandin (via logerrit)
 sc/inc/fillinfo.hxx |2 +-
 sc/source/core/data/fillinfo.cxx|   13 -
 sc/source/ui/app/inputhdl.cxx   |2 +-
 sc/source/ui/miscdlgs/datatableview.cxx |2 +-
 sc/source/ui/view/gridwin.cxx   |2 +-
 sc/source/ui/view/gridwin4.cxx  |4 ++--
 sc/source/ui/view/printfun.cxx  |6 +++---
 7 files changed, 17 insertions(+), 14 deletions(-)

New commits:
commit a86c00414a43c5d87981ffae1018cb242c5e5e1d
Author: Noel Grandin 
AuthorDate: Fri Jan 19 14:27:10 2024 +0200
Commit: Noel Grandin 
CommitDate: Mon Jan 22 12:33:07 2024 +0100

cool#6893 reduce allocation in ScGridWindow::PaintTile

the code is needlessly allocating way more rows than we need, especially
when we have page to the bottom of a large document.

Make it so we allocate exactly the number of rows we need, instead
of allocating a default large number of rows (1024).

Which reveals that we need to allocate two extra rows, not sure why.

Change-Id: I9ca38f2712480ee8c0c3254061c92e457e328416
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/162277
Reviewed-by: Michael Meeks 
Tested-by: Noel Grandin 
Reviewed-by: Noel Grandin 
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/162366
Tested-by: Jenkins CollaboraOffice 

diff --git a/sc/inc/fillinfo.hxx b/sc/inc/fillinfo.hxx
index 81086ed358ba..30e4b7540a67 100644
--- a/sc/inc/fillinfo.hxx
+++ b/sc/inc/fillinfo.hxx
@@ -268,7 +268,7 @@ struct ScTableInfo
 SCSIZE  mnArrCapacity;
 boolmbPageMode;
 
-explicitScTableInfo(const SCSIZE capacity = 1024);
+explicitScTableInfo(SCROW nStartRow, SCROW nEndRow);
 ~ScTableInfo();
 ScTableInfo(const ScTableInfo&) = delete;
 const ScTableInfo& operator=(const ScTableInfo&) = delete;
diff --git a/sc/source/core/data/fillinfo.cxx b/sc/source/core/data/fillinfo.cxx
index 2dc9d5960128..193211b1f3ec 100644
--- a/sc/source/core/data/fillinfo.cxx
+++ b/sc/source/core/data/fillinfo.cxx
@@ -1049,13 +1049,16 @@ void ScDocument::FillInfo(
 rArray.MirrorSelfX();
 }
 
-ScTableInfo::ScTableInfo(const SCSIZE capacity)
-: mpRowInfo(new RowInfo[capacity])
-, mnArrCount(0)
-, mnArrCapacity(capacity)
+/// We seem to need to allocate two extra rows here, not sure why
+///
+ScTableInfo::ScTableInfo(SCROW nStartRow, SCROW nEndRow)
+: mnArrCount(0)
+, mnArrCapacity(nEndRow - nStartRow + 3)
 , mbPageMode(false)
 {
-memset(static_cast(mpRowInfo.get()), 0, mnArrCapacity * 
sizeof(RowInfo));
+assert(nStartRow >= 0);
+assert(nEndRow >= nStartRow);
+mpRowInfo.reset(new RowInfo[nEndRow - nStartRow + 3] {});
 }
 
 ScTableInfo::~ScTableInfo()
diff --git a/sc/source/ui/app/inputhdl.cxx b/sc/source/ui/app/inputhdl.cxx
index 18d6bb98b792..1c5f0a108f69 100644
--- a/sc/source/ui/app/inputhdl.cxx
+++ b/sc/source/ui/app/inputhdl.cxx
@@ -523,7 +523,7 @@ ReferenceMark ScInputHandler::GetReferenceMark( const 
ScViewData& rViewData, ScD
 Fraction aZoomX = rViewData.GetZoomX();
 Fraction aZoomY = rViewData.GetZoomY();
 
-ScTableInfo aTabInfo;
+ScTableInfo aTabInfo(nY1, nY2);
 pDocSh->GetDocument().FillInfo( aTabInfo, nX1, nY1, nX2, nY2,
 nTab, nPPTX, nPPTY, false, false );
 
diff --git a/sc/source/ui/miscdlgs/datatableview.cxx 
b/sc/source/ui/miscdlgs/datatableview.cxx
index 649f85bfc1a2..2ad901f4b110 100644
--- a/sc/source/ui/miscdlgs/datatableview.cxx
+++ b/sc/source/ui/miscdlgs/datatableview.cxx
@@ -257,7 +257,7 @@ void ScDataTableView::Paint(vcl::RenderContext& 
rRenderContext, const tools::Rec
 SCCOL nMaxVisibleCol = findColFromPos(aSize.Width() - mnScrollBarSize, 
mpDoc.get(), mnFirstVisibleCol);
 SCROW nMaxVisibleRow = findRowFromPos(aSize.Height(), mpDoc.get(), 
mnFirstVisibleRow);
 
-ScTableInfo aTableInfo;
+ScTableInfo aTableInfo(mnFirstVisibleRow, nMaxVisibleRow);
 mpDoc->FillInfo(aTableInfo, mnFirstVisibleCol, mnFirstVisibleRow, 
nMaxVisibleCol, nMaxVisibleRow, 0, 0.0, 0.0, false, false);
 ScOutputData aOutput(&rRenderContext, OUTTYPE_WINDOW, aTableInfo, 
mpDoc.get(), 0,
 nRowHeaderWidth, nColHeaderHeight, mnFirstVisibleCol, 
mnFirstVisibleRow, nMaxVisibleCol, nMaxVisibleRow, nPPTX, nPPTY);
diff --git a/sc/source/ui/view/gridwin.cxx b/sc/source/ui/view/gridwin.cxx
index 9bd88d69d10d..0f3f9ff8b92b 100644
--- a/sc/source/ui/view/gridwin.cxx
+++ b/sc/source/ui/view/gridwin.cxx
@@ -5100,7 +5100,7 @@ void ScGridWindow::UpdateFormulaRange(SCCOL nX1, SCROW 
nY1, SCCOL nX2, SCROW nY2
 double nPPTX = mrViewData.GetPPTX();
 double nPPTY = mrViewData.GetPPTY();
 
-ScTableInfo aTabInfo;
+ScTableInfo aTabInfo(nY1, nY2);
 rDoc.FillInfo( aTabInfo, nX1, nY1, nX2, nY2, nTab, nPPTX, nPPTY, false, 
false );
 
 Fraction aZoomX = mrViewData.GetZoomX();
diff --git a/sc/source/ui/view/gridwin4

core.git: chart2/source

2024-01-22 Thread Noel Grandin (via logerrit)
 chart2/source/controller/main/ShapeController.cxx |2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

New commits:
commit 0ad94d52c022a0acb20be21b5a1dfcf445e12f0c
Author: Noel Grandin 
AuthorDate: Mon Jan 22 11:39:42 2024 +0200
Commit: Noel Grandin 
CommitDate: Mon Jan 22 12:31:20 2024 +0100

fix bug in renaming chart objects

introduced by
commit c5bb73cae7c172ad0f02f8c67dd57b53337f1d78
Author: Kohei Yoshida 
Date:   Tue Jan 31 16:03:46 2012 -0500
Get the whole thing to build after the method sig change in
SdrObject.

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

diff --git a/chart2/source/controller/main/ShapeController.cxx 
b/chart2/source/controller/main/ShapeController.cxx
index 97715b07c295..115229de0e57 100644
--- a/chart2/source/controller/main/ShapeController.cxx
+++ b/chart2/source/controller/main/ShapeController.cxx
@@ -440,7 +440,7 @@ void ShapeController::executeDispatch_RenameObject()
 if ( pDlg->Execute() == RET_OK )
 {
 pDlg->GetName(aName);
-if (pSelectedObj->GetName() == aName)
+if (pSelectedObj->GetName() != aName)
 {
 pSelectedObj->SetName( aName );
 }


core.git: sw/inc sw/source

2024-01-22 Thread Samuel Mehrbrodt (via logerrit)
 sw/inc/PostItMgr.hxx |4 +
 sw/source/uibase/docvw/PostItMgr.cxx |   84 +++
 sw/source/uibase/docvw/edtwin.cxx|   19 +++
 sw/source/uibase/inc/edtwin.hxx  |1 
 sw/source/uibase/misc/swruler.cxx|3 -
 5 files changed, 80 insertions(+), 31 deletions(-)

New commits:
commit b9368eab798a766b5a24658c783a6ee73dbf2caa
Author: Samuel Mehrbrodt 
AuthorDate: Mon Jan 22 10:57:06 2024 +0100
Commit: Samuel Mehrbrodt 
CommitDate: Mon Jan 22 12:19:47 2024 +0100

tdf#159145 Allow changing width of comment column on right border

not only on the ruler as implemented in 
ac2720dcbe4e51e7f6733a385b5f7b571c6431e9

Change-Id: Ib3709e97be312a7e20302ffa703e847f9efa3110
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/162365
Tested-by: Jenkins
Reviewed-by: Samuel Mehrbrodt 

diff --git a/sw/inc/PostItMgr.hxx b/sw/inc/PostItMgr.hxx
index ec6604c43a23..2278ae05ea6f 100644
--- a/sw/inc/PostItMgr.hxx
+++ b/sw/inc/PostItMgr.hxx
@@ -150,7 +150,8 @@ class SAL_DLLPUBLIC_RTTI SwPostItMgr final : public 
SfxListener
 bool ShowScrollbar(const tools::ULong aPage) const;
 bool HasNotes() const ;
 bool ShowNotes() const;
-void SetSidebarWidth(sal_uInt16 nPx);
+void SetSidebarWidth(Point aPoint);
+tools::Rectangle GetSidebarRect(const Point& rPointLogic);
 tools::ULong GetSidebarWidth(bool bPx = false) const;
 tools::ULong GetSidebarBorderWidth(bool bPx = false) const;
 
@@ -183,6 +184,7 @@ class SAL_DLLPUBLIC_RTTI SwPostItMgr final : public 
SfxListener
 bool IsHit(const Point &aPointPixel);
 /// Get the matching window that is responsible for handling mouse 
events of rPointLogic, if any.
 vcl::Window* IsHitSidebarWindow(const Point& rPointLogic);
+bool IsHitSidebarDragArea(const Point& rPointLogic);
 Color GetArrowColor(sal_uInt16 aDirection, tools::ULong aPage) const;
 
 sw::annotation::SwAnnotationWin* GetAnnotationWin(const SwPostItField* 
pField) const;
diff --git a/sw/source/uibase/docvw/PostItMgr.cxx 
b/sw/source/uibase/docvw/PostItMgr.cxx
index 24abcc14a2a5..7af447a63a5d 100644
--- a/sw/source/uibase/docvw/PostItMgr.cxx
+++ b/sw/source/uibase/docvw/PostItMgr.cxx
@@ -1979,32 +1979,25 @@ bool SwPostItMgr::ShowScrollbar(const tools::ULong 
aPage) const
 return false;
 }
 
-bool SwPostItMgr::IsHit(const Point &aPointPixel)
+bool SwPostItMgr::IsHit(const Point& aPointPixel)
 {
-if (HasNotes() && ShowNotes())
-{
-const Point aPoint = mpEditWin->PixelToLogic(aPointPixel);
-const SwRootFrame* pLayout = mpWrtShell->GetLayout();
-SwRect aPageFrame;
-const tools::ULong nPageNum = SwPostItHelper::getPageInfo( aPageFrame, 
pLayout, aPoint );
-if( nPageNum )
-{
-tools::Rectangle aRect;
-OSL_ENSURE(mPages.size()>nPageNum-1,"SwPostitMgr:: page container 
size wrong");
-aRect = mPages[nPageNum-1]->eSidebarPosition == 
sw::sidebarwindows::SidebarPosition::LEFT
-? 
tools::Rectangle(Point(aPageFrame.Left()-GetSidebarWidth()-GetSidebarBorderWidth(),aPageFrame.Top()),Size(GetSidebarWidth(),aPageFrame.Height()))
-: tools::Rectangle( 
Point(aPageFrame.Right()+GetSidebarBorderWidth(),aPageFrame.Top()) , 
Size(GetSidebarWidth(),aPageFrame.Height()));
-if (aRect.Contains(aPoint))
-{
-// we hit the note's sidebar
-// lets now test for the arrow area
-if (mPages[nPageNum-1]->bScrollbar)
-return ScrollbarHit(nPageNum,aPoint);
-else
-return false;
-}
-}
-}
+if (!HasNotes() || !ShowNotes())
+return false;
+
+const Point aPoint = mpEditWin->PixelToLogic(aPointPixel);
+tools::Rectangle aRect(GetSidebarRect(aPoint));
+if (!aRect.Contains(aPoint))
+return false;
+
+// we hit the note's sidebar
+// lets now test for the arrow area
+SwRect aPageFrame;
+const tools::ULong nPageNum
+= SwPostItHelper::getPageInfo(aPageFrame, mpWrtShell->GetLayout(), 
aPoint);
+if (!nPageNum)
+return false;
+if (mPages[nPageNum - 1]->bScrollbar)
+return ScrollbarHit(nPageNum, aPoint);
 return false;
 }
 
@@ -2038,6 +2031,38 @@ vcl::Window* SwPostItMgr::IsHitSidebarWindow(const 
Point& rPointLogic)
 return pRet;
 }
 
+tools::Rectangle SwPostItMgr::GetSidebarRect(const Point& rPointLogic)
+{
+const SwRootFrame* pLayout = mpWrtShell->GetLayout();
+SwRect aPageFrame;
+const tools::ULong nPageNum = SwPostItHelper::getPageInfo(aPageFrame, 
pLayout, rPointLogic);
+if (!nPageNum)
+return tools::Rectangle();
+
+OSL_ENSURE(mPages.size() > nPageNum - 1, "SwPostitMgr:: page container 
size wrong");
+return mPages[nPageNum - 1]->eSidebarPosition == 
sw::sidebarwindows::Sideb

core.git: helpcontent2

2024-01-22 Thread Olivier Hallot (via logerrit)
 helpcontent2 |2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

New commits:
commit 76c4baec02ce6427c2350eb25a3ca0e473e5492e
Author: Olivier Hallot 
AuthorDate: Mon Jan 22 07:54:50 2024 -0300
Commit: Gerrit Code Review 
CommitDate: Mon Jan 22 11:54:50 2024 +0100

Update git submodules

* Update helpcontent2 from branch 'master'
  to 724ae7f9e32fcd76b317d64657f26f35e75cb0a8
  - tdf#155875 UI cmds Format Text (cont)

+ Sentence case
+ Capitalize Every Word
+ toggle case
+ refactoring

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

diff --git a/helpcontent2 b/helpcontent2
index 3ca8deeebd0d..724ae7f9e32f 16
--- a/helpcontent2
+++ b/helpcontent2
@@ -1 +1 @@
-Subproject commit 3ca8deeebd0d2a5840ded258be060d59c2f2dd39
+Subproject commit 724ae7f9e32fcd76b317d64657f26f35e75cb0a8


help.git: AllLangHelp_shared.mk source/text

2024-01-22 Thread Olivier Hallot (via logerrit)
 AllLangHelp_shared.mk  |3 +
 source/text/shared/00/00040502.xhp |   39 +
 source/text/shared/01/ChangeCaseToSentenceCase.xhp |   33 +
 source/text/shared/01/ChangeCaseToTitleCase.xhp|   33 +
 source/text/shared/01/ChangeCaseToToggleCase.xhp   |   33 +
 source/text/shared/menu/submenu_text.xhp   |   22 +--
 6 files changed, 144 insertions(+), 19 deletions(-)

New commits:
commit 724ae7f9e32fcd76b317d64657f26f35e75cb0a8
Author: Olivier Hallot 
AuthorDate: Sun Jan 21 23:42:11 2024 -0300
Commit: Olivier Hallot 
CommitDate: Mon Jan 22 11:54:50 2024 +0100

tdf#155875 UI cmds Format Text (cont)

+ Sentence case
+ Capitalize Every Word
+ toggle case
+ refactoring

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

diff --git a/AllLangHelp_shared.mk b/AllLangHelp_shared.mk
index 888dbfb869..3f45ab5266 100644
--- a/AllLangHelp_shared.mk
+++ b/AllLangHelp_shared.mk
@@ -340,6 +340,9 @@ $(eval $(call gb_AllLangHelp_add_helpfiles,shared,\
 helpcontent2/source/text/shared/01/certificatepath \
 helpcontent2/source/text/shared/01/ChangeCaseRotateCase \
 helpcontent2/source/text/shared/01/ChangeCaseToLower \
+helpcontent2/source/text/shared/01/ChangeCaseToSentenceCase \
+helpcontent2/source/text/shared/01/ChangeCaseToTitleCase \
+helpcontent2/source/text/shared/01/ChangeCaseToToggleCase \
 helpcontent2/source/text/shared/01/ChangeCaseToUpper \
 helpcontent2/source/text/shared/01/classificationbar \
 helpcontent2/source/text/shared/01/classificationdialog \
diff --git a/source/text/shared/00/00040502.xhp 
b/source/text/shared/00/00040502.xhp
index 9690770705..d3f33fc152 100644
--- a/source/text/shared/00/00040502.xhp
+++ b/source/text/shared/00/00040502.xhp
@@ -707,6 +707,45 @@
 
 
 
+
+
+Choose 
Format - Text - Sentence case.
+
+
+
+On the 
Text menu of the Text tab, choose 
Sentence Case.
+
+
+On the 
Home menu of the Home tab, choose 
Sentence Case.
+
+
+
+
+
+Choose 
Format - Text - Capitalize Every Word.
+
+
+
+On the 
Text menu of the Text tab, choose 
Capitalize Every Word.
+
+
+On the 
Home menu of the Home tab, choose 
Capitalize Every Word.
+
+
+
+
+
+Choose 
Format - Text - tOGGLE cASE.
+
+
+
+On the 
Text menu of the Text tab, choose 
tOGGLE cASE.
+
+
+On the 
Home menu of the Home tab, choose 
tOGGLE cASE.
+
+
+
 
 Choose Format 
- Spacing.
 
diff --git a/source/text/shared/01/ChangeCaseToSentenceCase.xhp 
b/source/text/shared/01/ChangeCaseToSentenceCase.xhp
new file mode 100644
index 00..29135c0a82
--- /dev/null
+++ b/source/text/shared/01/ChangeCaseToSentenceCase.xhp
@@ -0,0 +1,33 @@
+
+
+
+
+
+
+Sentence Case
+/text/shared/01/ChangeCaseToSentenceCase.xhp
+
+
+
+
+
+
+
+
+
+
+Sentence 
Case
+Changes the 
first letter of the selected characters to an uppercase 
character.
+
+
+
+
+
+
diff --git a/source/text/shared/01/ChangeCaseToTitleCase.xhp 
b/source/text/shared/01/ChangeCaseToTitleCase.xhp
new file mode 100644
index 00..0628db4ac3
--- /dev/null
+++ b/source/text/shared/01/ChangeCaseToTitleCase.xhp
@@ -0,0 +1,33 @@
+
+
+
+
+
+
+Capitalize Every Word
+/text/shared/01/ChangeCaseToTitleCase.xhp
+
+
+
+
+
+
+
+
+
+
+Capitalize Every 
Word
+Changes the first 
character of each selected word to an uppercase character.
+
+
+
+
+
+
diff --git a/source/text/shared/01/ChangeCaseToToggleCase.xhp 
b/source/text/shared/01/ChangeCaseToToggleCase.xhp
new file mode 100644
index 00..b03b399bc6
--- /dev/null
+++ b/source/text/shared/01/ChangeCaseToToggleCase.xhp
@@ -0,0 +1,33 @@
+
+
+
+
+
+
+tOGGLE cASE
+/text/shared/01/ChangeCaseToToggleCase.xhp
+
+
+
+
+
+
+
+
+
+
+tOGGLE 
cASE
+Toggles case 
of all selected characters.
+
+
+
+
+
+
diff --git a/source/text/shared/menu/submenu_text.xhp 
b/source/text/shared/menu/submenu_text.xhp
index a6c93ebb2b..01ef2be982 100644
--- a/source/text/shared/menu/submenu_text.xhp
+++ b/source/text/shared/menu/submenu_text.xhp
@@ -65,26 +65,10 @@
 
 
 
+
+
+
 
-
-
-Sentence case
-
-Changes the first letter of the selected characters to an 
uppercase character.
-
-
-
-Capitalize Every 
Word
-
-
-
-
-
-
-tOGGLE cASE
-
-Toggl

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

2024-01-22 Thread Bayram Çiçek (via logerrit)
 sc/sdi/scalc.sdi   |2 
 sc/source/ui/attrdlg/scdlgfact.cxx |7 +
 sc/source/ui/attrdlg/scdlgfact.hxx |5 -
 sc/source/ui/inc/viewfunc.hxx  |3 
 sc/source/ui/view/tabvwshf.cxx |  160 +++--
 sc/source/ui/view/viewfun2.cxx |   61 +-
 6 files changed, 188 insertions(+), 50 deletions(-)

New commits:
commit 4d5f8b43b04734805f48b921b98a74fd9ab67d0f
Author: Bayram Çiçek 
AuthorDate: Tue Oct 17 11:48:18 2023 +0300
Commit: Gökay ŞATIR 
CommitDate: Mon Jan 22 11:44:25 2024 +0100

sc: make inactive sheets movable and copyable

- move and copy use the same ScViewFunc::MoveTable
function
- added 3 new parameters to "SfxVoidItem Move FID_TAB_MOVE"
  - SfxBoolItem FromContextMenu FN_PARAM_4,
  - SfxUInt16Item ContextMenuIndex FN_PARAM_5,
  - SfxBoolItem MoveOrCopySheetDialog FN_PARAM_6
- moveLeft and moveRight of inactive tabs are implemented
- move and copy of inactive tabs from the Move/Copy Sheet
dialog are implemented
- made Move/Copy Sheet dialog async

Change-Id: I97461780a6c46f601bce9490315cd5cbea9505d4
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/158078
Tested-by: Jenkins CollaboraOffice 
Reviewed-by: Gökay ŞATIR 

diff --git a/sc/sdi/scalc.sdi b/sc/sdi/scalc.sdi
index c62c8c549d10..db3832133b70 100644
--- a/sc/sdi/scalc.sdi
+++ b/sc/sdi/scalc.sdi
@@ -3598,7 +3598,7 @@ SfxVoidItem Mirror SID_OBJECT_MIRROR
 
 
 SfxVoidItem Move FID_TAB_MOVE
-(SfxStringItem DocName FID_TAB_MOVE,SfxUInt16Item Index FN_PARAM_1,SfxBoolItem 
Copy FN_PARAM_2,SfxBoolItem UseCurrentDocument FN_PARAM_3)
+(SfxStringItem DocName FID_TAB_MOVE,SfxUInt16Item Index FN_PARAM_1,SfxBoolItem 
Copy FN_PARAM_2,SfxBoolItem UseCurrentDocument FN_PARAM_3,SfxBoolItem 
FromContextMenu FN_PARAM_4,SfxUInt16Item ContextMenuIndex 
FN_PARAM_5,SfxBoolItem MoveOrCopySheetDialog FN_PARAM_6)
 [
 AutoUpdate = FALSE,
 FastCall = FALSE,
diff --git a/sc/source/ui/attrdlg/scdlgfact.cxx 
b/sc/source/ui/attrdlg/scdlgfact.cxx
index 0eca6bafb8a7..648f178dc312 100644
--- a/sc/source/ui/attrdlg/scdlgfact.cxx
+++ b/sc/source/ui/attrdlg/scdlgfact.cxx
@@ -214,6 +214,11 @@ short AbstractScMoveTableDlg_Impl::Execute()
 return m_xDlg->run();
 }
 
+bool 
AbstractScMoveTableDlg_Impl::StartExecuteAsync(VclAbstractDialog::AsyncContext& 
rCtx)
+{
+return weld::DialogController::runAsync(m_xDlg, rCtx.maEndDialogFn);
+}
+
 BitmapEx AbstractScMoveTableDlg_Impl::createScreenshot() const
 {
 VclPtr xDialogSurface(m_xDlg->getDialog()->screenshot());
@@ -1161,7 +1166,7 @@ VclPtr 
ScAbstractDialogFactory_Impl::CreateScMetricInp
 VclPtr 
ScAbstractDialogFactory_Impl::CreateScMoveTableDlg(weld::Window* pParent,
 const OUString& rDefault)
 {
-return 
VclPtr::Create(std::make_unique(pParent,
 rDefault));
+return 
VclPtr::Create(std::make_shared(pParent,
 rDefault));
 }
 
 VclPtr 
ScAbstractDialogFactory_Impl::CreateScNameCreateDlg(weld::Window * pParent, 
CreateNameFlags nFlags)
diff --git a/sc/source/ui/attrdlg/scdlgfact.hxx 
b/sc/source/ui/attrdlg/scdlgfact.hxx
index e39428018287..e92a4e70e361 100644
--- a/sc/source/ui/attrdlg/scdlgfact.hxx
+++ b/sc/source/ui/attrdlg/scdlgfact.hxx
@@ -361,13 +361,14 @@ public:
 
 class AbstractScMoveTableDlg_Impl : public AbstractScMoveTableDlg
 {
-std::unique_ptr m_xDlg;
+std::shared_ptr m_xDlg;
 public:
-explicit AbstractScMoveTableDlg_Impl(std::unique_ptr p)
+explicit AbstractScMoveTableDlg_Impl(std::shared_ptr p)
 : m_xDlg(std::move(p))
 {
 }
 virtual short Execute() override;
+virtual bool StartExecuteAsync(VclAbstractDialog::AsyncContext& rCtx) 
override;
 virtual sal_uInt16  GetSelectedDocument () const override;
 virtual sal_uInt16  GetSelectedTable() const override;
 virtual boolGetCopyTable() const override;
diff --git a/sc/source/ui/inc/viewfunc.hxx b/sc/source/ui/inc/viewfunc.hxx
index a62406020de5..f2a4111c72b1 100644
--- a/sc/source/ui/inc/viewfunc.hxx
+++ b/sc/source/ui/inc/viewfunc.hxx
@@ -271,7 +271,8 @@ public:
 voidDeleteTables(SCTAB nTab, SCTAB nSheets);
 
 boolRenameTable( const OUString& rName, SCTAB nTabNr );
-voidMoveTable( sal_uInt16 nDestDocNo, SCTAB nDestTab, bool 
bCopy, const OUString* pNewTabName = nullptr );
+voidMoveTable( sal_uInt16 nDestDocNo, SCTAB nDestTab, bool 
bCopy, const OUString* pNewTabName = nullptr,
+   bool bContextMenu = false, SCTAB 
nContextMenuSourceTab = -1 );
 voidImportTables( ScDocShell* pSrcShell,
 SCTAB nCount, const SCTAB* pSrcTabs,
 bool bLink,SCTAB nTab);
diff --git a/sc/source/ui/view/tabvwshf.cxx b/sc/source/ui/view/tabvwshf.cxx
index b3db07466984..1533094eccda 100644
--- a/sc/source/ui/view/tabvwshf.cxx
+++ b/sc/source/ui/view/tabvwshf.cxx
@@ -463,

core.git: sw/qa writerfilter/source

2024-01-22 Thread Justin Luth (via logerrit)
 sw/qa/extras/ooxmlexport/ooxmlexport18.cxx|4 ++--
 writerfilter/source/dmapper/GraphicImport.cxx |2 +-
 2 files changed, 3 insertions(+), 3 deletions(-)

New commits:
commit bd9178ad31051de316092ec062b9f378c8a19852
Author: Justin Luth 
AuthorDate: Wed Jan 17 14:43:09 2024 -0500
Commit: Miklos Vajna 
CommitDate: Mon Jan 22 11:37:14 2024 +0100

tdf#159158 writerfilter: relativeHeight max allowed value

relativeHeight treats its content as unSigned values,
but it needs to share the zOrder with z-index
which is a signed value (negatives indicating the belowDoc position).

Thus, it is logical that relativeHeight would have a maximum
value, and based on trial and error it was determined
to be 1DFF  for DOCX.

Change-Id: If3fc16061730fb034c187ce4f639e1b2e50e044f
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/162233
Tested-by: Jenkins
Reviewed-by: Justin Luth 
Reviewed-by: Miklos Vajna 

diff --git a/sw/qa/extras/ooxmlexport/ooxmlexport18.cxx 
b/sw/qa/extras/ooxmlexport/ooxmlexport18.cxx
index 40c4a42d4e8c..d83498b4427c 100644
--- a/sw/qa/extras/ooxmlexport/ooxmlexport18.cxx
+++ b/sw/qa/extras/ooxmlexport/ooxmlexport18.cxx
@@ -945,8 +945,8 @@ DECLARE_OOXMLEXPORT_TEST(testTdf159158_zOrder_max, 
"tdf159158_zOrder_max.docx")
 CPPUNIT_ASSERT_EQUAL(sal_Int32(0), getProperty(zOrder0, 
"ZOrder")); // lower
 CPPUNIT_ASSERT_EQUAL(sal_Int32(1), getProperty(zOrder1, 
"ZOrder")); // higher
 // while yellow is a higher value, last duplicate wins, so lower value 
blue must be the maximum
-// CPPUNIT_ASSERT_EQUAL(OUString("5-Point Star Yellow"), 
getProperty(zOrder0, "Name"));
-// CPPUNIT_ASSERT_EQUAL(OUString("5-Point Star Blue"), 
getProperty(zOrder1,"Name"));
+CPPUNIT_ASSERT_EQUAL(OUString("5-Point Star Yellow"), 
getProperty(zOrder0, "Name"));
+CPPUNIT_ASSERT_EQUAL(OUString("5-Point Star Blue"), 
getProperty(zOrder1,"Name"));
 }
 
 DECLARE_OOXMLEXPORT_TEST(testTdf159158_zOrder_zIndexMax, 
"tdf159158_zOrder_zIndexMax.docx")
diff --git a/writerfilter/source/dmapper/GraphicImport.cxx 
b/writerfilter/source/dmapper/GraphicImport.cxx
index cacae807b48d..93ef346dcc99 100644
--- a/writerfilter/source/dmapper/GraphicImport.cxx
+++ b/writerfilter/source/dmapper/GraphicImport.cxx
@@ -741,7 +741,7 @@ void GraphicImport::lcl_attribute(Id nName, Value& rValue)
 {
 // undocumented - based on testing: both 0 and 1 are equivalent to 
the maximum 503316479
 const sal_Int32 nMaxAllowed = 0x1DFF;
-if (nIntValue < 2/* || nIntValue > nMaxAllowed*/)
+if (nIntValue < 2 || nIntValue > nMaxAllowed)
 m_pImpl->m_zOrder = nMaxAllowed;
 else
 m_pImpl->m_zOrder = nIntValue;


core.git: sw/source

2024-01-22 Thread Michael Stahl (via logerrit)
 sw/source/core/layout/trvlfrm.cxx |   12 ++--
 1 file changed, 6 insertions(+), 6 deletions(-)

New commits:
commit 0b9d6406a40fe890ea003f8e503c4aca6f65c2e6
Author: Michael Stahl 
AuthorDate: Thu Jan 18 18:21:30 2024 +0100
Commit: Michael Stahl 
CommitDate: Mon Jan 22 11:29:42 2024 +0100

tdf#137839 sw: add drawing shapes anchored in selection to overlay

This is mostly a UI problem: if text is selected, then any objects
anchored in the selection are implicitly selected as well.

Unfortunately only fly frames are painted with the selection overlay,
but there doesn't seem to be a reason not to paint the SdrObjects as
well.

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

diff --git a/sw/source/core/layout/trvlfrm.cxx 
b/sw/source/core/layout/trvlfrm.cxx
index 423c5137fb78..fb8deceb774b 100644
--- a/sw/source/core/layout/trvlfrm.cxx
+++ b/sw/source/core/layout/trvlfrm.cxx
@@ -2630,10 +2630,8 @@ void SwRootFrame::CalcFrameRects(SwShellCursor const& 
rCursor, SwRects & rRects,
 for (SwAnchoredObject* pAnchoredObj : rObjs)
 {
 const SwFlyFrame* pFly = pAnchoredObj->DynCastFlyFrame();
-if ( !pFly )
-continue;
-const SwVirtFlyDrawObj* pObj = pFly->GetVirtDrawObj();
-const SwFormatSurround &rSur = 
pFly->GetFormat()->GetSurround();
+SdrObject const*const pObj(pAnchoredObj->GetDrawObj());
+SwFormatSurround const& 
rSur(pAnchoredObj->GetFrameFormat()->GetSurround());
 SwFormatAnchor const& 
rAnchor(pAnchoredObj->GetFrameFormat()->GetAnchor());
 const SwPosition* anchoredAt = rAnchor.GetContentAnchor();
 bool inSelection = (
@@ -2643,8 +2641,10 @@ void SwRootFrame::CalcFrameRects(SwShellCursor const& 
rCursor, SwRects & rRects,
 || (rAnchor.GetAnchorId() == RndStdIds::FLY_AT_PARA
 && IsSelectFrameAnchoredAtPara(*anchoredAt, 
*pStartPos, *pEndPos;
 if (eMode != RectsMode::NoAnchoredFlys && inSelection)
-Add( aRegion, pFly->getFrameArea() );
-else if ( !pFly->IsAnLower( pStartFrame ) &&
+{
+Add(aRegion, pAnchoredObj->GetObjRect());
+}
+else if (pFly && !pFly->IsAnLower(pStartFrame) &&
 (rSur.GetSurround() != css::text::WrapTextMode_THROUGH &&
 !rSur.IsContour()) )
 {


core.git: Branch 'libreoffice-24-2' - sw/CppunitTest_sw_ooxmlexport21.mk sw/Module_sw.mk sw/qa writerfilter/source

2024-01-22 Thread Justin Luth (via logerrit)
 sw/CppunitTest_sw_ooxmlexport21.mk  |   14 +++
 sw/Module_sw.mk |1 
 sw/qa/extras/ooxmlexport/data/tdf153909_followTextFlow.docx |binary
 sw/qa/extras/ooxmlexport/ooxmlexport21.cxx  |   50 
 writerfilter/source/ooxml/OOXMLFastContextHandler.cxx   |   14 +++
 5 files changed, 78 insertions(+), 1 deletion(-)

New commits:
commit 51a1ce9ca77c7559957abd8daf2e51b2e0f5d17b
Author: Justin Luth 
AuthorDate: Fri Jan 19 13:50:36 2024 -0500
Commit: Miklos Vajna 
CommitDate: Mon Jan 22 11:24:51 2024 +0100

tdf#153909 docx import: wrap through shapes shouldn't FollowTextFlow

This resolves a NISZ 6.4.0 regression from
commit 27d04f6dbf38aa28fb7215590d578c4567db5770
tdf#119038 DOCX: fix FollowTextFlow handling

MSO is all over the place in how they implement layoutInCell
(aka FollowTextFlow in LO). There are lots of compat15 differences
for this, but I don't notice compat coming into play with this bug.

For reference, see commit e993638d5ecd33783f2eebdccfa87a81e5a8a2c5
Author: Miklos Vajna on Mon Jan 24 12:53:25 2022 +0100
DOCX import: fix  with 

I'm sure this is the WRONG code spot for handling FollowTextFlow,
but anywhere else and we lose the "it came from a vml shape"
limiting information, so I'm not going to try to relocate this code.

Inline (as-character) shapes ignore layoutInCell,
so the type of anchor (floating or inline) shouldn't matter
and therefore doesn't need to be part of the if () clause.

The header can be special (in compat14 it means everything
is wrap through), but at least in this case it is not limited
to IsInHeaderHeader. Using a non-header as the unit test.

make CppunitTest_sw_ooxmlexport21 \
CPPUNIT_TEST_NAME=testTdf153909_followTextFlow

The first patchset contains a list of all of the unit tests
that were impacted by this patch: nothing interesting.

Change-Id: I0c4c7924833550533ad1b0b7609840a666d4d589
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/162324
Reviewed-by: Justin Luth 
Tested-by: Jenkins
(cherry picked from commit ad0266eb84eafa32ccc4e0ddf3c6392860bc9b13)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/162286
Reviewed-by: Miklos Vajna 

diff --git a/sw/CppunitTest_sw_ooxmlexport21.mk 
b/sw/CppunitTest_sw_ooxmlexport21.mk
new file mode 100644
index ..999314b9c6c4
--- /dev/null
+++ b/sw/CppunitTest_sw_ooxmlexport21.mk
@@ -0,0 +1,14 @@
+# -*- Mode: makefile-gmake; tab-width: 4; indent-tabs-mode: t -*-
+#*
+#
+# This file is part of the LibreOffice project.
+#
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+#
+#*
+
+$(eval $(call sw_ooxmlexport_test,21))
+
+# vim: set noet sw=4 ts=4:
diff --git a/sw/Module_sw.mk b/sw/Module_sw.mk
index 85d36b1ab514..7d5679e52f3c 100644
--- a/sw/Module_sw.mk
+++ b/sw/Module_sw.mk
@@ -95,6 +95,7 @@ $(eval $(call gb_Module_add_slowcheck_targets,sw,\
 CppunitTest_sw_ooxmlexport18 \
 CppunitTest_sw_ooxmlexport19 \
 CppunitTest_sw_ooxmlexport20 \
+CppunitTest_sw_ooxmlexport21 \
 CppunitTest_sw_ooxmlexport_template \
 CppunitTest_sw_ooxmlfieldexport \
 CppunitTest_sw_ooxmllinks \
diff --git a/sw/qa/extras/ooxmlexport/data/tdf153909_followTextFlow.docx 
b/sw/qa/extras/ooxmlexport/data/tdf153909_followTextFlow.docx
new file mode 100644
index ..712e37aceabd
Binary files /dev/null and 
b/sw/qa/extras/ooxmlexport/data/tdf153909_followTextFlow.docx differ
diff --git a/sw/qa/extras/ooxmlexport/ooxmlexport21.cxx 
b/sw/qa/extras/ooxmlexport/ooxmlexport21.cxx
new file mode 100644
index ..3a5ae1f394ea
--- /dev/null
+++ b/sw/qa/extras/ooxmlexport/ooxmlexport21.cxx
@@ -0,0 +1,50 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ */
+
+#include 
+
+#include 
+#include 
+#include 
+#include 
+#include 
+
+#include 
+#include 
+#include 
+
+namespace
+{
+class Test : public SwModelTestBase
+{
+public:
+Test()
+: SwModelTestBase("/sw/qa/extras/ooxmlexport/data/", "Office Open XML 
Text")
+{
+}
+};
+
+DECLARE_OOXMLEXPORT_TEST(testTdf153909_followTextFlow, 
"tdf153909_followTextFlow.docx")
+{
+// Although MSO's UI reports "layoutInCell" for the rectangle, it isn't 
specified or honored
+CPPUNIT_ASSERT(!getProper

New Defects reported by Coverity Scan for LibreOffice

2024-01-22 Thread scan-admin
Hi,

Please find the latest report on new defect(s) introduced to LibreOffice found 
with Coverity Scan.

3 new defect(s) introduced to LibreOffice found with Coverity Scan.
29 defect(s), reported by Coverity Scan earlier, were marked fixed in the 
recent build analyzed by Coverity Scan.

New defect(s) Reported-by: Coverity Scan
Showing 3 of 3 defect(s)


** CID 1586677:  Low impact quality  (MISSING_MOVE_ASSIGNMENT)
/include/rtl/string.hxx: 191 in ()



*** CID 1586677:  Low impact quality  (MISSING_MOVE_ASSIGNMENT)
/include/rtl/string.hxx: 191 in ()
185 
186   The design of this class is similar to the string classes in Java
187   and so more people should have fewer understanding problems when they
188   use this class.
189 */
190 
>>> CID 1586677:  Low impact quality  (MISSING_MOVE_ASSIGNMENT)
>>> Class "rtl::OString" may benefit from adding a move assignment 
>>> operator. See other events which show the copy assignment operator being 
>>> applied to rvalues, where a move assignment may be faster.
191 class SAL_WARN_UNUSED SAL_DLLPUBLIC_RTTI OString
192 {
193 public:
194 /// @cond INTERNAL
195 rtl_String * pData;
196 /// @endcond

** CID 1586676:  Performance inefficiencies  (PASS_BY_VALUE)
/workdir/UnpackedTarball/frozen/include/frozen/unordered_set.h: 77 in 
frozen::unordered_set>, (unsigned long)14, 
frozen::elsa>>, 
std::equal_to>>>::unordered_set(frozen::bits::carray>, (unsigned long)14>, const 
frozen::elsa>> &, 
const std::equal_to>> &)()



*** CID 1586676:  Performance inefficiencies  (PASS_BY_VALUE)
/workdir/UnpackedTarball/frozen/include/frozen/unordered_set.h: 77 in 
frozen::unordered_set>, (unsigned long)14, 
frozen::elsa>>, 
std::equal_to>>>::unordered_set(frozen::bits::carray>, (unsigned long)14>, const 
frozen::elsa>> &, 
const std::equal_to>> &)()
71   using const_iterator = const_pointer;
72   using iterator = const_iterator;
73 
74 public:
75   /* constructors */
76   unordered_set(unordered_set const &) = default;
>>> CID 1586676:  Performance inefficiencies  (PASS_BY_VALUE)
>>> Passing parameter keys of type 
>>> "frozen::unordered_set>> std::char_traits >, 14ul, 
>>> frozen::elsa > 
>>> >, std::equal_to>> std::char_traits > > >::container_type" (size 224 bytes) by 
>>> value, which exceeds the low threshold of 128 bytes.
77   constexpr unordered_set(container_type keys, Hash const &hash,
78   KeyEqual const &equal)
79   : equal_{equal}
80   , keys_{keys}
81   , tables_{bits::make_pmh_tables(
82 keys_, hash, bits::Get{}, default_prg_t{})} {}

** CID 1586675:  Low impact quality  (MISSING_MOVE_ASSIGNMENT)
/include/rtl/ustring.hxx: 170 in ()



*** CID 1586675:  Low impact quality  (MISSING_MOVE_ASSIGNMENT)
/include/rtl/ustring.hxx: 170 in ()
164   functionalities and avoids too much memory allocation.
165 
166   The design of this class is similar to the string classes in Java so
167   less people should have understanding problems when they use this 
class.
168 */
169 
>>> CID 1586675:  Low impact quality  (MISSING_MOVE_ASSIGNMENT)
>>> Class "rtl::OUString" may benefit from adding a move assignment 
>>> operator. See other events which show the copy assignment operator being 
>>> applied to rvalues, where a move assignment may be faster.
170 class SAL_WARN_UNUSED SAL_DLLPUBLIC_RTTI OUString
171 {
172 public:
173 /// @cond INTERNAL
174 rtl_uString * pData;
175 /// @endcond



To view the defects in Coverity Scan visit, 
https://u15810271.ct.sendgrid.net/ls/click?upn=HRESupC-2F2Czv4BOaCWWCy7my0P0qcxCbhZ31OYv50ypSs1kiFPuCn2xFdlMIFBirii0zZ9j2-2F9F2XPBcBm2BNnPiSHxWPOELPnIxzXoBNaw-3DokP__OTq2XUZbbipYjyLSo6GRo-2FpVxQ9OzkDINu9UTS-2FQhSdO0F0jQniitrGlNxDIzPJiBq57mMQEVtuAdBaxLBfjo7rODALKx71sJkVhbvUlxq4S6r-2FAmZlhPS82Bppp4qpJL9O0ChWUUgXWYB4Lb1kJ1ifrfM3OGXwMA7i-2F9VJvjS9kJWy9ijbuFuv7twJwDIXg138-2B9DE6bWTiiqFgRmr4WdKR8lQ2k5uWlWjIkL3LChQ-3D



core.git: include/cppuhelper

2024-01-22 Thread Stephan Bergmann (via logerrit)
 include/cppuhelper/shlib.hxx   |5 -
 include/cppuhelper/supportsservice.hxx |5 -
 include/cppuhelper/typeprovider.hxx|5 -
 include/cppuhelper/unourl.hxx  |5 -
 include/cppuhelper/weak.hxx|5 -
 include/cppuhelper/weakagg.hxx |5 -
 include/cppuhelper/weakref.hxx |5 -
 7 files changed, 28 insertions(+), 7 deletions(-)

New commits:
commit 54716495a19d5717ec7fdee47d48773148754efa
Author: Stephan Bergmann 
AuthorDate: Mon Jan 22 08:34:39 2024 +0100
Commit: Stephan Bergmann 
CommitDate: Mon Jan 22 09:56:41 2024 +0100

Revert "tdf#143148: Use pragma once instead of include guards"

This reverts commit eb9e4e7a6c7d11698a64489e22974574daabe823, see the note 
in
the original description of
 "Use pragma 
once
instead of include guards (Episode 2: Endgame)":  "There are some source 
files
containing include guards that are meant to also be processed by compilers 
other
than LO's build baseline compilers:  All URE include files [...]  For those
source files, it is probably better to conservatively stick with include 
guards
than to replace them with #pragma once."

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

diff --git a/include/cppuhelper/shlib.hxx b/include/cppuhelper/shlib.hxx
index e91862425166..07caef0eaa0d 100644
--- a/include/cppuhelper/shlib.hxx
+++ b/include/cppuhelper/shlib.hxx
@@ -20,7 +20,8 @@
 /*
  * This file is part of LibreOffice published API.
  */
-#pragma once
+#ifndef INCLUDED_CPPUHELPER_SHLIB_HXX
+#define INCLUDED_CPPUHELPER_SHLIB_HXX
 
 #include "cppuhelper/cppuhelperdllapi.h"
 #include "com/sun/star/uno/Reference.h"
@@ -81,4 +82,6 @@ SAL_CALL writeSharedLibComponentInfo(
 
 } // end namespace cppu
 
+#endif
+
 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/include/cppuhelper/supportsservice.hxx 
b/include/cppuhelper/supportsservice.hxx
index 7d5bedb8270b..8834a3181f0b 100644
--- a/include/cppuhelper/supportsservice.hxx
+++ b/include/cppuhelper/supportsservice.hxx
@@ -11,7 +11,8 @@
  * This file is part of LibreOffice published API.
  */
 
-#pragma once
+#ifndef INCLUDED_CPPUHELPER_SUPPORTSSERVICE_HXX
+#define INCLUDED_CPPUHELPER_SUPPORTSSERVICE_HXX
 
 #include "sal/config.h"
 
@@ -47,4 +48,6 @@ bool CPPUHELPER_DLLPUBLIC supportsService(
 
 }
 
+#endif
+
 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/include/cppuhelper/typeprovider.hxx 
b/include/cppuhelper/typeprovider.hxx
index e5590852e438..4c3bd99d1bb8 100644
--- a/include/cppuhelper/typeprovider.hxx
+++ b/include/cppuhelper/typeprovider.hxx
@@ -20,7 +20,8 @@
 /*
  * This file is part of LibreOffice published API.
  */
-#pragma once
+#ifndef INCLUDED_CPPUHELPER_TYPEPROVIDER_HXX
+#define INCLUDED_CPPUHELPER_TYPEPROVIDER_HXX
 
 #include "sal/config.h"
 
@@ -226,4 +227,6 @@ SAL_WNODEPRECATED_DECLARATIONS_POP
 
 }
 
+#endif
+
 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/include/cppuhelper/unourl.hxx b/include/cppuhelper/unourl.hxx
index 7f33abcd8843..45afaedad2e9 100644
--- a/include/cppuhelper/unourl.hxx
+++ b/include/cppuhelper/unourl.hxx
@@ -21,7 +21,8 @@
  * This file is part of LibreOffice published API.
  */
 
-#pragma once
+#ifndef INCLUDED_CPPUHELPER_UNOURL_HXX
+#define INCLUDED_CPPUHELPER_UNOURL_HXX
 
 #include "sal/config.h"
 
@@ -182,4 +183,6 @@ private:
 };
 }
 
+#endif // INCLUDED_RTL_UNOURL_HXX
+
 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/include/cppuhelper/weak.hxx b/include/cppuhelper/weak.hxx
index bc87548f2fa9..a1a920ce4193 100644
--- a/include/cppuhelper/weak.hxx
+++ b/include/cppuhelper/weak.hxx
@@ -20,7 +20,8 @@
 /*
  * This file is part of LibreOffice published API.
  */
-#pragma once
+#ifndef INCLUDED_CPPUHELPER_WEAK_HXX
+#define INCLUDED_CPPUHELPER_WEAK_HXX
 
 #include 
 #include 
@@ -178,4 +179,6 @@ static inline css::uno::XWeak* getXWeak(OWeakObject* 
instance) { return instance
 
 }
 
+#endif
+
 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/include/cppuhelper/weakagg.hxx b/include/cppuhelper/weakagg.hxx
index a0f94f4433dd..0b770a42842b 100644
--- a/include/cppuhelper/weakagg.hxx
+++ b/include/cppuhelper/weakagg.hxx
@@ -20,7 +20,8 @@
 /*
  * This file is part of LibreOffice published API.
  */
-#pragma once
+#ifndef INCLUDED_CPPUHELPER_WEAKAGG_HXX
+#define INCLUDED_CPPUHELPER_WEAKAGG_HXX
 
 #include "cppuhelper/weak.hxx"
 #include "cppuhelper/weakref.hxx"
@@ -101,4 +102,6 @@ private:
 
 }
 
+#endif
+
 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/include/cppuhelper/weakref.hxx b/include/cppuhelper/weakref.hxx
index 4f6afb319ee1..a5858b2e8805 100644
--- a/include/cppuhelper/weakref.hxx
+++ b/include/cppuhelper/weakref.hxx
@@ -20,7 +20,8 @@
 /*
  * This file

core.git: sw/source

2024-01-22 Thread Caolán McNamara (via logerrit)
 sw/source/filter/xml/xmlimp.cxx |   18 ++
 1 file changed, 18 insertions(+)

New commits:
commit 91ebb47f86d91f71c3e490976ee5560d18bfb3be
Author: Caolán McNamara 
AuthorDate: Sun Jan 21 20:52:31 2024 +
Commit: Caolán McNamara 
CommitDate: Mon Jan 22 09:37:12 2024 +0100

ofz#66044 Timeout

its not very interesting to find that long paragraphs are slow to
render

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

diff --git a/sw/source/filter/xml/xmlimp.cxx b/sw/source/filter/xml/xmlimp.cxx
index ba7afc80ee8c..578ef0ee0bcb 100644
--- a/sw/source/filter/xml/xmlimp.cxx
+++ b/sw/source/filter/xml/xmlimp.cxx
@@ -1843,6 +1843,24 @@ extern "C" SAL_DLLPUBLIC_EXPORT bool 
TestPDFExportFODT(SvStream &rStream)
 uno::Reference xFODTFilter(xInterface, 
uno::UNO_QUERY_THROW);
 bool ret = xFODTFilter->filter(aArgs);
 
+if (ret)
+{
+uno::Reference xTextDocument(xModel, 
uno::UNO_QUERY);
+uno::Reference xText(xTextDocument->getText());
+uno::Reference xParaAccess(xText, 
uno::UNO_QUERY);
+uno::Reference 
xParaEnum(xParaAccess->createEnumeration());
+while (xParaEnum->hasMoreElements())
+{
+uno::Reference xPara(xParaEnum->nextElement(), 
uno::UNO_QUERY);
+// discourage very long paragraphs for fuzzing performance
+if (xPara && xPara->getString().getLength() > 15000)
+{
+ret = false;
+break;
+}
+}
+}
+
 if (ret)
 {
 css::uno::Reference 
xController(xModel->createDefaultViewController(xTargetFrame), UNO_SET_THROW);


Re: Odd setup.ini and version.ini content on Windows

2024-01-22 Thread Stephan Bergmann

On 1/15/24 09:41, Stephan Bergmann wrote:
[...]
I would like to get rid of these differences, and created four Gerrit 
changes that would simply remove all of these problematic ini-file 
entries, see


*  "Remove 
(Windows-only) MsiProductVersion from version.ini"
*  "Remove 
(Windows-only) ProductCode from setup.ini and version.ini"
*  "Remove 
(Windows-only) UpgradeCode from setup.ini and version.ini"
*  "Remove 
(Windows-only) INIFILETABLE entries from setup.ini"


It very much looks to me like all of those entries are unused anyway (as 
detailed in the Gerrit changes' commit messages), but I may easily have 
missed something, of course.  Therefore:


Does anybody know if any of those ini-file entries would still be needed 
today?


I pushed the above four commits to master now.


core.git: 2 commits - scp2/source solenv/bin

2024-01-22 Thread Stephan Bergmann (via logerrit)
 scp2/source/ooo/common_brand.scp |  108 
 solenv/bin/modules/installer.pm  |6 -
 solenv/bin/modules/installer/scriptitems.pm  |3 
 solenv/bin/modules/installer/windows/inifile.pm  |  124 ---
 solenv/bin/modules/installer/windows/property.pm |6 -
 5 files changed, 1 insertion(+), 246 deletions(-)

New commits:
commit 007a0ddeb02188a207b40b9a4438a37aebd81b60
Author: Stephan Bergmann 
AuthorDate: Fri Jan 12 17:35:52 2024 +0100
Commit: Stephan Bergmann 
CommitDate: Mon Jan 22 09:33:52 2024 +0100

Remove (Windows-only) INIFILETABLE entries from setup.ini

(See a31f334d36b5735ba6fc8d0f89e834a73bdcc561 "Windows MAR update issues 
with
program/{setup,version}.ini" for why this cleanup is needed.)

It is unclear to me why these entries would be needed in the setup.ini file.
The *INSTALLLOCATION values are also stored in the Windows registry (see
scp2/source/ooo/registryitem_ooo.scp).  FINDPRODUCT was once used as a
GetMsiProperty, in code meanwhile removed in
030124d836a3f8571e26c8ce6b5d752ca7ab2511 "remove CustomAction
ExecutePostUninstallScript" (so I also removed the FINDPRODUCT property file
line from solenv/bin/modules/installer/windows/property.pm, so FINDPRODUCT 
will
no longer in the MSI Property table).  ALLUSERS is only used with some
SetMsiPropertyW/UnsetMsiPropertyW/IsSetMsiPropertyW/GetMsiPropertySetW code 
in
setup_native/source/win32/customactions/, but that should be unrelated to 
the
setup.ini file.

Removing the ProfileItems from scp2/source/ooo/common_brand.scp removed the 
only
uses of the INIFILETABLE style, so also remove the corresponding code from
solenv/bin/modules/installer.pm and the complete related
solenv/bin/modules/installer/windows/inifile.pm.  Fingers crossed.
A#  modified:   scp2/source/ooo/common_brand.scp

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

diff --git a/scp2/source/ooo/common_brand.scp b/scp2/source/ooo/common_brand.scp
index d5eecd354e0a..5da3647c2ced 100644
--- a/scp2/source/ooo/common_brand.scp
+++ b/scp2/source/ooo/common_brand.scp
@@ -777,34 +777,6 @@ ProfileItem gid_Brand_Profileitem_Redirect_Ure_Bootstrap
 End
 #endif
 
-#ifdef WNT
-ProfileItem gid_Brand_Profileitem_Setup_Alluserset
-ProfileID = gid_Brand_Profile_Setup_Ini;
-ModuleID = gid_Module_Root_Brand;
-Section = "Bootstrap";
-Order = 4;
-Key = "ALLUSERS";
-Value = "[ALLUSERS]";
-Inifiletablekey = "AllUsersSet";
-Inifiletableaction = "1";
-Styles = (INIFILETABLE);
-End
-#endif
-
-#ifdef WNT
-ProfileItem gid_Brand_Profileitem_Setup_Findproduct
-ProfileID = gid_Brand_Profile_Setup_Ini;
-ModuleID = gid_Module_Root_Brand;
-Section = "Bootstrap";
-Order = 5;
-Key = "FINDPRODUCT";
-Value = "[FINDPRODUCT]";
-Inifiletablekey = "FindProductSet";
-Inifiletableaction = "1";
-Styles = (INIFILETABLE);
-End
-#endif
-
 ProfileItem gid_Brand_Profileitem_Setup_Buildid
 ProfileID = gid_Brand_Profile_Setup_Ini;
 ModuleID = gid_Module_Root_Brand;
@@ -813,59 +785,3 @@ ProfileItem gid_Brand_Profileitem_Setup_Buildid
 Key = "buildid";
 Value = "";
 End
-
-#ifdef WNT
-ProfileItem gid_Brand_Profileitem_Setup_Ureinstall
-ProfileID = gid_Brand_Profile_Setup_Ini;
-ModuleID = gid_Module_Root_Brand;
-Section = "Bootstrap";
-Order = 4;
-Key = "UREINSTALLLOCATION";
-Value = "[INSTALLLOCATION]URE\";
-Inifiletablekey = "UreInstallLocation";
-Inifiletableaction = "1";
-Styles = (INIFILETABLE);
-End
-#endif
-
-#ifdef WNT
-ProfileItem gid_Brand_Profileitem_Setup_Basisinstall
-ProfileID = gid_Brand_Profile_Setup_Ini;
-ModuleID = gid_Module_Root_Brand;
-Section = "Bootstrap";
-Order = 4;
-Key = "BASISINSTALLLOCATION";
-Value = "[INSTALLLOCATION]";
-Inifiletablekey = "BasisInstallLocation";
-Inifiletableaction = "1";
-Styles = (INIFILETABLE);
-End
-#endif
-
-#ifdef WNT
-ProfileItem gid_Brand_Profileitem_Setup_Officeinstall
-ProfileID = gid_Brand_Profile_Setup_Ini;
-ModuleID = gid_Module_Root_Brand;
-Section = "Bootstrap";
-Order = 4;
-Key = "OFFICEINSTALLLOCATION";
-Value = "[INSTALLLOCATION]";
-Inifiletablekey = "OfficeInstallLocation";
-Inifiletableaction = "1";
-Styles = (INIFILETABLE);
-End
-#endif
-
-#ifdef WNT
-ProfileItem gid_Brand_Profileitem_Setup_Install
-ProfileID = gid_Brand_Profile_Setup_Ini;
-ModuleID = gid_Module_Root_Brand;
-Section = "Bootstrap";
-Order = 4;
-Key = "INSTALLLOCATION";
-Value = "[INSTALLLOCATION]";
-Inifiletablekey = "InstallLocation";
-Inifiletableaction = "1";
-Styles = (INIFILETABLE);
-End
-#endif
diff --git a/solenv/bin/modules/installer.pm b/solenv/bin/modules/

core.git: 2 commits - scp2/source solenv/bin

2024-01-22 Thread Stephan Bergmann (via logerrit)
 scp2/source/ooo/common_brand.scp  |   37 --
 solenv/bin/modules/installer.pm   |1 
 solenv/bin/modules/installer/scriptitems.pm   |3 -
 solenv/bin/modules/installer/windows/msiglobal.pm |   28 
 4 files changed, 1 insertion(+), 68 deletions(-)

New commits:
commit 9919d02c1e9be7ab2f2690ca16da65b75ebde666
Author: Stephan Bergmann 
AuthorDate: Fri Jan 12 16:46:39 2024 +0100
Commit: Stephan Bergmann 
CommitDate: Mon Jan 22 09:33:27 2024 +0100

Remove (Windows-only) ProductCode from setup.ini and version.ini

(See a31f334d36b5735ba6fc8d0f89e834a73bdcc561 "Windows MAR update issues 
with
program/{setup,version}.ini" for why this cleanup is needed.)

There were traces of actually reading that entry from ini-files in commits 
like
3f01a5e9e4ec757eb26cc056a161fb7832ccd5d6 "INTEGRATION: CWS nativefixer12
(1.2.2); FILE MERGED", d9d86a2d662f38aa0473211fbf3ef2241b1c9c93 
"INTEGRATION:
CWS nativefixer18 (1.3.2); FILE MERGED", and
2521869690771c7af094520edf92ee8d2c5573a1 "INTEGRATION: CWS native36 (1.7.4);
FILE MERGED", but all of them have since been removed with commits like
50c26300e5b5ae9671f18a9e449516604d16105f "Remove lots of dead code",
26c142ca5f2b405b02ab5701dfaeab7bf281a727 "Kill the ancient StarOffice 
"patch"
concept", and e0ea85f61a5914508921b5e73119516219afa158 "we don't build 
language
packs on Windows".  (And all of the original code appears to having been 
related
to ancient Windows patch mechanisms.)

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

diff --git a/scp2/source/ooo/common_brand.scp b/scp2/source/ooo/common_brand.scp
index 68d19628c0f3..303bf24470dd 100644
--- a/scp2/source/ooo/common_brand.scp
+++ b/scp2/source/ooo/common_brand.scp
@@ -500,19 +500,6 @@ End
 
 #ifdef WNT
 
-ProfileItem gid_Brand_Profileitem_Version_Productcode
-ProfileID = gid_Brand_Profile_Version_Ini;
-ModuleID = gid_Module_Root_Brand;
-Section = "Version";
-Order = 8;
-Key = "ProductCode";
-Value = "";
-End
-
-#endif
-
-#ifdef WNT
-
 ProfileItem gid_Brand_Profileitem_Version_Upgradecode
 ProfileID = gid_Brand_Profile_Version_Ini;
 ModuleID = gid_Module_Root_Brand;
@@ -831,17 +818,6 @@ ProfileItem gid_Brand_Profileitem_Setup_Findproduct
 End
 #endif
 
-#ifdef WNT
-ProfileItem gid_Brand_Profileitem_Setup_Productcode
-ProfileID = gid_Brand_Profile_Setup_Ini;
-ModuleID = gid_Module_Root_Brand;
-Section = "Bootstrap";
-Order = 6;
-Key = "ProductCode";
-Value = "";
-End
-#endif
-
 #ifdef WNT
 ProfileItem gid_Brand_Profileitem_Setup_Upgradecode
 ProfileID = gid_Brand_Profile_Setup_Ini;
diff --git a/solenv/bin/modules/installer/scriptitems.pm 
b/solenv/bin/modules/installer/scriptitems.pm
index 18ccd81d2c87..040bc068889f 100644
--- a/solenv/bin/modules/installer/scriptitems.pm
+++ b/solenv/bin/modules/installer/scriptitems.pm
@@ -625,7 +625,7 @@ sub changing_name_of_language_dependent_keys
 
 

 # Replacement of setup variables in ConfigurationItems and ProfileItems
-# , , , , , 

+# , , , , 
 

 
 sub replace_setup_variables
@@ -665,7 +665,6 @@ sub replace_setup_variables
 $value =~ s/\/$buildidstring/;
 $value =~ s/\/$languagesstring/;
 $value =~ s/\/$productkey/;
-$value =~ s/\/$installer::globals::productcode/;
 $value =~ s/\/$installer::globals::upgradecode/;
 $value =~ s/\/$languagesstring/;
 $value =~ s/\/$installer::globals::build/;
commit f9ff0df6f3a3339c891f764e5eecda9aa03612c0
Author: Stephan Bergmann 
AuthorDate: Fri Jan 12 15:00:02 2024 +0100
Commit: Stephan Bergmann 
CommitDate: Mon Jan 22 09:33:19 2024 +0100

Remove (Windows-only) MsiProductVersion from version.ini

(See a31f334d36b5735ba6fc8d0f89e834a73bdcc561 "Windows MAR update issues 
with
program/{setup,version}.ini" for why this cleanup is needed.)

The ini-file entry had originally been added with
d295757e7ec2cf0f7d83cf903ecb7c115a354bb9 "INTEGRATION: CWS nativefixer11
(1.23.2); FILE MERGED", and setting its value with
b993422e59287924d7d85afc75eb9cffc66311db "INTEGRATION: CWS nativefixer11
(1.21.38); FILE MERGED" and 127dd8d32a87cecdc678d4b8288142f65a7a1fc9
"INTEGRATION: CWS nativefixer11 (1.45.2); FILE MERGED", but it doesn't 
appear to
ever have been actually used for anything, other than being recorded in the
ini-file.  Lets remove it completely for good.

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

dif

core.git: include/svx svx/source

2024-01-22 Thread Miklos Vajna (via logerrit)
 include/svx/xdash.hxx|   36 ++--
 svx/source/xoutdev/xattr.cxx |   24 
 2 files changed, 30 insertions(+), 30 deletions(-)

New commits:
commit 1a4e52c0d985138d483af288c547f8cea6c96667
Author: Miklos Vajna 
AuthorDate: Mon Jan 22 08:09:36 2024 +0100
Commit: Miklos Vajna 
CommitDate: Mon Jan 22 09:13:38 2024 +0100

svx: prefix members of XDash

See tdf#94879 for motivation.

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

diff --git a/include/svx/xdash.hxx b/include/svx/xdash.hxx
index eef7d2f7fb2d..6b6771a9fa35 100644
--- a/include/svx/xdash.hxx
+++ b/include/svx/xdash.hxx
@@ -30,12 +30,12 @@
 
 class SVXCORE_DLLPUBLIC XDash final
 {
-css::drawing::DashStyle  eDash;
-sal_uInt16   nDots;
-sal_uInt16   nDashes;
-double   nDotLen;
-double   nDashLen;
-double   nDistance;
+css::drawing::DashStyle  m_eDash;
+sal_uInt16   m_nDots;
+sal_uInt16   m_nDashes;
+double   m_nDotLen;
+double   m_nDashLen;
+double   m_nDistance;
 
 public:
   XDash(css::drawing::DashStyle eDash = css::drawing::DashStyle_RECT,
@@ -44,19 +44,19 @@ public:
 
 bool operator==(const XDash& rDash) const;
 
-void SetDashStyle(css::drawing::DashStyle eNewStyle) { eDash = eNewStyle; }
-void SetDots(sal_uInt16 nNewDots){ nDots = nNewDots; }
-void SetDotLen(double nNewDotLen){ nDotLen = 
nNewDotLen; }
-void SetDashes(sal_uInt16 nNewDashes){ nDashes = 
nNewDashes; }
-void SetDashLen(double nNewDashLen)  { nDashLen = 
nNewDashLen; }
-void SetDistance(double nNewDistance){ nDistance = 
nNewDistance; }
+void SetDashStyle(css::drawing::DashStyle eNewStyle) { m_eDash = 
eNewStyle; }
+void SetDots(sal_uInt16 nNewDots){ m_nDots = nNewDots; 
}
+void SetDotLen(double nNewDotLen){ m_nDotLen = 
nNewDotLen; }
+void SetDashes(sal_uInt16 nNewDashes){ m_nDashes = 
nNewDashes; }
+void SetDashLen(double nNewDashLen)  { m_nDashLen = 
nNewDashLen; }
+void SetDistance(double nNewDistance){ m_nDistance = 
nNewDistance; }
 
-css::drawing::DashStyle  GetDashStyle() const{ return eDash; }
-sal_uInt16   GetDots() const { return nDots; }
-double   GetDotLen() const   { return nDotLen; }
-sal_uInt16   GetDashes() const   { return nDashes; }
-double   GetDashLen() const  { return nDashLen; }
-double   GetDistance() const { return nDistance; }
+css::drawing::DashStyle  GetDashStyle() const{ return m_eDash; }
+sal_uInt16   GetDots() const { return m_nDots; }
+double   GetDotLen() const   { return m_nDotLen; }
+sal_uInt16   GetDashes() const   { return m_nDashes; }
+double   GetDashLen() const  { return m_nDashLen; }
+double   GetDistance() const { return m_nDistance; 
}
 
 // XDash is translated into an array of doubles which describe the lengths 
of the
 // dashes, dots and empty passages. It returns the complete length of the 
full DashDot
diff --git a/svx/source/xoutdev/xattr.cxx b/svx/source/xoutdev/xattr.cxx
index e712be7632f2..68b40d539cd0 100644
--- a/svx/source/xoutdev/xattr.cxx
+++ b/svx/source/xoutdev/xattr.cxx
@@ -487,23 +487,23 @@ sal_uInt16 XLineStyleItem::GetValueCount() const
 
 XDash::XDash(css::drawing::DashStyle eTheDash, sal_uInt16 nTheDots, double 
nTheDotLen,
  sal_uInt16 nTheDashes, double nTheDashLen, double nTheDistance) :
-eDash(eTheDash),
-nDots(nTheDots),
-nDashes(nTheDashes),
-nDotLen(nTheDotLen),
-nDashLen(nTheDashLen),
-nDistance(nTheDistance)
+m_eDash(eTheDash),
+m_nDots(nTheDots),
+m_nDashes(nTheDashes),
+m_nDotLen(nTheDotLen),
+m_nDashLen(nTheDashLen),
+m_nDistance(nTheDistance)
 {
 }
 
 bool XDash::operator==(const XDash& rDash) const
 {
-return ( eDash  == rDash.eDash  &&
- nDots  == rDash.nDots  &&
- nDotLen== rDash.nDotLen&&
- nDashes== rDash.nDashes&&
- nDashLen   == rDash.nDashLen   &&
- nDistance  == rDash.nDistance );
+return ( m_eDash  == rDash.m_eDash  &&
+ m_nDots  == rDash.m_nDots  &&
+ m_nDotLen== rDash.m_nDotLen&&
+ m_nDashes== rDash.m_nDashes&&
+ m_nDashLen   == rDa

Konstantin Limarev license statement

2024-01-22 Thread Konstantin Limarev
Hi!

All of my past & future contributions to LibreOffice may be licensed under
the MPLv2/LGPLv3+ dual license.

Best regards, 
Konstantin Limarev