core.git: sw/source

2024-10-02 Thread Mohit Marathe (via logerrit)
 sw/source/uibase/sidebar/CommentsPanel.cxx |   12 ++--
 1 file changed, 10 insertions(+), 2 deletions(-)

New commits:
commit 1a09da6c7ed13139586e5400fea223bac65fcac6
Author: Mohit Marathe 
AuthorDate: Fri Sep 27 16:49:39 2024 +0530
Commit: Sarper Akdemir 
CommitDate: Wed Oct 2 11:59:21 2024 +0200

sw: give warning when comment cannot be deleted in comments panel

Instead of crashing LO, this patch gives a warning if it is not
able to find the comment or thread to be deleted

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

diff --git a/sw/source/uibase/sidebar/CommentsPanel.cxx 
b/sw/source/uibase/sidebar/CommentsPanel.cxx
index 6bf6d8336a70..eb4a40747fd1 100644
--- a/sw/source/uibase/sidebar/CommentsPanel.cxx
+++ b/sw/source/uibase/sidebar/CommentsPanel.cxx
@@ -542,11 +542,19 @@ void CommentsPanel::deleteComment(sal_uInt32 nId)
 sal_uInt32 nRootId = getPostItId(pRootNote);
 
 if (mpThreadsMap.find(nRootId) == mpThreadsMap.end())
-throw std::runtime_error("Cannot delete comment: Thread does not 
exist");
+{
+SAL_WARN("sw",
+ "Comments Panel is unable to delete comment: Referenced 
thread does not exist!");
+return;
+}
 auto& pComment = mpCommentsMap[nId];
 auto& pThread = mpThreadsMap[nRootId];
 if (!pComment)
-throw std::runtime_error("Cannot delete comment: Comment does not 
exist");
+{
+SAL_WARN("sw",
+ "Comments Panel is unable to delete comment: Referenced 
comment does not exist!");
+return;
+}
 
 pThread->getCommentBoxWidget()->move(pComment->get_widget(), nullptr);
 mpCommentsMap.erase(nId);


core.git: desktop/source

2024-10-02 Thread Miklos Vajna (via logerrit)
 desktop/source/lib/init.cxx |4 
 1 file changed, 4 insertions(+)

New commits:
commit d5d7883fdecfb2c98c880ee2e957a1e34cba45bf
Author: Miklos Vajna 
AuthorDate: Fri Sep 27 08:52:57 2024 +0200
Commit: Miklos Vajna 
CommitDate: Wed Oct 2 13:09:04 2024 +0200

desktop lok: fix crash in getStyles()

Crashreport backtrace:

> program/libmergedlo.so
>   getStyles
>   desktop/source/lib/init.cxx:6411
> program/libmergedlo.so
>   doc_getCommandValues
>   desktop/source/lib/init.cxx:

Which is probably a call on an already disposed document. Fix it similar
to how getFonts() does it.

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

diff --git a/desktop/source/lib/init.cxx b/desktop/source/lib/init.cxx
index d8d217d571ae..043bc769450e 100644
--- a/desktop/source/lib/init.cxx
+++ b/desktop/source/lib/init.cxx
@@ -6413,6 +6413,10 @@ static char* getStyles(LibreOfficeKitDocument* pThis, 
const char* pCommand)
 aTree.put("commandName", pCommand);
 uno::Reference 
xStyleFamiliesSupplier(pDocument->mxComponent, uno::UNO_QUERY);
 const uno::Reference xStyleFamilies = 
xStyleFamiliesSupplier->getStyleFamilies();
+if (!xStyleFamilies.is())
+{
+return nullptr;
+}
 const uno::Sequence aStyleFamilies = 
xStyleFamilies->getElementNames();
 
 static constexpr OUString aWriterStyles[] =


core.git: 2 commits - sc/source

2024-10-02 Thread Noel Grandin (via logerrit)
 sc/source/filter/xml/XMLStylesImportHelper.cxx |   68 +++--
 sc/source/filter/xml/xmlcelli.cxx  |7 ++
 sc/source/filter/xml/xmlsubti.cxx  |5 +
 sc/source/filter/xml/xmlsubti.hxx  |1 
 4 files changed, 45 insertions(+), 36 deletions(-)

New commits:
commit 4dfffddceb12fe25ac3dd97281c3006502e04934
Author: Noel Grandin 
AuthorDate: Wed Oct 2 10:15:30 2024 +0200
Commit: Noel Grandin 
CommitDate: Wed Oct 2 14:00:20 2024 +0200

flatten ScMyStylesImportHelper::AddDefaultRange

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

diff --git a/sc/source/filter/xml/XMLStylesImportHelper.cxx 
b/sc/source/filter/xml/XMLStylesImportHelper.cxx
index ed3a210fc347..d2d71aa7994a 100644
--- a/sc/source/filter/xml/XMLStylesImportHelper.cxx
+++ b/sc/source/filter/xml/XMLStylesImportHelper.cxx
@@ -232,48 +232,44 @@ ScMyStylesMap::iterator 
ScMyStylesImportHelper::GetIterator(const OUString & rSt
 void ScMyStylesImportHelper::AddDefaultRange(const ScRange& rRange)
 {
 OSL_ENSURE(aRowDefaultStyle != aCellStyles.end(), "no row default style");
-if (aRowDefaultStyle->first.isEmpty())
+if (!aRowDefaultStyle->first.isEmpty())
 {
-SCCOL nStartCol(rRange.aStart.Col());
-SCCOL nEndCol(rRange.aEnd.Col());
-if (aColDefaultStyles.size() > 
sal::static_int_cast(nStartCol))
-{
-ScMyStylesMap::iterator aPrevItr(aColDefaultStyles[nStartCol]);
-for (SCCOL i = nStartCol + 1; (i <= nEndCol) && (i < 
sal::static_int_cast(aColDefaultStyles.size())); ++i)
-{
-if (aPrevItr != aColDefaultStyles[i])
-{
-OSL_ENSURE(aPrevItr != aCellStyles.end(), "no column 
default style");
-ScRange aRange(rRange);
-aRange.aStart.SetCol(nStartCol);
-aRange.aEnd.SetCol(i - 1);
-pPrevStyleName = aPrevItr->first;
-AddSingleRange(aRange);
-nStartCol = i;
-aPrevItr = aColDefaultStyles[i];
-}
-}
-if (aPrevItr != aCellStyles.end())
-{
-ScRange aRange(rRange);
-aRange.aStart.SetCol(nStartCol);
-pPrevStyleName = aPrevItr->first;
-AddSingleRange(aRange);
-}
-else
-{
-OSL_FAIL("no column default style");
-}
-}
-else
+pPrevStyleName = aRowDefaultStyle->first;
+AddSingleRange(rRange);
+return;
+}
+SCCOL nStartCol(rRange.aStart.Col());
+SCCOL nEndCol(rRange.aEnd.Col());
+if (aColDefaultStyles.size() <= 
sal::static_int_cast(nStartCol))
+{
+OSL_FAIL("too many columns");
+return;
+}
+ScMyStylesMap::iterator aPrevItr(aColDefaultStyles[nStartCol]);
+for (SCCOL i = nStartCol + 1; (i <= nEndCol) && (i < 
sal::static_int_cast(aColDefaultStyles.size())); ++i)
+{
+if (aPrevItr != aColDefaultStyles[i])
 {
-OSL_FAIL("too many columns");
+OSL_ENSURE(aPrevItr != aCellStyles.end(), "no column default 
style");
+ScRange aRange(rRange);
+aRange.aStart.SetCol(nStartCol);
+aRange.aEnd.SetCol(i - 1);
+pPrevStyleName = aPrevItr->first;
+AddSingleRange(aRange);
+nStartCol = i;
+aPrevItr = aColDefaultStyles[i];
 }
 }
+if (aPrevItr != aCellStyles.end())
+{
+ScRange aRange(rRange);
+aRange.aStart.SetCol(nStartCol);
+pPrevStyleName = aPrevItr->first;
+AddSingleRange(aRange);
+}
 else
 {
-pPrevStyleName = aRowDefaultStyle->first;
-AddSingleRange(rRange);
+OSL_FAIL("no column default style");
 }
 }
 
commit 5f6b8b18dc16d290382187693861404e9a405b34
Author: Noel Grandin 
AuthorDate: Wed Oct 2 10:02:12 2024 +0200
Commit: Noel Grandin 
CommitDate: Wed Oct 2 14:00:10 2024 +0200

tdf#161986 speedup ODS with large merged range

reduces load time from 90s to 25s

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

diff --git a/sc/source/filter/xml/xmlcelli.cxx 
b/sc/source/filter/xml/xmlcelli.cxx
index 0de47dcfbe5e..911586eb2683 100644
--- a/sc/source/filter/xml/xmlcelli.cxx
+++ b/sc/source/filter/xml/xmlcelli.cxx
@@ -1269,6 +1269,13 @@ void ScXMLTableRowCellContext::AddTextAndValueCell( 
const ScAddress& rCellPos,
 rTables.AddColumn(false);
 }
 }
+// if nothing else useful can happen in the loop, just exit early
+if (i != 0 && bIsEmpty && rCurrent

core.git: connectivity/source

2024-10-02 Thread Caolán McNamara (via logerrit)
 connectivity/source/drivers/dbase/dindexnode.cxx |9 +++--
 1 file changed, 7 insertions(+), 2 deletions(-)

New commits:
commit dba433c1ee35969d9adfef7462c97f07fe206c68
Author: Caolán McNamara 
AuthorDate: Mon Sep 30 20:40:06 2024 +0100
Commit: Caolán McNamara 
CommitDate: Wed Oct 2 12:25:31 2024 +0200

cid#1606791 Overflowed constant

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

diff --git a/connectivity/source/drivers/dbase/dindexnode.cxx 
b/connectivity/source/drivers/dbase/dindexnode.cxx
index ba439d77bef4..0e4746a0b9a6 100644
--- a/connectivity/source/drivers/dbase/dindexnode.cxx
+++ b/connectivity/source/drivers/dbase/dindexnode.cxx
@@ -207,8 +207,13 @@ bool ONDXPage::Insert(ONDXNode& rNode, sal_uInt32 
nRowsLeft)
 }
 else  // position unknown
 {
-sal_uInt16 nPos = NODE_NOTFOUND;
-while (++nPos < nCount && rNode.GetKey() > 
((*this)[nPos]).GetKey()) ;
+sal_uInt16 nPos = 0;
+while (nPos < nCount)
+{
+if (rNode.GetKey() <= ((*this)[nPos]).GetKey())
+break;
+++nPos;
+}
 
 --nCount;   // (otherwise we might get Assertions and GPFs 
- 60593)
 bResult = Insert(nPos, rNode);


core.git: jvmfwk/source

2024-10-02 Thread Caolán McNamara (via logerrit)
 jvmfwk/source/framework.cxx |2 ++
 1 file changed, 2 insertions(+)

New commits:
commit 0e23cabf2fd00f50e221f4eea7f19ceadc65fd54
Author: Caolán McNamara 
AuthorDate: Mon Sep 30 20:45:41 2024 +0100
Commit: Caolán McNamara 
CommitDate: Wed Oct 2 12:25:51 2024 +0200

cid#1606631 Overflowed constant

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

diff --git a/jvmfwk/source/framework.cxx b/jvmfwk/source/framework.cxx
index be10c0569a9e..eea9cc92c388 100644
--- a/jvmfwk/source/framework.cxx
+++ b/jvmfwk/source/framework.cxx
@@ -168,6 +168,8 @@ std::vector 
jfw_convertUserPathList(std::u16string_view sUserPath)
 }
 }
 result.emplace_back(sToken);
+if (nextColon == std::u16string_view::npos)
+break;
 nIdx = nextColon + 1;
 } while (nIdx > 0);
 return result;


core.git: 2 commits - vcl/CustomTarget_qt5_moc.mk vcl/CustomTarget_qt6_moc.mk vcl/inc vcl/qt5

2024-10-02 Thread Michael Weghorn (via logerrit)
 vcl/CustomTarget_qt5_moc.mk |1 
 vcl/CustomTarget_qt6_moc.mk |1 
 vcl/inc/qt5/QtInstanceDialog.hxx|   20 ++---
 vcl/inc/qt5/QtInstanceMessageDialog.hxx |   19 +---
 vcl/qt5/QtInstanceDialog.cxx|   71 ++--
 vcl/qt5/QtInstanceMessageDialog.cxx |   68 +-
 6 files changed, 91 insertions(+), 89 deletions(-)

New commits:
commit cb7e14bf370647a3fe618492ff79d0202c64c71f
Author: Michael Weghorn 
AuthorDate: Wed Oct 2 09:33:08 2024 +0200
Commit: Michael Weghorn 
CommitDate: Wed Oct 2 13:15:38 2024 +0200

tdf#130857 qt weld: Move runAsync logic to QtInstanceDialog

Refactor the handling for running a QtInstanceMessageDialog
asynchronously, and reuse the logic for the QtInstanceDialog
base class:

Move implementations for both QtInstanceMessageDialog::runAsync
methods and the involved class members from QtInstanceMessageDialog
to QtInstanceDialog.

Split the previous logic from
QtInstanceMessageDialog::dialogFinished into two methods:

* move most of the logic as is to a new virtual slot
  in the base class, QtInstanceDialog::dialogFinished
* override the base class implementation to get the
  response code from the actually clicked button
  via the PROPERTY_VCL_RESPONSE_CODE property
  set on that button, and call the base class
  method with that one.

For QtInstanceDialog, there's no QDialog::clickedButton
method that could be used to retrieve the clicked button,
but it's also not needed there, because there a slot
connected to the QAbstractButton::clicked signal that triggers
closing the dialog, and passes the proper response code of the
corresponding button already, see

commit 08b55df5c9e42c1ccb78a156261811875629342a
Author: Michael Weghorn 
Date:   Sat Sep 28 00:32:15 2024 +0200

tdf#130857 qt weld: Close dialog on button click

With this commit in place, QtInstanceDialog can now
also be run asynchronously, instead of the
QtInstanceDialog::runAsync methods
just returning true without doing anything.

This will be needed e.g. when adding support for the
"Tools" -> "Word Count" dialog in Writer.

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

diff --git a/vcl/inc/qt5/QtInstanceDialog.hxx b/vcl/inc/qt5/QtInstanceDialog.hxx
index 6c00df7181fb..16db9acd1d1e 100644
--- a/vcl/inc/qt5/QtInstanceDialog.hxx
+++ b/vcl/inc/qt5/QtInstanceDialog.hxx
@@ -17,15 +17,20 @@ class QtInstanceDialog : public QObject, public 
QtInstanceWindow, public virtual
 
 std::unique_ptr m_pDialog;
 
+// the DialogController/Dialog/function passed to the runAsync variants
+std::shared_ptr m_xRunAsyncDialogController;
+std::shared_ptr m_xRunAsyncDialog;
+std::function m_aRunAsyncFunc;
+
 public:
 QtInstanceDialog(QDialog* pDialog);
 ~QtInstanceDialog();
 
-virtual bool runAsync(std::shared_ptr const&,
-  const std::function&) override;
+virtual bool runAsync(const std::shared_ptr& 
rxOwner,
+  const std::function& func) override;
 
-virtual bool runAsync(const std::shared_ptr&,
-  const std::function&) override;
+virtual bool runAsync(std::shared_ptr const& rxSelf,
+  const std::function& func) override;
 
 virtual void collapse(weld::Widget*, weld::Widget*) override;
 
@@ -55,6 +60,9 @@ public:
 * int VCL response code of that button.
 */
 static const char* const PROPERTY_VCL_RESPONSE_CODE;
+
+protected slots:
+virtual void dialogFinished(int nResult);
 };
 
 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/vcl/inc/qt5/QtInstanceMessageDialog.hxx 
b/vcl/inc/qt5/QtInstanceMessageDialog.hxx
index ea532a6eabb2..a410a8fd5dfc 100644
--- a/vcl/inc/qt5/QtInstanceMessageDialog.hxx
+++ b/vcl/inc/qt5/QtInstanceMessageDialog.hxx
@@ -20,11 +20,6 @@ class QtInstanceMessageDialog : public QtInstanceDialog, 
public virtual weld::Me
 private:
 QMessageBox* m_pMessageDialog;
 
-// the DialogController/Dialog/function passed to the runAsync variants
-std::shared_ptr m_xRunAsyncDialogController;
-std::shared_ptr m_xRunAsyncDialog;
-std::function m_aRunAsyncFunc;
-
 public:
 QtInstanceMessageDialog(QMessageBox* pMessageDialog);
 
@@ -44,17 +39,13 @@ public:
 virtual void set_default_response(int nResponse) override;
 QtInstanceButton* weld_widget_for_response(int nResponse) override;
 virtual int run() override;
-virtual bool runAsync(std::shared_ptr const& 
rxOwner,
-  const std::function& func) override;
-virtual bool runAsync(std::shared_ptr const& rxSelf,
-  

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

2024-10-02 Thread Miklos Vajna (via logerrit)
 sfx2/qa/cppunit/data/ca.pem |   70 
 sfx2/qa/cppunit/data/signed.odt |binary
 sfx2/qa/cppunit/view.cxx|   33 ++
 sfx2/source/view/lokhelper.cxx  |9 +
 4 files changed, 112 insertions(+)

New commits:
commit 65f2b784495e439c8b65976a45d92a6a9987e809
Author: Miklos Vajna 
AuthorDate: Tue Oct 1 11:16:04 2024 +0200
Commit: Caolán McNamara 
CommitDate: Wed Oct 2 10:38:44 2024 +0200

cool#9992 lok doc sign: update sign status after modify the list of trusted 
CAs

Load a document, sign it, "green" icon on the status bar. Reload the
document, turns into a "yellow" icon saying the CA is not trusted, when
it was already trusted before.

The trouble is that the document signature status is calculated on load,
and the CA to be trusted is only given later, as part of the
initialization of the LOK view.

Fix the problem by invalidating the signature state when a new CA is
trusted.

The test document was produced by signing an empty document using the
keys from xmlsecurity/qa/xmlsec/data/, which gives us a way to create a
signature that is initially not trusted.

(cherry picked from commit 298c2d5c8a6791aa6e5846b698d521079aaa445d)

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

diff --git a/sfx2/qa/cppunit/data/ca.pem b/sfx2/qa/cppunit/data/ca.pem
new file mode 100644
index ..d08c9c67bcae
--- /dev/null
+++ b/sfx2/qa/cppunit/data/ca.pem
@@ -0,0 +1,70 @@
+-BEGIN CERTIFICATE-
+MIIGADCCA+igAwIBAgICEAAwDQYJKoZIhvcNAQELBQAwgYsxCzAJBgNVBAYTAlVL
+MRAwDgYDVQQIDAdFbmdsYW5kMTAwLgYDVQQKDCdDcHB1bml0VGVzdF94bWxzZWN1
+cml0eV94bWxzZWMgUlNBIFRlc3QxODA2BgNVBAMML0NwcHVuaXRUZXN0X3htbHNl
+Y3VyaXR5X3htbHNlYyBSU0EgVGVzdCBSb290IENBMCAXDTI0MDkyMzEzMzA0MloY
+DzIxMjQwODMwMTMzMDQyWjCBjzELMAkGA1UEBhMCVUsxEDAOBgNVBAgMB0VuZ2xh
+bmQxMDAuBgNVBAoMJ0NwcHVuaXRUZXN0X3htbHNlY3VyaXR5X3htbHNlYyBSU0Eg
+VGVzdDE8MDoGA1UEAwwzQ3BwdW5pdFRlc3RfeG1sc2VjdXJpdHlfeG1sc2VjIElu
+dGVybWVkaWF0ZSBSb290IENBMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKC
+AgEAj9kribqN994fmGGnL7l3Y4DEVEBUBV2kNlq9fM9wJmOEtaNyKIjYxzCFUAnt
+vKp0youu3tu48duDUez4I+Nc4gyez6IlyfPCXiEJulo0g6F3WZZg/xtk56JZnHFe
+aBHq3vm3L7a5y8c9j9Y26/BPRAqY1CtBSFUWV1uGPCQkNGNsO7qqtOdcKn7dFJq3
+K2sRaXp4J3QUhtlsEQ4/sWtXjuV7f4wqep0PEjFJ8oF6Jao5QYFHuLx4YZmo9vfX
+NSjv1TJbdQ+1zvw8sr3/SYyNt3B7Q3jXq8IC+Tfc1R9t/FaDeS9AiMuDJgq+aHWV
+ej8sspl2+d7mFXCuOoy9nE9aCWAwD1v6Ce1nK97qVUKRKxBxlKSM3TULWaJT8VC9
+UK0nsfK9OocCeybOa+irzVcgvVDlD8fPoM82bGAaA5z2SvSyrjk5/h2aHtG9U1tJ
+ke6GwxzyVlIySo4EC9SvW8Pu3v0vaHAeDAjUnA8aEPGmuKOMHsYq/Jgy3hkRLKuX
+iRENrshP/q0Vfso2NtfErSzqcBV5UWcYUhoCOiQXRo2Q9sy7lJDtRU5yFxlGtqRU
+ORY1LI9NMXi5pJioZftPZIMPJeDLeaEaNHD1vH9i/e/bN11/mYzM2SWuKdQbiYFX
+pZO8gDkp960R1VG3O0TKz7U678ZrjY0Y3t0uNhPFEOZgoCkCAwEAAaNmMGQwHQYD
+VR0OBBYEFFE6wan2eGv91MRbH6vbE4W3cMYNMB8GA1UdIwQYMBaAFOJn33YP7tq0
+45qRr2pHFpbwKe+7MBIGA1UdEwEB/wQIMAYBAf8CAQAwDgYDVR0PAQH/BAQDAgGG
+MA0GCSqGSIb3DQEBCwUAA4ICAQAeNJClgszw5HQysHfoDe8YClRt9NI4b2obxRXY
+FGX4TgLNcXGBctOoB0B/kLK6TXSPNJqHQ2+cjm1Ol9vEr4iTuRDRBp1UPp6DycLO
+9moTnlw6IKj4Nq+OJ4NVPAl0FED2KWKW9fKHOSn2kqJ7Vf4owAGf3fSy6opeqLxg
+GlnwmDSuevdbiKUCTOL4XwAfl1YN7Jj+4lEKSQmJB786MUvb9YzCPXEBDPg0uN8w
+Jm/ToiKhN53rpXLToYAidJBJ1TyqKb0i9ohETrgiBHgLI5evd+5YrhEjkKdSsK4T
+qiodkiUb5UIEcw21D5M/kjimKQrOKWahOKZCjh3xkkRsJyaeoBetZyW79d6JvB5j
+sifp86HQPtohHo8XM6cEXhhQhwAbIoiD4JPoTtQefTvpBCVlh2RIMYgeSKSq/y3E
+aoWEt8OinvZw+JhJbK7oNNPsglIJtax8Jqdc3C4PTFrIA1PnWmr/+EbdMcwnYJjn
+uyUlSajOmTL50XBHJ4krgNTOCjS42obZ4/W7Z/INVhthqIy33fEq8CKaKKytCjDN
+wkZ6dqmMg/9+X/+ClWlr+Q7EPCUw5aW6Qc95aEv59kgct84wxqTQ2jaGuUv2DxNV
++hy8bsFGwPYc6yqbVm+Eu2ibyw+QV3jYJ3t6HdVJGntgRjeumRB/XuhwVwPaIijp
+jZWvGw==
+-END CERTIFICATE-
+-BEGIN CERTIFICATE-
+MIIGCzCCA/OgAwIBAgIUf0E/LAmzIuu4Y81pnWRf+XARWkowDQYJKoZIhvcNAQEL
+BQAwgYsxCzAJBgNVBAYTAlVLMRAwDgYDVQQIDAdFbmdsYW5kMTAwLgYDVQQKDCdD
+cHB1bml0VGVzdF94bWxzZWN1cml0eV94bWxzZWMgUlNBIFRlc3QxODA2BgNVBAMM
+L0NwcHVuaXRUZXN0X3htbHNlY3VyaXR5X3htbHNlYyBSU0EgVGVzdCBSb290IENB
+MCAXDTI0MDkyMzEzMzA0MVoYDzIxMjQwODMwMTMzMDQxWjCBizELMAkGA1UEBhMC
+VUsxEDAOBgNVBAgMB0VuZ2xhbmQxMDAuBgNVBAoMJ0NwcHVuaXRUZXN0X3htbHNl
+Y3VyaXR5X3htbHNlYyBSU0EgVGVzdDE4MDYGA1UEAwwvQ3BwdW5pdFRlc3RfeG1s
+c2VjdXJpdHlfeG1sc2VjIFJTQSBUZXN0IFJvb3QgQ0EwggIiMA0GCSqGSIb3DQEB
+AQUAA4ICDwAwggIKAoICAQDICUjHlgDCX741a9qvNgs2ba7nxLwb350hNzu7JbrP
+8R4NUpTgbJwbsxdqPPozXQP2Uos/F5zdLk7ZA5e7tH/sa7ZPbeL6LzSiMvR+Cl4T
+DKisr+C/3ASd3d78kLw0UPNpRyVLirxKT9ht10GYBLAgV9kUtQ9lLejOpHDtRq1q
+8TlX0c3N6tw4T7PWq52Hym4XaTtxJc1g7CHddg4CqsTVXf4HdooMVH5AECD52Uv7
+hjEQgY+hrNEQE7lN6gp3HtxANbZusL4N0kSXAH1N6A1JDw+V0Cd020CUxCOWN/SV
+gX9rV67t+ACbObRNLlSkiGQyaPd2UTlMa1zQbpPQuvxsmtBbh50gIlM5qYuCPT+X
+aI93IbGMRp8be7J2QU2T5nrb0wasVKVzaYcIs/fOBi+EL2t+Jd9a8IPrUkHVdcsx
+WW8Y/WA95s+G4M0/5uVWmaeraBJRUo/suu08v4w0ShGBlVdfPe5iTMQWVLmAAZ16
+icvcgtdCr7nyi3tl2Bv/V

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

2024-10-02 Thread sopy (via logerrit)
 sc/source/core/data/segmenttree.cxx |   34 --
 1 file changed, 12 insertions(+), 22 deletions(-)

New commits:
commit 10ed0fe1807b95979c1c4204734723c6211c9932
Author: sopy 
AuthorDate: Sat Sep 28 14:29:54 2024 +
Commit: Caolán McNamara 
CommitDate: Wed Oct 2 09:30:23 2024 +0200

perf: improve ScFlatUInt16RowSegments::dumpAsString()

Change-Id: Ie4db90ae6e7a40824ad082606e4573e74956fdd8
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/174142
Reviewed-by: Michael Meeks 
Tested-by: Jenkins
Reviewed-by: vivek javiya 
(cherry picked from commit 6d949b587b192ca572c187c1131e2a8947269337)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/174326
Reviewed-by: Caolán McNamara 
Tested-by: Jenkins CollaboraOffice 

diff --git a/sc/source/core/data/segmenttree.cxx 
b/sc/source/core/data/segmenttree.cxx
index aa10d32544cb..e57724e61eda 100644
--- a/sc/source/core/data/segmenttree.cxx
+++ b/sc/source/core/data/segmenttree.cxx
@@ -25,6 +25,7 @@
 #include 
 #include 
 #include 
+#include 
 
 using ::std::numeric_limits;
 
@@ -492,23 +493,19 @@ void ScFlatBoolRowSegments::makeReady()
 
 OString ScFlatBoolRowSegments::dumpAsString()
 {
-OString aOutput;
-OString aSegment;
+OStringBuffer aOutput(4096);
 RangeData aRange;
 SCROW nRow = 0;
 while (getRangeData(nRow, aRange))
 {
 if (!nRow)
-aSegment = (aRange.mbValue ? std::string_view("1") : 
std::string_view("0")) + OString::Concat(":");
-else
-aSegment.clear();
+aOutput.append(aRange.mbValue ? '1' : '0').append(':');
 
-aSegment += OString::number(aRange.mnRow2) + " ";
-aOutput += aSegment;
+aOutput.append(OString::number(aRange.mnRow2) + " ");
 nRow = aRange.mnRow2 + 1;
 }
 
-return aOutput;
+return aOutput.makeStringAndClear();
 }
 
 ScFlatBoolColSegments::ScFlatBoolColSegments(SCCOL nMaxCol) :
@@ -564,23 +561,19 @@ void ScFlatBoolColSegments::makeReady()
 
 OString ScFlatBoolColSegments::dumpAsString()
 {
-OString aOutput;
-OString aSegment;
+OStringBuffer aOutput(4096);
 RangeData aRange;
 SCCOL nCol = 0;
 while (getRangeData(nCol, aRange))
 {
 if (!nCol)
-aSegment = (aRange.mbValue ? OString::Concat("1") : 
OString::Concat("0")) + OString::Concat(":");
-else
-aSegment.clear();
+aOutput.append(aRange.mbValue ? '1' : '0').append(':');
 
-aSegment += OString::number(aRange.mnCol2) + " ";
-aOutput += aSegment;
+aOutput.append(OString::number(aRange.mnCol2) + " ");
 nCol = aRange.mnCol2 + 1;
 }
 
-return aOutput;
+return aOutput.makeStringAndClear();
 }
 
 
ScFlatUInt16RowSegments::ForwardIterator::ForwardIterator(ScFlatUInt16RowSegments&
 rSegs) :
@@ -693,19 +686,16 @@ void ScFlatUInt16RowSegments::makeReady()
 
 OString ScFlatUInt16RowSegments::dumpAsString()
 {
-OString aOutput;
-OString aSegment;
+OStringBuffer aOutput(4096);
 RangeData aRange;
 SCROW nRow = 0;
 while (getRangeData(nRow, aRange))
 {
-aSegment = OString::number(aRange.mnValue) + ":" +
-OString::number(aRange.mnRow2) + " ";
-aOutput += aSegment;
+aOutput.append(OString::number(aRange.mnValue) + ":" + 
OString::number(aRange.mnRow2) + " ");
 nRow = aRange.mnRow2 + 1;
 }
 
-return aOutput;
+return aOutput.makeStringAndClear();
 }
 
 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */


core.git: sw/qa sw/source

2024-10-02 Thread Miklos Vajna (via logerrit)
 sw/qa/core/layout/calcmove.cxx |   31 +++
 sw/source/core/layout/calcmove.cxx |   17 +++--
 sw/source/core/layout/pagechg.cxx  |6 +-
 3 files changed, 51 insertions(+), 3 deletions(-)

New commits:
commit ba7199da2e6ec9d58475373f264326fbeb31f4bd
Author: Miklos Vajna 
AuthorDate: Wed Oct 2 08:15:45 2024 +0200
Commit: Miklos Vajna 
CommitDate: Wed Oct 2 09:35:40 2024 +0200

tdf#156218 sw hide whitespace: fix increased page size on new para at doc 
end

Create a document of 1 page, add empty paragraphs, so the next empty
paragraph would create a second page. Hide whitespace, then add that
paragraph: no second page is created.

Seems this is a regression from commit
2c23d4ee1e1370b20560e47db7efaeaac1d94b26 (tdf#96515 sw Hide Whitespace:
avoid creating unneeded page frames, 2015-12-16), because previously we
had the opposite problem: creating new page frames all the time, even if
the current page frame could grow.

Fix the problem by:

1) In SwPageFrame::MakeAll(), fix the size of the page frame when
switching to hide whitespace mode, so margins are not part of the
height. At least the last paragraph of the doc is now near the bottom of
the page, so it's more likely to create a new page. This means now we're
back to still tweaking the size of the last page: but we used to
determine the height based on just content and here we just ignore
top/bottom margin.

2) In SwPageFrame::CheckPageHeightValidForHideWhitespace(), handle the
top/bottom margins, otherwise we'll think that the page frame can
still grow, when it should not.

3) Finally in SwPageFrame::MakeAll(), when we determine the height for
non-last pages, the text frame for the new paragraph is already
inserted, so limit the page frame height: if "content height" is more
than "height - whitespace", then that limit should be the height,
otherwise the page frame height will grow forever.

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

diff --git a/sw/qa/core/layout/calcmove.cxx b/sw/qa/core/layout/calcmove.cxx
index 8098dc238fc0..cd9ac954ac68 100644
--- a/sw/qa/core/layout/calcmove.cxx
+++ b/sw/qa/core/layout/calcmove.cxx
@@ -11,6 +11,9 @@
 
 #include 
 
+#include 
+#include 
+
 namespace
 {
 /// Covers sw/source/core/layout/calcmove.cxx fixes.
@@ -82,6 +85,34 @@ CPPUNIT_TEST_FIXTURE(Test, testIgnoreTopMarginFly)
 // is a Writer feature.
 CPPUNIT_ASSERT_EQUAL(static_cast(4000), nParaTopMargin);
 }
+
+CPPUNIT_TEST_FIXTURE(Test, testHideWhitespaceGrowingLastPage)
+{
+// Given a document with a full first page, then hiding whitespace:
+createSwDoc();
+SwDocShell* pDocShell = getSwDocShell();
+SwWrtShell* pWrtShell = pDocShell->GetWrtShell();
+CPPUNIT_ASSERT_EQUAL(1, getPages());
+while (getPages() == 1)
+{
+pWrtShell->SplitNode();
+}
+pWrtShell->DelLeft();
+CPPUNIT_ASSERT_EQUAL(1, getPages());
+SwViewOption aViewOptions(*pWrtShell->GetViewOptions());
+aViewOptions.SetHideWhitespaceMode(true);
+pWrtShell->ApplyViewOptions(aViewOptions);
+
+// When adding a new paragraph at doc end:
+pWrtShell->SplitNode();
+
+// Then make sure a new page is created:
+// Without the accompanying fix in place, this test would have failed with:
+// - Expected: 2
+// - Actual  : 1
+// i.e. the page was growing instead of creating a new page when it 
already had a max size.
+CPPUNIT_ASSERT_EQUAL(2, getPages());
+}
 }
 
 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/sw/source/core/layout/calcmove.cxx 
b/sw/source/core/layout/calcmove.cxx
index 475420e32d78..8f99488ca86b 100644
--- a/sw/source/core/layout/calcmove.cxx
+++ b/sw/source/core/layout/calcmove.cxx
@@ -907,11 +907,18 @@ void SwPageFrame::MakeAll(vcl::RenderContext* 
pRenderContext)
 setFramePrintAreaValid(true);
 continue;
 }
-else if (pSh && pSh->GetViewOptions()->IsWhitespaceHidden() && 
pRootFrame->GetLastPage() != this)
+else if (pSh && pSh->GetViewOptions()->IsWhitespaceHidden())
 {
 tools::Long height = 0;
 SwLayoutFrame *pBody = FindBodyCont();
-if ( pBody && pBody->Lower() && 
pBody->Lower()->IsColumnFrame() )
+SwTwips nFullBodyHeight = pAttrs->GetSize().Height() - 
pAttrs->CalcTop() - pAttrs->CalcBottom();
+if (pRootFrame->GetLastPage() == this)
+{
+// Last page is only reduced by the top/bottom margin, 
the body frame height
+// is not reduced.
+height = nFullBodyHeight;
+}
+   

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

2024-10-02 Thread Mike Kaganski (via logerrit)
 sw/qa/extras/layout/data/tdf163230.fodt |  108 
 sw/qa/extras/layout/layout3.cxx |9 ++
 sw/source/core/layout/tabfrm.cxx|   48 --
 3 files changed, 159 insertions(+), 6 deletions(-)

New commits:
commit b387a283c08a8efcd91e2386db41467435fb9856
Author: Mike Kaganski 
AuthorDate: Tue Oct 1 13:47:20 2024 +0500
Commit: Michael Stahl 
CommitDate: Wed Oct 2 10:11:31 2024 +0200

tdf#163230: make loop control hack more specific

Commit 0c49aa58cfbb81073e34b1d47861a5a1fdd44114 (tdf#161508: add
another loop control hack, 2024-06-11) only checked the frame area
sizes and positions, but ignores the "valid" frags. It turns out,
that these flags also needed when checking the loop condition.

Change-Id: If155f2424b9a02cad6bf6d5c931dfccfb110d4c4
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/174310
Tested-by: Jenkins
Reviewed-by: Mike Kaganski 
(cherry picked from commit d5c0b3f93d33ce1e3d320ee74d6b7b5c5d53d176)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/174324
Reviewed-by: Michael Stahl 

diff --git a/sw/qa/extras/layout/data/tdf163230.fodt 
b/sw/qa/extras/layout/data/tdf163230.fodt
new file mode 100644
index ..5f100026d440
--- /dev/null
+++ b/sw/qa/extras/layout/data/tdf163230.fodt
@@ -0,0 +1,108 @@
+
+
+
+ 
+  
+ 
+ 
+  
+   
+   
+  
+  
+   
+  
+  
+   
+  
+  
+   
+  
+  
+   
+  
+ 
+ 
+  
+   
+  
+  
+   
+  
+  
+   
+  
+  
+   
+  
+  
+   
+  
+  
+   
+   
+
+   
+   
+
+   
+  
+ 
+ 
+  
+   
+
+   
+   
+
+   
+  
+ 
+ 
+  
+   
+
+
+ 
+  1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 
1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 
1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 
1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st:
+  
+   
+aaa
+   
+   
+bbb
+   
+   
+
+   
+   
+ddd
+   
+  
+  1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 
1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 
1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 
1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 
1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st.
+  
+  1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 
1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 
1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 
1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 
1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 
1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st
+  
+  1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 
1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 
1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 
1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 
1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 
1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st.
+  
+  1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 
1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 
1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 
1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 
1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 
1_st 1_st s:
+  
+  
+  1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 
1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 
1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 
1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 
1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st
+  1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 
1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 
1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 
1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 
1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st
+  
+  1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 
1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 
1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 
1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 
1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st
+  1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 
1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st

core.git: Branch 'distro/allotropia/zeta-24-2' - external/liblangtag

2024-10-02 Thread Christian Lohmaier (via logerrit)
 external/liblangtag/ExternalProject_liblangtag.mk |8 +---
 1 file changed, 1 insertion(+), 7 deletions(-)

New commits:
commit c6e2a64f2dc20ff81bdd4dc4c2e66f62f0343484
Author: Christian Lohmaier 
AuthorDate: Wed Aug 2 16:05:26 2023 +0200
Commit: Balazs Varga 
CommitDate: Wed Oct 2 19:22:22 2024 +0200

REAL_CC[_CFLAGS] are already set by gb_ExternalProject_run

(and that also takes care of proper quoting)

Change-Id: Ic8c29300a2e6d5381c0d8873572f7c076362c93d
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/166324
Tested-by: Jenkins
Reviewed-by: Christian Lohmaier 
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/174226
Reviewed-by: Balazs Varga 
Tested-by: Balazs Varga 

diff --git a/external/liblangtag/ExternalProject_liblangtag.mk 
b/external/liblangtag/ExternalProject_liblangtag.mk
index 1ce4b6eb7367..0f005e27b355 100644
--- a/external/liblangtag/ExternalProject_liblangtag.mk
+++ b/external/liblangtag/ExternalProject_liblangtag.mk
@@ -17,9 +17,6 @@ $(eval $(call gb_ExternalProject_register_targets,liblangtag,\
build \
 ))
 
-# disable ccache on windows, as it doesn't cope with the quoted defines
-# liblangtag uses (-DBUILDDIR="\"$(abs_top_builddir)\"" and similar).
-# Results in "cl : Command line error D8003 : missing source filename"
 $(call gb_ExternalProject_get_state_target,liblangtag,build):
$(call gb_Trace_StartRange,liblangtrag,EXTERNAL)
$(call gb_ExternalProject_run,build,\
@@ -39,10 +36,7 @@ $(call gb_ExternalProject_get_state_target,liblangtag,build):
$(if $(filter 
MACOSX,$(OS)),--prefix=/@.__URELIB)
 \
$(if $(filter-out LINUX 
FREEBSD,$(OS)),,LDFLAGS="-Wl$(COMMA)-z$(COMMA)origin 
-Wl$(COMMA)-rpath,\"\$$\$$ORIGIN) \
$(if $(filter-out 
SOLARIS,$(OS)),,LDFLAGS="-Wl$(COMMA)-z$(COMMA)origin 
-Wl$(COMMA)-R$(COMMA)\"\$$\$$ORIGIN) \
-   && $(if $(filter WNT,$(OS)),\
-   REAL_CC="$(shell cygpath -w $(lastword $(filter-out 
-%,$(CC" \
-   REAL_CC_FLAGS="$(filter -%,$(CC))") \
-  $(if $(verbose),V=1) \
+   && $(if $(verbose),V=1) \
   $(MAKE) \
 LIBO_TUNNEL_LIBRARY_PATH='$(subst ','\'',$(subst 
$$,,$(call gb_Helper_extend_ld_path,$(call 
gb_UnpackedTarball_get_dir,liblangtag)/liblangtag/.libs)))' \
$(if $(filter MACOSX,$(OS)),\


core.git: Branch 'distro/allotropia/zeta-24-2' - bridges/source

2024-10-02 Thread Stephan Bergmann (via logerrit)
 bridges/source/cpp_uno/msvc_win32_arm64/abi.cxx |  102 
 bridges/source/cpp_uno/msvc_win32_arm64/abi.hxx |2 
 bridges/source/cpp_uno/msvc_win32_arm64/cpp2uno.cxx |   26 -
 bridges/source/cpp_uno/msvc_win32_arm64/uno2cpp.cxx |   22 
 4 files changed, 1 insertion(+), 151 deletions(-)

New commits:
commit 3af9a33aadd29d6c7d76cd09a50ec2b478b8bc63
Author: Stephan Bergmann 
AuthorDate: Fri Apr 26 10:17:36 2024 +0200
Commit: Balazs Varga 
CommitDate: Wed Oct 2 19:21:35 2024 +0200

Drop unused RETURN_KIND_HFA_FLOAT/DOUBLE from msvc_win32_arm64 UNO bridge

Change-Id: I8c6fbed8c587affda69285c203a3a93fa2e2e603
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/166699
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann 
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/174224
Tested-by: Balazs Varga 
Reviewed-by: Balazs Varga 

diff --git a/bridges/source/cpp_uno/msvc_win32_arm64/abi.cxx 
b/bridges/source/cpp_uno/msvc_win32_arm64/abi.cxx
index b8a1c73fb6f3..fbfdb1f34f40 100644
--- a/bridges/source/cpp_uno/msvc_win32_arm64/abi.cxx
+++ b/bridges/source/cpp_uno/msvc_win32_arm64/abi.cxx
@@ -18,96 +18,11 @@
  */
 
 #include 
-#include 
 
 #include 
 
 #include "abi.hxx"
 
-enum StructKind
-{
-STRUCT_KIND_EMPTY,
-STRUCT_KIND_FLOAT,
-STRUCT_KIND_DOUBLE,
-STRUCT_KIND_POD,
-STRUCT_KIND_DTOR
-};
-
-static StructKind getStructKind(typelib_CompoundTypeDescription const* type)
-{
-StructKind k = type->pBaseTypeDescription == 0 ? STRUCT_KIND_EMPTY
-   : 
getStructKind(type->pBaseTypeDescription);
-
-for (sal_Int32 i = 0; i != type->nMembers; ++i)
-{
-StructKind k2 = StructKind();
-switch (type->ppTypeRefs[i]->eTypeClass)
-{
-case typelib_TypeClass_BOOLEAN:
-case typelib_TypeClass_BYTE:
-case typelib_TypeClass_SHORT:
-case typelib_TypeClass_UNSIGNED_SHORT:
-case typelib_TypeClass_LONG:
-case typelib_TypeClass_UNSIGNED_LONG:
-case typelib_TypeClass_HYPER:
-case typelib_TypeClass_UNSIGNED_HYPER:
-case typelib_TypeClass_CHAR:
-case typelib_TypeClass_ENUM:
-k2 = STRUCT_KIND_POD;
-break;
-case typelib_TypeClass_FLOAT:
-k2 = STRUCT_KIND_FLOAT;
-break;
-case typelib_TypeClass_DOUBLE:
-k2 = STRUCT_KIND_DOUBLE;
-break;
-case typelib_TypeClass_STRING:
-case typelib_TypeClass_TYPE:
-case typelib_TypeClass_ANY:
-case typelib_TypeClass_SEQUENCE:
-case typelib_TypeClass_INTERFACE:
-k2 = STRUCT_KIND_DTOR;
-break;
-case typelib_TypeClass_STRUCT:
-{
-typelib_TypeDescription* td = 0;
-TYPELIB_DANGER_GET(&td, type->ppTypeRefs[i]);
-k2 = 
getStructKind(reinterpret_cast(td));
-TYPELIB_DANGER_RELEASE(td);
-break;
-}
-default:
-assert(false);
-}
-switch (k2)
-{
-case STRUCT_KIND_EMPTY:
-// this means an empty sub-object, which nevertheless obtains 
a byte
-// of storage (TODO: does it?), so the full object cannot be a
-// homogeneous collection of float or double
-case STRUCT_KIND_POD:
-assert(k != STRUCT_KIND_DTOR);
-k = STRUCT_KIND_POD;
-break;
-case STRUCT_KIND_FLOAT:
-case STRUCT_KIND_DOUBLE:
-if (k == STRUCT_KIND_EMPTY)
-{
-k = k2;
-}
-else if (k != k2)
-{
-assert(k != STRUCT_KIND_DTOR);
-k = STRUCT_KIND_POD;
-}
-break;
-case STRUCT_KIND_DTOR:
-return STRUCT_KIND_DTOR;
-}
-}
-return k;
-}
-
 ReturnKind getReturnKind(typelib_TypeDescription const* type)
 {
 switch (type->eTypeClass)
@@ -134,24 +49,9 @@ ReturnKind getReturnKind(typelib_TypeDescription const* 
type)
 case typelib_TypeClass_TYPE:
 case typelib_TypeClass_ANY:
 case typelib_TypeClass_SEQUENCE:
+case typelib_TypeClass_STRUCT:
 case typelib_TypeClass_INTERFACE:
 return RETURN_KIND_INDIRECT;
-case typelib_TypeClass_STRUCT:
-if (type->nSize > 16)
-{
-return RETURN_KIND_INDIRECT;
-}
-switch 
(getStructKind(reinterpret_cast(type)))
-{
-case STRUCT_KIND_FLOAT:
-return RETURN_KIND_INDIRECT;
-case STRUCT_KIND_DOUBLE:
-return RETURN_KIND_INDIRECT;
-

core.git: Branch 'distro/allotropia/zeta-24-2' - external/icu

2024-10-02 Thread Stephan Bergmann (via logerrit)
 external/icu/UnpackedTarball_icu.mk |1 +
 external/icu/no-python.patch|   11 +++
 2 files changed, 12 insertions(+)

New commits:
commit 586c560ca95404891d01979a772db5ac84453035
Author: Stephan Bergmann 
AuthorDate: Mon Apr 22 22:02:28 2024 +0200
Commit: Balazs Varga 
CommitDate: Wed Oct 2 19:22:00 2024 +0200

external/icu: Drop hidden dependency on Python

...which was always satisfied directly from the system, regardless of our
--enable-python=... setting.  (And which was a problem for my Git Bash and 
WSL
based Windows build attempt, where it happened to find a dysfunctional 
Python
wrapper at C:/Users/steph/AppData/Local/Microsoft/WindowsApps/python3 which
caused a

[...]
> Not rebuilding data/rules.mk, assuming prebuilt data in data/in
> Spawning Python to generate test/testdata/rules.mk...
> Python was not found; run without arguments to install from the Microsoft 
Store, or disable this shortcut from Settings > Manage App Execution Aliases.
> configure: error: Python failed to run; see above error.

error when building ExternalProject_icu.)

There are three uses of that PYTHON setting across 
workdir/UnpackedTarget/icu:

1  In source/configure.ac to generate source/data/rules.mk if
source/data/locales/root.txt would exist---but which doesn't, so we don't
actually need PYTHON there.

2  In source/configure.ac to generate source/test/testdata/rules.mk, but 
which
our (non-check) build apparently doesn't need anyway.

3  In source/data/Makefile.in for target check-local, which is a sub-target 
of
check (which we don't build).

Change-Id: I7455cc91fc67f36582bf54851c07030830cd3b8d
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/166500
Reviewed-by: Stephan Bergmann 
Tested-by: Jenkins
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/174225
Tested-by: Balazs Varga 
Reviewed-by: Balazs Varga 

diff --git a/external/icu/UnpackedTarball_icu.mk 
b/external/icu/UnpackedTarball_icu.mk
index 655614447d53..019bec6546ce 100644
--- a/external/icu/UnpackedTarball_icu.mk
+++ b/external/icu/UnpackedTarball_icu.mk
@@ -40,6 +40,7 @@ $(eval $(call gb_UnpackedTarball_add_patches,icu,\
external/icu/icu4c-khmerbreakengine.patch.1 \
external/icu/icu4c-$(if $(filter ANDROID,$(OS)),android,rpath).patch.1 \
$(if $(filter-out 
ANDROID,$(OS)),external/icu/icu4c-icudata-stdlibs.patch.1) \
+   external/icu/no-python.patch \
 ))
 
 $(eval $(call 
gb_UnpackedTarball_add_file,icu,source/data/brkitr/khmerdict.dict,external/icu/khmerdict.dict))
diff --git a/external/icu/no-python.patch b/external/icu/no-python.patch
new file mode 100644
index ..33960fcae321
--- /dev/null
+++ b/external/icu/no-python.patch
@@ -0,0 +1,11 @@
+--- source/configure.ac
 source/configure.ac
+@@ -202,7 +202,7 @@
+ m4_ifndef([AX_CHECK_COMPILE_FLAG], [AC_MSG_ERROR(['autoconf-archive' is 
missing])])
+ 
+ # TODO(ICU-20301): Remove fallback to Python 2.
+-AC_CHECK_PROGS(PYTHON, python3 "py -3" python "py")
++PYTHON=
+ AC_SUBST(PYTHON)
+ 
+ # Check for the platform make


core.git: Branch 'distro/allotropia/zeta-24-2' - solenv/gbuild

2024-10-02 Thread Christian Lohmaier (via logerrit)
 solenv/gbuild/Extension.mk |   11 ++-
 1 file changed, 6 insertions(+), 5 deletions(-)

New commits:
commit 61803bc9fcc3a6808b1e8a8a3d5c2c8601d998ff
Author: Christian Lohmaier 
AuthorDate: Mon Jul 24 12:49:46 2023 +0200
Commit: Balazs Varga 
CommitDate: Wed Oct 2 19:23:07 2024 +0200

avoid exceeding command-line length limits when using zip

to package an Extension. With all languages enabled one can reach the
limit with longish buildpaths

Change-Id: I8943d6570ded57761350311fb34a0cf469d3ce83
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/166326
Tested-by: Jenkins
Reviewed-by: Christian Lohmaier 
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/174228
Reviewed-by: Balazs Varga 
Tested-by: Balazs Varga 

diff --git a/solenv/gbuild/Extension.mk b/solenv/gbuild/Extension.mk
index 4342859e415f..200e7d9e2a4f 100644
--- a/solenv/gbuild/Extension.mk
+++ b/solenv/gbuild/Extension.mk
@@ -89,17 +89,20 @@ $(call gb_Extension_get_workdir,%)/description.xml : 
$(gb_Extension_XRMEXDEPS) $
-o $@ \
-m $${MERGEINPUT} \
-l all) && \
-   rm -rf $${MERGEINPUT}
+   rm -f $${MERGEINPUT}
$(call gb_Trace_EndRange,$*/description.xml,XRM)
 
 endif
 
 # rule to create oxt package in workdir
 # --filesync makes sure that all files in the oxt package will be removed that 
no longer are in $(FILES)
+# TODO: kinda pointless/ineffective to copy from one point in workdir to 
another, also makes the command
+# very long when building with all languages (nlpsolver extension for 
example), hence read list via pipe
 $(call gb_Extension_get_target,%) : \
$(call gb_Extension_get_workdir,%)/description.xml
$(call gb_Output_announce,$*,$(true),OXT,3)
$(call gb_Trace_StartRange,$*,OXT)
+   RESPONSEFILE=$(call gb_var2file,$(shell $(gb_MKTEMP)),$(subst 
$(WHITESPACE),$(NEWLINE),$(sort $(FILES && \
$(call gb_Helper_abbreviate_dirs,\
mkdir -p $(call gb_Extension_get_rootdir,$*)/META-INF \
$(if $(LICENSE),$(call 
gb_Extension_get_rootdir,$*)/registration) && \
@@ -108,10 +111,8 @@ $(call gb_Extension_get_target,%) : \
$(if $(LICENSE),cp -f $(LICENSE) $(call 
gb_Extension_get_rootdir,$*)/registration &&) \
$(if $(and $(gb_Extension_TRANS_LANGS),$(DESCRIPTION)),cp 
$(foreach lang,$(gb_Extension_TRANS_LANGS),$(call 
gb_Extension_get_workdir,$*)/description-$(lang).txt) $(call 
gb_Extension_get_rootdir,$*) &&) \
cd $(call gb_Extension_get_rootdir,$*) && \
-   ZIPFILES=$(call gb_var2file,$(shell $(gb_MKTEMP)),$(sort 
$(FILES))) && \
-   $(gb_Extension_ZIPCOMMAND) -rX --filesync --must-match \
-   $(call gb_Extension_get_target,$*) \
-   `cat $${ZIPFILES} | tr -d ' '` && rm $${ZIPFILES})
+   cat $$RESPONSEFILE | $(gb_Extension_ZIPCOMMAND) -rX --filesync 
--must-match \
+   $(call gb_Extension_get_target,$*) --names-stdin) && rm 
-f $$RESPONSEFILE
$(call gb_Trace_EndRange,$*,OXT)
 
 # set file list and location of manifest and description files


core.git: Branch 'distro/allotropia/zeta-24-2' - solenv/gbuild

2024-10-02 Thread Christian Lohmaier (via logerrit)
 solenv/gbuild/LinkTarget.mk |   11 ---
 solenv/gbuild/PrecompiledHeaders.mk |   10 --
 solenv/gbuild/gbuild.mk |3 +++
 3 files changed, 7 insertions(+), 17 deletions(-)

New commits:
commit 9e26e5b7e4102be4ca63f3b030a8dcf7b7e5a1ba
Author: Christian Lohmaier 
AuthorDate: Tue Jul 11 18:27:36 2023 +0200
Commit: Balazs Varga 
CommitDate: Wed Oct 2 19:23:31 2024 +0200

add generic %/.dir target that can be used in order-only prerequisites

Change-Id: I7a919004100ff6319806bbdf016fda6a3a39661a
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/166327
Tested-by: Jenkins
Reviewed-by: Christian Lohmaier 
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/174229
Tested-by: Balazs Varga 
Reviewed-by: Balazs Varga 

diff --git a/solenv/gbuild/LinkTarget.mk b/solenv/gbuild/LinkTarget.mk
index 86f6a659d7c2..f0aa8cc214c9 100644
--- a/solenv/gbuild/LinkTarget.mk
+++ b/solenv/gbuild/LinkTarget.mk
@@ -282,11 +282,6 @@ endif
 # Note: if the *Object_dep_target does not exist it will be created by
 # concat-deps as PHONY
 ifeq ($(gb_FULLDEPS),$(true))
-$(dir $(call gb_CObject_get_dep_target,%)).dir :
-   $(if $(wildcard $(dir $@)),,mkdir -p $(dir $@))
-
-$(dir $(call gb_CObject_get_dep_target,%))%/.dir :
-   $(if $(wildcard $(dir $@)),,mkdir -p $(dir $@))
 
 $(call gb_CObject_get_dep_target,%) :
$(if $(wildcard $@),touch $@)
@@ -345,12 +340,6 @@ $(call gb_CxxObject_get_target,%) : $(call 
gb_CxxObject_get_source,$(SRCDIR),%)
 endif
 
 ifeq ($(gb_FULLDEPS),$(true))
-$(dir $(call gb_CxxObject_get_dep_target,%)).dir :
-   $(if $(wildcard $(dir $@)),,mkdir -p $(dir $@))
-
-$(dir $(call gb_CxxObject_get_dep_target,%))%/.dir :
-   $(if $(wildcard $(dir $@)),,mkdir -p $(dir $@))
-
 $(call gb_CxxObject_get_dep_target,%) :
$(if $(wildcard $@),touch $@)
 
diff --git a/solenv/gbuild/PrecompiledHeaders.mk 
b/solenv/gbuild/PrecompiledHeaders.mk
index 60445c28efbe..429ea57de201 100644
--- a/solenv/gbuild/PrecompiledHeaders.mk
+++ b/solenv/gbuild/PrecompiledHeaders.mk
@@ -25,8 +25,8 @@ gb_PrecompiledHeader__get_debugdir = $(if $(call 
gb_target_symbols_enabled,$(1))
 
 # $(call gb_PrecompiledHeader_generate_timestamp_rule,linktargetmakefilename)
 define gb_PrecompiledHeader_generate_timestamp_rule
-$(call gb_LinkTarget_get_pch_timestamp,$(1)) :
-   mkdir -p $$(dir $$@) && touch $$@
+$(call gb_LinkTarget_get_pch_timestamp,$(1)) : | $(dir $(call 
gb_LinkTarget_get_pch_timestamp,$(1))).dir
+   touch $$@
 
 endef
 
@@ -46,10 +46,8 @@ gb_PrecompiledHeader_flags_for_flags_file := $$(sort 
$(gb_PrecompiledHeader_cxxf
 # $(call 
gb_PrecompiledHeader_generate_rules,pchtarget,linktarget,linktargetmakefilename,pchcxxfile,compiler)
 define gb_PrecompiledHeader_generate_rules
 
-$(call gb_PrecompiledHeader_get_dep_target,$(1),$(3)) :
-   $$(call gb_Helper_abbreviate_dirs,\
-   mkdir -p $$(dir $$@) && \
-   echo "$$(call gb_PrecompiledHeader_get_target,$(1),$(3)) : 
$$(gb_Helper_PHONY)" > $$@)
+$(call gb_PrecompiledHeader_get_dep_target,$(1),$(3)) : | $(dir $(call 
gb_PrecompiledHeader_get_dep_target,$(1),$(3))).dir
+   echo "$$(call gb_PrecompiledHeader_get_target,$(1),$(3)) : 
$$(gb_Helper_PHONY)" > $$@
 
 # keep the flags the PCH was built with in a separate file, update the file if 
and only if the flags
 # change, and make the PCH depend on it => the PCH will be rebuilt on any 
flags change
diff --git a/solenv/gbuild/gbuild.mk b/solenv/gbuild/gbuild.mk
index d190c374503c..32729db55920 100644
--- a/solenv/gbuild/gbuild.mk
+++ b/solenv/gbuild/gbuild.mk
@@ -414,4 +414,7 @@ ifneq ($(CCACHE_DEPEND_MODE),)
 gb_COMPILER_SETUP += CCACHE_DEPEND=1
 endif
 
+$(WORKDIR)/%/.dir:
+   mkdir -p $(@D) && touch $@
+
 # vim: set noet sw=4:


core.git: Branch 'distro/allotropia/zeta-24-2' - solenv/gbuild

2024-10-02 Thread Christian Lohmaier (via logerrit)
 solenv/gbuild/platform/com_MSC_class.mk |2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

New commits:
commit 4ffefa10de859ea6cb81a3f6b28ed55121fba0cf
Author: Christian Lohmaier 
AuthorDate: Wed Aug 2 16:11:10 2023 +0200
Commit: Balazs Varga 
CommitDate: Wed Oct 2 19:22:46 2024 +0200

com_MSC_class: set MAKE=nmake in gb_NMAKE_VARS

Change-Id: I485a486efba39c12c52d7461f4b235163f009042
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/166325
Tested-by: Jenkins
Reviewed-by: Christian Lohmaier 
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/174227
Tested-by: Balazs Varga 
Reviewed-by: Balazs Varga 

diff --git a/solenv/gbuild/platform/com_MSC_class.mk 
b/solenv/gbuild/platform/com_MSC_class.mk
index ddbc9637fbac..911b0356e2fc 100644
--- a/solenv/gbuild/platform/com_MSC_class.mk
+++ b/solenv/gbuild/platform/com_MSC_class.mk
@@ -674,7 +674,7 @@ gb_NMAKE_VARS = \
INCLUDE="$(gb_ExternalProject_INCLUDE)" \
LIB="$(ILIB)" \
MAKEFLAGS= \
-   MAKE=
+   MAKE=nmake
 
 # InstallScript class
 


core.git: Branch 'distro/allotropia/zeta-24-2' - external/breakpad external/coinmp external/lcms2 external/libtommath external/python3 external/skia

2024-10-02 Thread Christian Lohmaier (via logerrit)
 external/breakpad/UnpackedTarball_breakpad.mk |6 ++
 external/coinmp/UnpackedTarball_coinmp.mk |5 +
 external/lcms2/UnpackedTarball_lcms2.mk   |5 +
 external/libtommath/UnpackedTarball_libtommath.mk |5 +
 external/python3/UnpackedTarball_python3.mk   |5 +
 external/skia/UnpackedTarball_skia.mk |5 +
 6 files changed, 31 insertions(+)

New commits:
commit 56c54fc424e2fbebf2626231c3d0503a2bb87a2d
Author: Christian Lohmaier 
AuthorDate: Tue Aug 8 12:13:53 2023 +0200
Commit: Balazs Varga 
CommitDate: Wed Oct 2 19:23:53 2024 +0200

use --binary flag when applying patches with patch from git-bash

Change-Id: Idbd4ad7ad89dc727e2f0cf851c4c62f05d5b2a0c
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/166328
Tested-by: Jenkins
Reviewed-by: Christian Lohmaier 
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/174230
Tested-by: Balazs Varga 
Reviewed-by: Balazs Varga 

diff --git a/external/breakpad/UnpackedTarball_breakpad.mk 
b/external/breakpad/UnpackedTarball_breakpad.mk
index eca3d550d0d4..ce553e334251 100644
--- a/external/breakpad/UnpackedTarball_breakpad.mk
+++ b/external/breakpad/UnpackedTarball_breakpad.mk
@@ -19,6 +19,12 @@ $(eval $(call 
gb_UnpackedTarball_set_tarball,breakpad,$(BREAKPAD_TARBALL)))
 # external/breakpad/SIGSTKSZ.patch upstreamed at
 #   
"Adpat to SIGSTKSZ type
 #  in glibc 2.34":
+
+ifneq ($(MSYSTEM),)
+# use binary flag so patch from git-bash won't choke on mixed line-endings in 
patches
+$(eval $(call gb_UnpackedTarball_set_patchflags,breakpad,--binary))
+endif
+
 $(eval $(call gb_UnpackedTarball_add_patches,breakpad,\
external/breakpad/breakpad-use-correct-http-header.patch.1 \
external/breakpad/breakpad-wshadow.patch.1 \
diff --git a/external/coinmp/UnpackedTarball_coinmp.mk 
b/external/coinmp/UnpackedTarball_coinmp.mk
index 83ebfca80193..20cf9184516e 100644
--- a/external/coinmp/UnpackedTarball_coinmp.mk
+++ b/external/coinmp/UnpackedTarball_coinmp.mk
@@ -29,6 +29,11 @@ $(eval $(call 
gb_UnpackedTarball_update_autoconf_configs,coinmp,\
Osi \
 ))
 
+ifneq ($(MSYSTEM),)
+# use binary flag so patch from git-bash won't choke on mixed line-endings in 
patches
+$(eval $(call gb_UnpackedTarball_set_patchflags,coinmp,--binary))
+endif
+
 # * external/coinmp/Wnon-c-typedef-for-linkage.patch upstream at
 #   
 
"[Coin-discuss]
 #   Small patch to fix Clang -Wnon-c-typedef-for-linkage in Clp":
diff --git a/external/lcms2/UnpackedTarball_lcms2.mk 
b/external/lcms2/UnpackedTarball_lcms2.mk
index 745da1a0a782..f44683e03809 100644
--- a/external/lcms2/UnpackedTarball_lcms2.mk
+++ b/external/lcms2/UnpackedTarball_lcms2.mk
@@ -15,6 +15,11 @@ $(eval $(call 
gb_UnpackedTarball_update_autoconf_configs,lcms2))
 
 $(eval $(call gb_UnpackedTarball_set_patchlevel,lcms2,3))
 
+ifneq ($(MSYSTEM),)
+# use binary flag so patch from git-bash won't choke on mixed line-endings in 
patches
+$(eval $(call gb_UnpackedTarball_set_patchflags,lcms2,--binary))
+endif
+
 # external/lcms2/0001-Added-missing-export.patch.1:
 # backport of 
https://github.com/mm2/Little-CMS/commit/f7b3c637c20508655f8b49935a4b556d52937b69
 $(eval $(call gb_UnpackedTarball_add_patches,lcms2,\
diff --git a/external/libtommath/UnpackedTarball_libtommath.mk 
b/external/libtommath/UnpackedTarball_libtommath.mk
index 8961a46162c5..6d8e1e9fdd57 100644
--- a/external/libtommath/UnpackedTarball_libtommath.mk
+++ b/external/libtommath/UnpackedTarball_libtommath.mk
@@ -13,6 +13,11 @@ $(eval $(call 
gb_UnpackedTarball_set_tarball,libtommath,$(LIBTOMMATH_TARBALL)))
 
 $(eval $(call gb_UnpackedTarball_set_patchlevel,libtommath,0))
 
+ifneq ($(MSYSTEM),)
+# use binary flag so patch from git-bash won't choke on mixed line-endings in 
patches
+$(eval $(call gb_UnpackedTarball_set_patchflags,libtommath,--binary))
+endif
+
 $(eval $(call gb_UnpackedTarball_add_patches,libtommath,\
 ))
 
diff --git a/external/python3/UnpackedTarball_python3.mk 
b/external/python3/UnpackedTarball_python3.mk
index 93cb9015c9a6..a66771ecb710 100644
--- a/external/python3/UnpackedTarball_python3.mk
+++ b/external/python3/UnpackedTarball_python3.mk
@@ -16,6 +16,11 @@ $(eval $(call gb_UnpackedTarball_fix_end_of_line,python3,\
PCbuild/pcbuild.sln \
 ))
 
+ifneq ($(MSYSTEM),)
+# use binary flag so patch from git-bash won't choke on mixed line-endings in 
patches
+$(eval $(call gb_UnpackedTarball_set_patchflags,python3,--binary))
+endif
+
 $(eval $(call gb_UnpackedTarball_add_patches,python3,\
external/python3/i100492-freebsd.patch.1 \
external/python3/python-3.3.0-darwin.patch.1 \
diff --git a/external/skia/UnpackedTarball_skia.mk 
b/external/skia/UnpackedTarball_skia.mk
index 2cdcf62872d3..4c97b882344f 100644
--- a/external/skia/UnpackedTarball_skia.mk
+++ b/exte

core.git: Branch 'distro/allotropia/zeta-24-2' - download.lst external/rhino scripting/Jar_ScriptProviderForJavaScript.mk scripting/java

2024-10-02 Thread Stephan Bergmann (via logerrit)
 download.lst   
   |4 
 external/rhino/ExternalPackage_rhino.mk
   |2 
 external/rhino/ExternalProject_rhino.mk
   |   36 
 external/rhino/OfficeScriptInfo.java   
   |  118 -
 external/rhino/UnpackedTarball_rhino.mk
   |   11 
 external/rhino/filelist.txt
   |  330 +++
 external/rhino/rhino-classpath.patch.1 
   |   13 
 external/rhino/rhino1_5R5-find_swing.patch 
   |   16 
 external/rhino/rhino1_5R5-updateToolTip.patch  
   |   23 
 external/rhino/rhino1_5R5.patch
   | 1067 --
 scripting/Jar_ScriptProviderForJavaScript.mk   
   |6 
 
scripting/java/com/sun/star/script/framework/provider/javascript/ScriptEditorForJavaScript.java
   |  319 --
 
scripting/java/com/sun/star/script/framework/provider/javascript/ScriptProviderForJavaScript.java
 |   59 
 scripting/java/com/sun/star/script/framework/provider/javascript/template.js   
   |   54 
 14 files changed, 363 insertions(+), 1695 deletions(-)

New commits:
commit 80ea8b17332c6382cbf6d216e28bb839a45460de
Author: Stephan Bergmann 
AuthorDate: Fri Mar 22 15:53:49 2024 +0100
Commit: Balazs Varga 
CommitDate: Wed Oct 2 19:18:56 2024 +0200

Update to latest Rhino 1.7.14

...at the expense of losing, at least for now, the script editor for it 
(which
had been hacked into the old upstream sources in a hard-to-maintain way).

rhino-1.7.14.zip is taken from

.
Building it would now use Gradle, but instead just hack together an 
invocation
of javac and jar in external/rhino/ExternalProject_rhino.mk that effectively
generates the same jar as the upstream-built jar available at

.

All the various patches are no longer necessary:
* external/rhino/rhino1_5R5.patch and external/rhino/OfficeScriptInfo.java 
were
  mostly for the hacked-in script editor, which has been abandoned at least 
for
  now (see above).
* external/rhino/rhino1_5R5-find_swing.patch (originally from
  0a7f9346503a557f583bced269655fa1996550af "ause109: #i106296# make 
build.xml
  aware of TARFILE_LOCATION") appears to be obsolete.
* external/rhino/rhino1_5R5-updateToolTip.patch is covered by
  

  "Fix bug 414869: Rhino debugger fails to launch due to updates in mac os x
  leopard".
* external/rhino/rhino-classpath.patch.1 from
  bb58293296f843654045d7b0eba6899d11533a4a "rhino: unbreak build on Fedora 
34"
  was only relevant when building with Ant.

Change-Id: I5fca5915d785716f7aaf313ff2469a20f55f707a
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/165190
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann 
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/174219
Tested-by: Balazs Varga 
Reviewed-by: Balazs Varga 

diff --git a/download.lst b/download.lst
index 18469c101aab..39d8a92356dc 100644
--- a/download.lst
+++ b/download.lst
@@ -586,8 +586,8 @@ REVENGE_TARBALL := 
librevenge-0.0.$(REVENGE_VERSION_MICRO).tar.bz2
 # three static lines
 # so that git cherry-pick
 # will not run into conflicts
-RHINO_SHA256SUM := 
1fb458d6aab06932693cc8a9b6e4e70944ee1ff052fa63606e3131df34e21753
-RHINO_TARBALL := 798b2ffdc8bcfe7bca2cf92b62caf685-rhino1_5R5.zip
+RHINO_SHA256SUM := 
bf4d2d0c5ff8889fd494486db09291cb7965f0bf2f93ef005d3b08070a5a4f5c
+RHINO_TARBALL := rhino-1.7.14.zip
 # three static lines
 # so that git cherry-pick
 # will not run into conflicts
diff --git a/external/rhino/ExternalPackage_rhino.mk 
b/external/rhino/ExternalPackage_rhino.mk
index 0ee1d60e309d..faac15c6978e 100644
--- a/external/rhino/ExternalPackage_rhino.mk
+++ b/external/rhino/ExternalPackage_rhino.mk
@@ -11,6 +11,6 @@ $(eval $(call gb_ExternalPackage_ExternalPackage,rhino,rhino))
 
 $(eval $(call gb_ExternalPackage_use_external_project,rhino,rhino))
 
-$(eval $(call 
gb_ExternalPackage_add_file,rhino,$(LIBO_SHARE_JAVA_FOLDER)/js.jar,build/rhino1_5R5/js.jar))
+$(eval $(call 
gb_ExternalPackage_add_file,rhino,$(LIBO_SHARE_JAVA_FOLDER)/js.jar,build/js.jar))
 
 # vim: set noet sw=4 ts=4:
diff --git a/external/rhino/ExternalProject_rhino.mk 
b/external/rhino/ExternalProje

core.git: Branch 'distro/allotropia/zeta-24-2' - bridges/source

2024-10-02 Thread Stephan Bergmann (via logerrit)
 bridges/source/cpp_uno/msvc_win32_arm64/abi.cxx   |6 
 bridges/source/cpp_uno/msvc_win32_arm64/callvirtualfunction.S |   74 +-
 bridges/source/cpp_uno/msvc_win32_arm64/cpp2uno.cxx   |6 
 bridges/source/cpp_uno/msvc_win32_arm64/uno2cpp.cxx   |   18 +-
 bridges/source/cpp_uno/msvc_win32_arm64/vtableslotcall.S  |1 
 5 files changed, 60 insertions(+), 45 deletions(-)

New commits:
commit 3b3f7edbea05d7ee63d91af6eec9df3ab9684445
Author: Stephan Bergmann 
AuthorDate: Wed Apr 24 14:06:11 2024 +0200
Commit: Balazs Varga 
CommitDate: Wed Oct 2 19:19:37 2024 +0200

Some fixing of msvc_win32_arm64 UNO bridge

For one, the Windows ABI deviates from the generic aarch64 ABI regarding
returning class instances by value from non-static member functions, see

:
"The caller shall reserve a block of memory of sufficient size and 
alignment to
hold the result.  The address of the memory block shall be passed as an
additional argument to the function in x0, or x1 if $this is passed in x0.  
The
callee may modify the result memory block at any point during the execution 
of
the subroutine.  The callee returns the address of the memory block in x0."
That means RETURN_KIND_HFA_FLOAT and RETURN_KIND_HFA_DOUBLE are not needed, 
and
can be cleaned up in a follow-up commit.

And for another, setting up a call stack frame in call() in uno2cpp.cxx for
callVirtualFunction() didn't actually work, so go with a slightly less 
ambitious
aproach (as also used by the gcc_linux_aarch64 bridge) and explicitly copy 
the
arguments that end up on the stack around in callVirtualFunction().

This allows CustomTarget_testtools/uno_test to proceed at least as far as 
the
call of getRaiseAttr1(), which still leads to an uncaught
css::uno::RuntimeException.

Change-Id: I4a8ec09c270864ac4de246d7e8d1f923198236b1
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/166585
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann 
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/174220
Tested-by: Balazs Varga 
Reviewed-by: Balazs Varga 

diff --git a/bridges/source/cpp_uno/msvc_win32_arm64/abi.cxx 
b/bridges/source/cpp_uno/msvc_win32_arm64/abi.cxx
index c88873143898..b8a1c73fb6f3 100644
--- a/bridges/source/cpp_uno/msvc_win32_arm64/abi.cxx
+++ b/bridges/source/cpp_uno/msvc_win32_arm64/abi.cxx
@@ -144,13 +144,13 @@ ReturnKind getReturnKind(typelib_TypeDescription const* 
type)
 switch 
(getStructKind(reinterpret_cast(type)))
 {
 case STRUCT_KIND_FLOAT:
-return RETURN_KIND_HFA_FLOAT;
+return RETURN_KIND_INDIRECT;
 case STRUCT_KIND_DOUBLE:
-return RETURN_KIND_HFA_DOUBLE;
+return RETURN_KIND_INDIRECT;
 case STRUCT_KIND_DTOR:
 return RETURN_KIND_INDIRECT;
 default:
-return RETURN_KIND_REG;
+return RETURN_KIND_INDIRECT;
 }
 }
 }
diff --git a/bridges/source/cpp_uno/msvc_win32_arm64/callvirtualfunction.S 
b/bridges/source/cpp_uno/msvc_win32_arm64/callvirtualfunction.S
index a058e47d0038..546c02cf5040 100644
--- a/bridges/source/cpp_uno/msvc_win32_arm64/callvirtualfunction.S
+++ b/bridges/source/cpp_uno/msvc_win32_arm64/callvirtualfunction.S
@@ -19,53 +19,63 @@
 /*
extern void callVirtualFunction
 
-   x0 stack
-   x1 frame
-   x2 function
-   x3 return
+   x0 regs
+   x1 stack
+   x2 stack count
+   x3 function
 */
 
-NESTED_ENTRY callVirtualFunction_fake
+NESTED_ENTRY callVirtualFunction
 
-// for unwind information, Windows has to store fp and lr
-PROLOG_SAVE_REG_PAIR   x29, x30, #-32!
+sub   sp, sp, #32
+stp   fp, lr, [sp]
+mov   fp, sp
 
-ALTERNATE_ENTRY callVirtualFunction
+// Stack space for arguments >= 8 (16-byte aligned):
+lsl   x2, x2, #3
+sub   x9, sp, x2
+bfc   x9, #0, #4
+mov   sp, x9
 
-// use a stack frame allocated by our caller
-stp   x29, x30, [x1]
-mov   x29, x1
-mov   sp, x0
+// Copy arguments >= 8:
+cbz   x2, done
+loop
+sub   x2, x2, #8
+ldr   x9, [x1, x2]
+str   x9, [sp, x2]
+cbnz  x2, loop
+done
 
-mov   x9, x2  // function
-mov   x8, x3  // complex return
-str   x3, [x29, #16]  // save rvalue
+mov   x9, x3  // function
+
+mov   x10, x0
+str   x10, [fp, #16]
 
 // load the core argument passing registers
-ldp   x0, x1, [sp, #-128]
-ldp   x2, x3, [sp, #-112]
-ldp   x4, x5, [sp, #-96]
-ldp   x6, x7, [sp, #-80]
+ 

core.git: Branch 'distro/allotropia/zeta-24-2' - bridges/source

2024-10-02 Thread Stephan Bergmann (via logerrit)
 bridges/source/cpp_uno/msvc_win32_arm64/callvirtualfunction.S |9 +++--
 1 file changed, 7 insertions(+), 2 deletions(-)

New commits:
commit e5199109d558899afc0d9e21a364c8afd6ca0ac6
Author: Stephan Bergmann 
AuthorDate: Thu Apr 25 09:48:40 2024 +0200
Commit: Balazs Varga 
CommitDate: Wed Oct 2 19:20:02 2024 +0200

Add back the callVirtualFunction_fake boilerplate

...that ae6ee262d7649222a137f8722886a10db274ddf5 "Some fixing of
msvc_win32_arm64 UNO bridge" had removed, assuming it wasn't actually 
necessary.
But looks like Windows exception handling stack unwinding somehow needs it 
after
all.  Getting past the CustomTarget_testtools/uno_test getRaiseAttr1() call 
now
(but still failing at some later place).

Change-Id: I1e84345f2f355ab1e480c779da6b221b744132b3
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/166616
Reviewed-by: Stephan Bergmann 
Tested-by: Jenkins
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/174221
Tested-by: Balazs Varga 
Reviewed-by: Balazs Varga 

diff --git a/bridges/source/cpp_uno/msvc_win32_arm64/callvirtualfunction.S 
b/bridges/source/cpp_uno/msvc_win32_arm64/callvirtualfunction.S
index 546c02cf5040..55fd3f95ff85 100644
--- a/bridges/source/cpp_uno/msvc_win32_arm64/callvirtualfunction.S
+++ b/bridges/source/cpp_uno/msvc_win32_arm64/callvirtualfunction.S
@@ -25,7 +25,12 @@
x3 function
 */
 
-NESTED_ENTRY callVirtualFunction
+NESTED_ENTRY callVirtualFunction_fake
+
+// for unwind information, Windows has to store fp and lr
+PROLOG_SAVE_REG_PAIR   x29, x30, #-32!
+
+ALTERNATE_ENTRY callVirtualFunction
 
 sub   sp, sp, #32
 stp   fp, lr, [sp]
@@ -75,7 +80,7 @@ done
 ldp   fp, lr, [sp, #-32]
 ret
 
-NESTED_END callVirtualFunction
+NESTED_END callVirtualFunction_fake
 
 END
 


core.git: Branch 'distro/allotropia/zeta-24-2' - bridges/source

2024-10-02 Thread Stephan Bergmann (via logerrit)
 bridges/source/cpp_uno/msvc_win32_arm64/cpp2uno.cxx |2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

New commits:
commit 217dd12214f6e743327ade178a82489263bf5115
Author: Stephan Bergmann 
AuthorDate: Thu Apr 25 14:16:16 2024 +0200
Commit: Balazs Varga 
CommitDate: Wed Oct 2 19:20:27 2024 +0200

Adapt queryInterface in fixed msvc_win32_arm64 UNO bridge

...where the function's argument is in x2, not x1 (see commit message of
ae6ee262d7649222a137f8722886a10db274ddf5 "Some fixing of msvc_win32_arm64 
UNO
bridge" for details)

Change-Id: I00ef5df1ebad4609918c0c6845ebdcfe810f6152
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/166622
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann 
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/174222
Reviewed-by: Balazs Varga 
Tested-by: Balazs Varga 

diff --git a/bridges/source/cpp_uno/msvc_win32_arm64/cpp2uno.cxx 
b/bridges/source/cpp_uno/msvc_win32_arm64/cpp2uno.cxx
index da8694667b3c..a43cd3e24698 100644
--- a/bridges/source/cpp_uno/msvc_win32_arm64/cpp2uno.cxx
+++ b/bridges/source/cpp_uno/msvc_win32_arm64/cpp2uno.cxx
@@ -290,7 +290,7 @@ extern "C" void vtableCall(sal_Int32 functionIndex, 
sal_Int32 vtableOffset, sal_
 {
 typelib_TypeDescription* td = nullptr;
 TYPELIB_DANGER_GET(&td,
-   
(reinterpret_cast(gpr[1])->getTypeLibType()));
+   
(reinterpret_cast(gpr[2])->getTypeLibType()));
 if (td != 0 && td->eTypeClass == 
typelib_TypeClass_INTERFACE)
 {
 uno::XInterface* ifc = nullptr;


core.git: Branch 'distro/allotropia/zeta-24-2' - basic/Library_sb.mk basic/source

2024-10-02 Thread Stephan Bergmann (via logerrit)
 basic/Library_sb.mk  |2 +-
 basic/source/runtime/dllmgr-none.cxx |2 +-
 basic/source/runtime/dllmgr.hxx  |4 ++--
 3 files changed, 4 insertions(+), 4 deletions(-)

New commits:
commit 4a0239929945d38187bd5c0ce5cd46e311653d9c
Author: Stephan Bergmann 
AuthorDate: Fri Apr 26 09:21:17 2024 +0200
Commit: Balazs Varga 
CommitDate: Wed Oct 2 19:20:57 2024 +0200

Use Windows dllmgr-x64 also for aarch64

At least, CppunitTest_basic_macros 
CPPUNIT_TEST_NAME=Coverage::Coverage_Iterator
(which exercises it in basic/qa/basic_coverage/test_declare_from_dll.bas)
succeeds.

Change-Id: Ife90d5b84d5fb7bb4948cfeaf48180a6929a1dff
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/166695
Reviewed-by: Stephan Bergmann 
Tested-by: Jenkins
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/174223
Tested-by: Balazs Varga 
Reviewed-by: Balazs Varga 

diff --git a/basic/Library_sb.mk b/basic/Library_sb.mk
index 4976eb5eda8b..c5fb659300c5 100644
--- a/basic/Library_sb.mk
+++ b/basic/Library_sb.mk
@@ -150,7 +150,7 @@ $(eval $(call gb_Library_add_asmobjects,sb,\
basic/source/runtime/wnt-x86 \
 ))
 else
-ifeq ($(OS)$(CPUNAME),WNTX86_64)
+ifeq ($(OS)$(filter-out AARCH64 X86_64,$(CPUNAME)),WNT)
 $(eval $(call gb_Library_add_exception_objects,sb,\
basic/source/runtime/dllmgr-x64 \
 ))
diff --git a/basic/source/runtime/dllmgr-none.cxx 
b/basic/source/runtime/dllmgr-none.cxx
index 4c7f700a9eef..2a03e2ae7855 100644
--- a/basic/source/runtime/dllmgr-none.cxx
+++ b/basic/source/runtime/dllmgr-none.cxx
@@ -106,7 +106,7 @@ void SbiDllMgr::FreeDll(SAL_UNUSED_PARAMETER OUString const 
&) {}
 
 SbiDllMgr::SbiDllMgr() = default;
 
-#if defined(_WIN32) && !defined(_ARM64_)
+#if defined(_WIN32)
 SbiDllMgr::~SbiDllMgr() = default;
 #endif
 
diff --git a/basic/source/runtime/dllmgr.hxx b/basic/source/runtime/dllmgr.hxx
index a280e89b64db..fe76cfb681b6 100644
--- a/basic/source/runtime/dllmgr.hxx
+++ b/basic/source/runtime/dllmgr.hxx
@@ -33,7 +33,7 @@ public:
 
 SbiDllMgr();
 
-#if defined(_WIN32) && !defined(_ARM64_)
+#if defined(_WIN32)
 ~SbiDllMgr();
 #endif
 
@@ -44,7 +44,7 @@ public:
 void FreeDll(OUString const & library);
 
 private:
-#if defined(_WIN32) && !defined(_ARM64_)
+#if defined(_WIN32)
 struct Impl;
 
 std::unique_ptr< Impl > impl_;


core.git: Branch 'distro/allotropia/zeta-24-2' - solenv/bin

2024-10-02 Thread Christian Lohmaier (via logerrit)
 solenv/bin/modules/installer.pm   |2 --
 solenv/bin/modules/installer/control.pm   |4 +++-
 solenv/bin/modules/installer/globals.pm   |2 +-
 solenv/bin/modules/installer/parameter.pm |1 +
 solenv/bin/modules/installer/windows/msiglobal.pm |   21 -
 5 files changed, 17 insertions(+), 13 deletions(-)

New commits:
commit 010f122f2269709ec4fc84ffbc7df4c2dfe56a16
Author: Christian Lohmaier 
AuthorDate: Fri Apr 19 14:54:12 2024 +0200
Commit: Balazs Varga 
CommitDate: Wed Oct 2 19:34:24 2024 +0200

don't throw away command output when packaging installsets

and adjust installer to work with MSWin-style perl (like strawberry
perl)

Change-Id: I9305c7cb6ef72560bbf77626f113f3ee439b3ef3
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/166331
Tested-by: Jenkins
Reviewed-by: Christian Lohmaier 
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/174233
Tested-by: Balazs Varga 
Reviewed-by: Balazs Varga 

diff --git a/solenv/bin/modules/installer.pm b/solenv/bin/modules/installer.pm
index a22385924b92..9fe41ed25fd8 100644
--- a/solenv/bin/modules/installer.pm
+++ b/solenv/bin/modules/installer.pm
@@ -581,8 +581,6 @@ sub run {
 
 
installer::scriptitems::changing_name_of_language_dependent_keys($filesinproductlanguageresolvedarrayref);
 
-if ( $installer::globals::iswin and $^O =~ /MSWin/i ) { 
installer::converter::convert_slash_to_backslash($filesinproductlanguageresolvedarrayref);
 }
-
 $filesinproductlanguageresolvedarrayref = 
installer::scriptitems::remove_non_existent_languages_in_productlists($filesinproductlanguageresolvedarrayref,
 $languagestringref, "Name", "file");
 
 
installer::scriptitems::get_Destination_Directory_For_Item_From_Directorylist($filesinproductlanguageresolvedarrayref,
 $dirsinproductarrayref);
diff --git a/solenv/bin/modules/installer/control.pm 
b/solenv/bin/modules/installer/control.pm
index d126e917b57f..4faff4f39b9f 100644
--- a/solenv/bin/modules/installer/control.pm
+++ b/solenv/bin/modules/installer/control.pm
@@ -87,6 +87,8 @@ sub check_system_path
 map { my $dir = qx{cygpath -m "$_"}; chomp($dir); $dir 
}
 split /\Q$local_pathseparator\E\s*/, $pathvariable;
 $local_pathseparator = ';';
+} elsif ( $^O =~ /MSWin/i ) {
+$local_pathseparator = ';';
 }
 my $patharrayref = 
installer::converter::convert_stringlist_into_array(\$pathvariable, 
$local_pathseparator);
 
@@ -96,7 +98,7 @@ sub check_system_path
 
 if (($installer::globals::iswin) && ($installer::globals::iswindowsbuild))
 {
-@needed_files_in_path = ("zip.exe", "msiinfo.exe", "msidb.exe", 
"uuidgen", "makecab.exe", "msitran.exe", "expand.exe");
+@needed_files_in_path = ("msiinfo.exe", "msidb.exe", "uuidgen.exe", 
"makecab.exe", "msitran.exe", "expand.exe");
 }
 elsif ($installer::globals::iswin)
 {
diff --git a/solenv/bin/modules/installer/globals.pm 
b/solenv/bin/modules/installer/globals.pm
index 045d9d6afde9..0dc148a9155a 100644
--- a/solenv/bin/modules/installer/globals.pm
+++ b/solenv/bin/modules/installer/globals.pm
@@ -265,7 +265,7 @@ BEGIN
 @installer::globals::removedirs = ();
 @installer::globals::removefiletable = ();
 
-if ( $^O =~ /cygwin/i )
+if ( $^O =~ /cygwin/i || $^O =~ /MSWin/i )
 {
 $installer::globals::zippath = "zip";   # Has to be in 
the path: /usr/bin/zip
 $installer::globals::separator = "/";
diff --git a/solenv/bin/modules/installer/parameter.pm 
b/solenv/bin/modules/installer/parameter.pm
index b183057eac1e..98910d53b756 100644
--- a/solenv/bin/modules/installer/parameter.pm
+++ b/solenv/bin/modules/installer/parameter.pm
@@ -187,6 +187,7 @@ sub control_fundamental_parameter
 sub make_path_absolute
 {
 my ($pathref) = @_;
+return if ( $^O =~ /MSWin/i ); # no need to do anything here
 
 if ( $installer::globals::isunix )
 {
diff --git a/solenv/bin/modules/installer/windows/msiglobal.pm 
b/solenv/bin/modules/installer/windows/msiglobal.pm
index 6d4282709ab9..9d2612480e0d 100644
--- a/solenv/bin/modules/installer/windows/msiglobal.pm
+++ b/solenv/bin/modules/installer/windows/msiglobal.pm
@@ -461,7 +461,7 @@ sub create_msi_database
 
 $msifilename = installer::converter::make_path_conform($msifilename);
 
-if ( $^O =~ /cygwin/i ) {
+if ( $^O =~ /cygwin/i || $^O =~ /MSWin/i ) {
 # msidb.exe really wants backslashes. (And double escaping because 
system() expands the string.)
 $idtdirbase =~ s/\//\\/g;
 $msifilename =~ s/\//\\/g;
@@ -472,14 +472,15 @@ sub create_msi_database
 }
 my $systemcall = $msidb . " -f " . $idtdirbase . " -d " . $msifilename . " 
-c " . "-i " . $extraslash . "*";
 
-my $returnvalue = system($systemcall);
+my $systemcall_output = `$systemcall`;
+my $returnvalue = $? >> 8;
 
 my $

core.git: Branch 'distro/allotropia/zeta-24-2' - configure.ac

2024-10-02 Thread Christian Lohmaier (via logerrit)
 configure.ac |   15 ++-
 1 file changed, 10 insertions(+), 5 deletions(-)

New commits:
commit 05591f7bb1aa9f11ac1ecb1becbac905425cd25d
Author: Christian Lohmaier 
AuthorDate: Fri Apr 19 14:40:20 2024 +0200
Commit: Balazs Varga 
CommitDate: Wed Oct 2 19:37:03 2024 +0200

look for java, javac and javadoc with the .exe suffix on windows

while it doesn't make a difference from within cygwin or from within
git-bash, it does affect checks from wsl into windows since the version
without .exe isn't found/only the .exe does actually exist as a file<.
Cygwin portion already explicitly checked for the .exe to determine
whether the JDK home is valid, so just use it like that.

Change-Id: Ifc0238f54ed4326de27840136589e64fcdb6f3e3
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/166334
Reviewed-by: Christian Lohmaier 
Tested-by: Jenkins
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/174236
Reviewed-by: Balazs Varga 
Tested-by: Balazs Varga 

diff --git a/configure.ac b/configure.ac
index 353edfb2053f..3dd65bca4f8c 100644
--- a/configure.ac
+++ b/configure.ac
@@ -3493,6 +3493,8 @@ dnl 
===
 dnl Java support
 dnl ===
 AC_MSG_CHECKING([whether to build with Java support])
+javacompiler="javac"
+javadoc="javadoc"
 if test "$with_java" != "no"; then
 if test "$DISABLE_SCRIPTING" = TRUE; then
 AC_MSG_RESULT([no, overridden by --disable-scripting])
@@ -8622,13 +8624,17 @@ if test "$ENABLE_JAVA" != ""; then
 fi
 howfound="found automatically"
 else
-with_jdk_home=`win_short_path_for_make "$with_jdk_home"`
 howfound="you passed"
 fi
+PathFormat "$with_jdk_home"
+with_jdk_home="$formatted_path_unix"
 
 if ! test -f "$with_jdk_home/lib/jvm.lib" -a -f 
"$with_jdk_home/bin/java.exe"; then
 AC_MSG_ERROR([No JDK found, pass the --with-jdk-home option (or 
fix the path) pointing to a $WIN_HOST_BITS-bit JDK >= 8])
 fi
+with_java="java.exe"
+javacompiler="javac.exe"
+javadoc="javadoc.exe"
 fi
 
 # macOS: /usr/libexec/java_home helps to set the current JDK_HOME. 
Actually JDK_HOME should NOT be set where java (/usr/bin/java) is located.
@@ -8761,7 +8767,6 @@ dnl 
===
 dnl Checks for javac
 dnl ===
 if test "$ENABLE_JAVA" != "" -a "$cross_compiling" != "yes"; then
-javacompiler="javac"
 : ${JAVA_SOURCE_VER=8}
 : ${JAVA_TARGET_VER=8}
 if test -z "$with_jdk_home"; then
@@ -8789,14 +8794,14 @@ dnl Checks for javadoc
 dnl ===
 if test "$ENABLE_JAVA" != "" -a "$cross_compiling" != "yes"; then
 if test -z "$with_jdk_home"; then
-AC_PATH_PROG(JAVADOC, javadoc)
+AC_PATH_PROG(JAVADOC, $javadoc)
 else
-_javadoc_path="$with_jdk_home/bin/javadoc"
+_javadoc_path="$with_jdk_home/bin/$javadoc"
 dnl Check if there is a javadoc at all.
 if test -x "$_javadoc_path"; then
 JAVADOC=$_javadoc_path
 else
-AC_PATH_PROG(JAVADOC, javadoc)
+AC_PATH_PROG(JAVADOC, $javadoc)
 fi
 fi
 if test -z "$JAVADOC"; then


core.git: Branch 'distro/allotropia/zeta-24-2' - cli_ure/CustomTarget_cli_ure_assemblies.mk editeng/CustomTarget_generated.mk filter/CustomTarget_svg.mk solenv/gbuild sw/CustomTarget_generated.mk

2024-10-02 Thread Christian Lohmaier (via logerrit)
 cli_ure/CustomTarget_cli_ure_assemblies.mk |   43 ++---
 editeng/CustomTarget_generated.mk  |5 +--
 filter/CustomTarget_svg.mk |3 --
 solenv/gbuild/CustomTarget.mk  |2 -
 sw/CustomTarget_generated.mk   |3 --
 5 files changed, 20 insertions(+), 36 deletions(-)

New commits:
commit 226b7bf3f28a17810bd1a027faf973744a3ab421
Author: Christian Lohmaier 
AuthorDate: Sun Apr 21 21:50:55 2024 +0200
Commit: Balazs Varga 
CommitDate: Wed Oct 2 19:37:48 2024 +0200

simplify some sed rules/statements and use proper quoting

make removes partially built targets in case the rule exits with
non-zero status, so creating a temp file and moving it is not necessary
also use single quotes for cases where characters might be interpreted
by the shell
Also combine multiple sed calls into a single call of sed with multiple
expressions and replace additional "grep -v foo" with corresponding sed
delete command

Change-Id: Iff7e3b962175e347e5ed100a87c96fbaeef39985
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/166410
Tested-by: Jenkins
Reviewed-by: Christian Lohmaier 
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/174237
Tested-by: Balazs Varga 
Reviewed-by: Balazs Varga 

diff --git a/cli_ure/CustomTarget_cli_ure_assemblies.mk 
b/cli_ure/CustomTarget_cli_ure_assemblies.mk
index e6f6a75380c6..6dc26f852efe 100644
--- a/cli_ure/CustomTarget_cli_ure_assemblies.mk
+++ b/cli_ure/CustomTarget_cli_ure_assemblies.mk
@@ -19,37 +19,24 @@ $(call gb_CustomTarget_get_target,cli_ure/source) : \
$(gb_CustomTarget_workdir)/cli_ure/source/ure/assembly.cs
 
 $(gb_CustomTarget_workdir)/cli_ure/source/basetypes/assembly.cs : \
-   $(SRCDIR)/cli_ure/source/basetypes/assembly.cs \
-   $(SRCDIR)/cli_ure/version/version.txt \
-   $(cli_ure_source_MAKEFILE) \
-   | $(gb_CustomTarget_workdir)/cli_ure/source/basetypes/.dir
+$(SRCDIR)/cli_ure/source/basetypes/assembly.cs \
+$(SRCDIR)/cli_ure/version/version.txt \
+$(cli_ure_source_MAKEFILE) \
+| $(gb_CustomTarget_workdir)/cli_ure/source/basetypes/.dir
+   sed -e "s/@CLI_BASETYPES_NEW_VERSION@/$(CLI_BASETYPES_NEW_VERSION)/g" 
$< > $@
 
 $(gb_CustomTarget_workdir)/cli_ure/source/native/assembly.cxx : \
-   $(SRCDIR)/cli_ure/source/native/assembly.cxx \
-   $(SRCDIR)/cli_ure/version/version.txt \
-   $(cli_ure_source_MAKEFILE) \
-   | $(gb_CustomTarget_workdir)/cli_ure/source/native/.dir
+$(SRCDIR)/cli_ure/source/native/assembly.cxx \
+$(SRCDIR)/cli_ure/version/version.txt \
+$(cli_ure_source_MAKEFILE) \
+| $(gb_CustomTarget_workdir)/cli_ure/source/native/.dir
+   sed -e "s/@CLI_CPPUHELPER_NEW_VERSION@/$(CLI_CPPUHELPER_NEW_VERSION)/g" 
$< > $@
 
 $(gb_CustomTarget_workdir)/cli_ure/source/ure/assembly.cs : \
-   $(SRCDIR)/cli_ure/source/ure/assembly.cs \
-   $(SRCDIR)/cli_ure/version/version.txt \
-   $(cli_ure_source_MAKEFILE) \
-   | $(gb_CustomTarget_workdir)/cli_ure/source/ure/.dir
-
-$(gb_CustomTarget_workdir)/cli_ure/source/basetypes/assembly.cs :
-   sed -e "s/@CLI_BASETYPES_NEW_VERSION@/$(CLI_BASETYPES_NEW_VERSION)/g" \
-   < $< > $@.tmp && \
-   mv $@.tmp $@
-
-# TODO use macros for this
-$(gb_CustomTarget_workdir)/cli_ure/source/native/assembly.cxx :
-   sed -e "s/@CLI_CPPUHELPER_NEW_VERSION@/$(CLI_CPPUHELPER_NEW_VERSION)/g" 
\
-   < $< > $@.tmp && \
-   mv $@.tmp $@
-
-$(gb_CustomTarget_workdir)/cli_ure/source/ure/assembly.cs :
-   sed -e "s/@CLI_URE_NEW_VERSION@/$(CLI_URE_NEW_VERSION)/g" \
-   < $< > $@.tmp && \
-   mv $@.tmp $@
+$(SRCDIR)/cli_ure/source/ure/assembly.cs \
+$(SRCDIR)/cli_ure/version/version.txt \
+$(cli_ure_source_MAKEFILE) \
+| $(gb_CustomTarget_workdir)/cli_ure/source/ure/.dir
+   sed -e "s/@CLI_URE_NEW_VERSION@/$(CLI_URE_NEW_VERSION)/g" $< > $@
 
 # vim: set noet sw=4 ts=4:
diff --git a/editeng/CustomTarget_generated.mk 
b/editeng/CustomTarget_generated.mk
index 4835ae67ff5e..542ffe2bc720 100644
--- a/editeng/CustomTarget_generated.mk
+++ b/editeng/CustomTarget_generated.mk
@@ -19,9 +19,8 @@ $(editeng_INC)/tokens.hxx $(editeng_INC)/tokens.gperf : 
$(editeng_SRC)/tokens.tx
$(call gb_ExternalExecutable_get_command,python) $(editeng_PY) 
$(editeng_SRC)/tokens.txt $(editeng_INC)/tokens.gperf
 
 $(editeng_INC)/tokens.cxx : $(editeng_INC)/tokens.gperf
-   $(GPERF) --compare-strncmp --readonly-tables 
--output-file=$(editeng_INC)/tokens.cxx $(editeng_INC)/tokens.gperf
-   sed -i $(if $(filter MACOSX,$(OS_FOR_BUILD)),'') -e 
"s/(char\*)0/(char\*)0, XML_TOKEN_INVALID/g" $(editeng_INC)/tokens.cxx
-   sed -i $(if $(filter MACOSX,$(OS_FOR_BUILD)),'') -e "/^#line/d" 
$(editeng_INC)/tokens.cxx
+   $(GPERF) --compare-strncmp --readonly-tables 
$(editeng_INC)/tokens.gperf \
+   |

core.git: Branch 'distro/allotropia/zeta-24-2' - config_host.mk.in configure.ac Makefile.in solenv/bin solenv/gbuild

2024-10-02 Thread Christian Lohmaier (via logerrit)
 Makefile.in|   10 +-
 config_host.mk.in  |4 -
 configure.ac   |  123 +
 solenv/bin/shortpath.cmd   |1 
 solenv/gbuild/Helper.mk|   36 +
 solenv/gbuild/platform/com_MSC_defs.mk |8 +-
 6 files changed, 162 insertions(+), 20 deletions(-)

New commits:
commit da9c95551d6abe041b2dbe03e20c407633ec2486
Author: Christian Lohmaier 
AuthorDate: Thu Apr 18 12:45:01 2024 +0200
Commit: Balazs Varga 
CommitDate: Wed Oct 2 19:38:32 2024 +0200

initial support for running autogen.sh inside wsl from git-bash

Change-Id: I4272ea817a48880fd4206d6c73add7ccb8c4f6c5
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/166335
Tested-by: Jenkins
Reviewed-by: Christian Lohmaier 
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/174238
Reviewed-by: Balazs Varga 
Tested-by: Balazs Varga 

diff --git a/Makefile.in b/Makefile.in
index 0da4ba05bda2..c03f7a0af96f 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -38,6 +38,11 @@ Makefile $(BUILDDIR)/Makefile: $(BUILDDIR)/config_host.mk 
$(BUILDDIR)/config_hos
@touch $@
 
 # run configure in an environment not polluted by config_host.mk
+ifneq ($(MSYSTEM),)
+WSL:=@WSL@
+# wsl needs unix-style path into windows realm
+$(BUILDDIR)/config_host.mk : SRCDIR:=/$(shell $(WSL) wslpath -u $(SRCDIR))
+endif
 $(BUILDDIR)/config_host.mk : $(wildcard \
$(SRCDIR)/autogen.sh \
$(SRCDIR)/config_host.mk.in \
@@ -51,9 +56,8 @@ $(BUILDDIR)/config_host.mk : $(wildcard \
$(BUILDDIR)/autogen.input \
$(BUILDDIR)/autogen.lastrun \
) \
-   $(shell . $(SRCDIR)/bin/get_config_variables JAVA_HOME && \
-   if test -n "$${JAVA_HOME}" -a ! -d "$${JAVA_HOME}/bin"; 
then echo force-restart; fi)
-   sh -c $(SRCDIR)/autogen.sh
+   $(shell if test -n '$(JAVA_HOME)' -a ! -d '$(JAVA_HOME)'; then 
echo force-restart; fi)
+   sh -c "$(if $(MSYSTEM),$(WSL) )$(SRCDIR)/autogen.sh"
 
 else # MAKE_RESTARTS
 
diff --git a/config_host.mk.in b/config_host.mk.in
index 382ffa3094ff..c35e864be120 100644
--- a/config_host.mk.in
+++ b/config_host.mk.in
@@ -789,4 +789,6 @@ include @SRC_ROOT@/download.lst
 
 # prep for WSL-as-helper-builds where build runs from within git-bash/MSYS 
that would otherwise
 # messes with anything that looks like a path (starts with /) but it cannot 
resolve
-export MSYS_NO_PATHCONV=1
\ No newline at end of file
+export MSYS_NO_PATHCONV=1
+STRAWBERRY_PERL=@STRAWBERRY_PERL@
+WSL=@WSL@
\ No newline at end of file
diff --git a/configure.ac b/configure.ac
index 3dd65bca4f8c..bb5a2650f20b 100644
--- a/configure.ac
+++ b/configure.ac
@@ -41,6 +41,7 @@ SCPDEFS=""
 GIT_NEEDED_SUBMODULES=""
 LO_PATH= # used by path_munge to construct a PATH variable
 
+
 FilterLibs()
 {
 # Return value: $filteredlibs
@@ -191,6 +192,19 @@ PathFormat()
 # But Cygwin can
 formatted_path_unix="$formatted_path"
 fi
+if test -n "$WSL_ONLY_AS_HELPER"; then
+# if already in unix format, switch to windows format to create 
shortened path
+case "$formatted_path" in
+/*)
+formatted_path=$(wslpath -m "$formatted_path")
+;;
+esac
+
+# cd to /mnt/c to avoid wsl/cmd complaining about not supporting UNC 
paths/the current working directory
+formatted_path_unix=$(wslpath -u "$(cd /mnt/c; cmd.exe /c 
$shortpath_cmd "$formatted_path" | tr -d ' ')")
+# WSL can't run Windows binaries from Windows pathnames so we need a 
separate return value in Unix format
+formatted_path=$(wslpath -m "$formatted_path_unix")
+fi
 }
 
 AbsolutePath()
@@ -302,6 +316,35 @@ dnl checks build and host OSes
 dnl do this before argument processing to allow for platform dependent defaults
 dnl ===
 
+# are we running in wsl but are called from git-bash/env with mingw64 in path?
+# if so, we aim to run nearly everything in the Windows realm, and only run 
autogen/configure
+# in wsl and run a few tools via wsl
+WSL_ONLY_AS_HELPER=
+if test -n "$WSL_DISTRO_NAME" && $(echo $PATH |grep -q mingw64); then
+WSL_ONLY_AS_HELPER=TRUE
+AC_ARG_WITH([strawberry-perl-portable],
+[AS_HELP_STRING([--with-strawberry-perl-portable],
+[Specify the base path to strawberry perl portable])],
+[],
+[AC_MSG_ERROR(
+[for the moment strawberry-perl-portable is a requirement, feel 
free to replace it])])
+shortpath_cmd=$(wslpath -m $srcdir/solenv/bin/shortpath.cmd)
+PathFormat "$with_strawberry_perl_portable"
+if test ! -f "$formatted_path_unix/perl/bin/perl.exe" -o ! -d 
"$formatted_path_unix/c/bin"; then
+AC_MSG_ERROR([$formatted_path doesn't contain perl or the utilities - 
sure you provided the base path?])
+  

core.git: Branch 'distro/allotropia/zeta-24-2' - external/liblangtag solenv/gbuild

2024-10-02 Thread Christian Lohmaier (via logerrit)
 external/liblangtag/UnpackedTarball_liblangtag.mk |2 +-
 solenv/gbuild/UnpackedTarball.mk  |2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

New commits:
commit dbd79a0d2b10e5b4e2a07b1e0c6ceffafbdd01c1
Author: Christian Lohmaier 
AuthorDate: Tue Jul 11 18:37:29 2023 +0200
Commit: Balazs Varga 
CommitDate: Wed Oct 2 19:39:05 2024 +0200

extracting tarballs that call helpers to uncompress require unix-style paths

Change-Id: I528e343fb5b22194b4639649fbfc04c0583f77c7
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/166336
Tested-by: Jenkins
Reviewed-by: Christian Lohmaier 
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/174239
Reviewed-by: Balazs Varga 
Tested-by: Balazs Varga 

diff --git a/external/liblangtag/UnpackedTarball_liblangtag.mk 
b/external/liblangtag/UnpackedTarball_liblangtag.mk
index 16b9ea999f71..40102052a79c 100644
--- a/external/liblangtag/UnpackedTarball_liblangtag.mk
+++ b/external/liblangtag/UnpackedTarball_liblangtag.mk
@@ -12,7 +12,7 @@ $(eval $(call gb_UnpackedTarball_UnpackedTarball,liblangtag))
 $(eval $(call 
gb_UnpackedTarball_set_tarball,liblangtag,$(LIBLANGTAG_TARBALL),,liblangtag))
 
 $(eval $(call gb_UnpackedTarball_set_pre_action,liblangtag,\
-   $(GNUTAR) -x -j -f 
$(gb_UnpackedTarget_TARFILE_LOCATION)/$(LANGTAGREG_TARBALL) \
+   $(GNUTAR) -x -j -f $(call 
gb_Helper_cyg_path,$(gb_UnpackedTarget_TARFILE_LOCATION)/$(LANGTAGREG_TARBALL)) 
\
 ))
 
 $(eval $(call gb_UnpackedTarball_update_autoconf_configs,liblangtag))
diff --git a/solenv/gbuild/UnpackedTarball.mk b/solenv/gbuild/UnpackedTarball.mk
index fb574f6a95f1..4419dd172870 100644
--- a/solenv/gbuild/UnpackedTarball.mk
+++ b/solenv/gbuild/UnpackedTarball.mk
@@ -24,7 +24,7 @@ $(GNUTAR) \
$(3) \
-C $(UNPACKED_DIR) \
$(STRIP_COMPONENTS)=$(UNPACKED_STRIP_COMPONENTS) \
-   -f $(UNPACKED_TARBALL)
+   -f $(call gb_Helper_cyg_path,$(UNPACKED_TARBALL))
 endef
 
 define gb_UnpackedTarget__command_unzip


core.git: Branch 'distro/allotropia/zeta-24-2' - solenv/gbuild

2024-10-02 Thread Christian Lohmaier (via logerrit)
 solenv/gbuild/platform/windows.mk |2 ++
 1 file changed, 2 insertions(+)

New commits:
commit 4630a8e6ee4dc41c0db8eebd58495a2ee164576e
Author: Christian Lohmaier 
AuthorDate: Tue Jul 11 18:30:20 2023 +0200
Commit: Balazs Varga 
CommitDate: Wed Oct 2 19:31:27 2024 +0200

windows: set CONFIG_SHELL for external configure runs

Change-Id: I9cb03692524eced35935ad1979027f7b196e5ed6
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/166329
Tested-by: Jenkins
Reviewed-by: Christian Lohmaier 
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/174231
Tested-by: Balazs Varga 
Reviewed-by: Balazs Varga 

diff --git a/solenv/gbuild/platform/windows.mk 
b/solenv/gbuild/platform/windows.mk
index 57f906ad1c53..2630c75c1e52 100644
--- a/solenv/gbuild/platform/windows.mk
+++ b/solenv/gbuild/platform/windows.mk
@@ -19,6 +19,8 @@ gb_Helper_LIBRARY_PATH_VAR := PATH
 
 gb_MKTEMP := mktemp --tmpdir=$(gb_TMPDIR) gbuild.XX
 
+gb_RUN_CONFIGURE := CONFIG_SHELL=$(shell cygpath -ms /bin/sh)
+
 # define _WIN32_WINNT and WINVER will be derived from it in sdkddkver.h
 # current baseline is Windows 7 (NT 6.1)
 # for _WIN32_IE, if _WIN32_WINNT >= 0x0600 the derived value from


core.git: Branch 'distro/allotropia/zeta-24-2' - config_host.mk.in external/beanshell external/hsqldb external/java_websocket external/jfreereport external/libcdr external/libebook external/libepubgen

2024-10-02 Thread Christian Lohmaier (via logerrit)
 config_host.mk.in |4 
 external/beanshell/ExternalProject_beanshell.mk   |2 +-
 external/hsqldb/ExternalProject_hsqldb.mk |2 +-
 external/java_websocket/ExternalProject_java_websocket.mk |2 +-
 external/jfreereport/ExternalProject_jfreereport_flow_engine.mk   |2 +-
 external/jfreereport/ExternalProject_jfreereport_flute.mk |2 +-
 external/jfreereport/ExternalProject_jfreereport_libbase.mk   |2 +-
 external/jfreereport/ExternalProject_jfreereport_libfonts.mk  |2 +-
 external/jfreereport/ExternalProject_jfreereport_libformula.mk|2 +-
 external/jfreereport/ExternalProject_jfreereport_liblayout.mk |2 +-
 external/jfreereport/ExternalProject_jfreereport_libloader.mk |2 +-
 external/jfreereport/ExternalProject_jfreereport_librepository.mk |2 +-
 external/jfreereport/ExternalProject_jfreereport_libserializer.mk |2 +-
 external/jfreereport/ExternalProject_jfreereport_libxml.mk|2 +-
 external/jfreereport/ExternalProject_jfreereport_sac.mk   |2 +-
 external/libcdr/ExternalProject_libcdr.mk |2 +-
 external/libebook/ExternalProject_libebook.mk |2 +-
 external/libepubgen/ExternalProject_libepubgen.mk |2 +-
 external/libfreehand/ExternalProject_libfreehand.mk   |2 +-
 external/liblangtag/ExternalProject_liblangtag.mk |2 +-
 external/libqxp/ExternalProject_libqxp.mk |2 +-
 external/libvisio/ExternalProject_libvisio.mk |2 +-
 external/libzmf/ExternalProject_libzmf.mk |2 +-
 23 files changed, 26 insertions(+), 22 deletions(-)

New commits:
commit 328273b6515cc71143c5fe20b667eb314d2eb338
Author: Christian Lohmaier 
AuthorDate: Tue Jul 11 15:15:18 2023 +0200
Commit: Balazs Varga 
CommitDate: Wed Oct 2 19:33:03 2024 +0200

add MSYS_NO_PATHCONV=1 to prevent MSYS auto-magic

git-bash/MSYS tries to resolve anything that looks like a path (i.e.
anything starting with a /) - if the "target" doesn't exists, it just
prepends the MSYS installation dir and breaks all kind of stuff.
You could escape those with double-slash at the beginning, but that
would mean lots of noise/unnecessary changes in pretty much every
makefile, so just getting rid of that behavior is much better.

ant and some externals however rely on MSYS path-conversion, so unset
MSYS_NO_PATHCONV for those. Ant does its own checks whether it
runs under cygwin or msys, and easier to please externals using the
autoconversion than to add patches to force them into compliance…

Change-Id: Ie80964e40c53ace80adb4707aae0db63ebc4ee4c
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/166330
Tested-by: Jenkins
Reviewed-by: Christian Lohmaier 
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/174232
Tested-by: Balazs Varga 
Reviewed-by: Balazs Varga 

diff --git a/config_host.mk.in b/config_host.mk.in
index 083309226177..382ffa3094ff 100644
--- a/config_host.mk.in
+++ b/config_host.mk.in
@@ -786,3 +786,7 @@ include $(BUILDDIR)/config_$(gb_Side)_lang.mk
 # tarball names
 # does use some of the variables defined above
 include @SRC_ROOT@/download.lst
+
+# prep for WSL-as-helper-builds where build runs from within git-bash/MSYS 
that would otherwise
+# messes with anything that looks like a path (starts with /) but it cannot 
resolve
+export MSYS_NO_PATHCONV=1
\ No newline at end of file
diff --git a/external/beanshell/ExternalProject_beanshell.mk 
b/external/beanshell/ExternalProject_beanshell.mk
index 450ac2b706dd..604b3571fe44 100644
--- a/external/beanshell/ExternalProject_beanshell.mk
+++ b/external/beanshell/ExternalProject_beanshell.mk
@@ -16,7 +16,7 @@ $(eval $(call gb_ExternalProject_register_targets,beanshell,\
 $(call gb_ExternalProject_get_state_target,beanshell,build) :
$(call gb_Trace_StartRange,beanshell,EXTERNAL)
$(call gb_ExternalProject_run,build,\
-   JAVA_HOME=$(JAVA_HOME_FOR_BUILD) \
+   unset MSYS_NO_PATHCONV && JAVA_HOME=$(JAVA_HOME_FOR_BUILD) \
$(ICECREAM_RUN) "$(ANT)" \
$(if $(verbose),-v,-q) \
-f build.xml \
diff --git a/external/hsqldb/ExternalProject_hsqldb.mk 
b/external/hsqldb/ExternalProject_hsqldb.mk
index 67ae75106bc2..4e5c750c7f3c 100644
--- a/external/hsqldb/ExternalProject_hsqldb.mk
+++ b/external/hsqldb/ExternalProject_hsqldb.mk
@@ -21,7 +21,7 @@ $(eval $(call gb_ExternalProject_register_targets,hsqldb,\
 $(call gb_ExternalProject_get_state_target,hsqldb,build) :
$(call gb_Trace_StartRange,hsqldb,EXTERNAL)
$(call gb_ExternalProject_run,build,\
-   JAVA_HOME=$(JAVA_HOME_FOR_BUILD) \
+   unset MSYS_NO_PATHCONV && JAVA_HOME=$(JAVA_HOME_FOR_BUILD) \
$(

core.git: Branch 'distro/allotropia/zeta-24-2' - configure.ac

2024-10-02 Thread Christian Lohmaier (via logerrit)
 configure.ac |   39 +--
 1 file changed, 21 insertions(+), 18 deletions(-)

New commits:
commit a603736a69f0fd8033d0e193e03d4c77d1c6
Author: Christian Lohmaier 
AuthorDate: Thu Apr 18 12:37:38 2024 +0200
Commit: Balazs Varga 
CommitDate: Wed Oct 2 19:35:42 2024 +0200

configure.ac: split registry path from registry key

in preparation for an upcoming change to read values using reg.exe

Also fixes a bug in determining UCRTVERSION from the Windows SDK's
ProductVersion registry value (misses trailing .0)

Change-Id: I66236ba6bf38393e6f7c7ab83706657a6e96769c
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/166332
Tested-by: Jenkins
Reviewed-by: Christian Lohmaier 
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/174234
Reviewed-by: Balazs Varga 
Tested-by: Balazs Varga 

diff --git a/configure.ac b/configure.ac
index b061edda4da1..b6f18f61e32d 100644
--- a/configure.ac
+++ b/configure.ac
@@ -3905,11 +3905,11 @@ reg_get_value()
 unset regvalue
 
 if test "$build_os" = "wsl"; then
-regvalue=$($WSL_LO_HELPER --read-registry $1 "$2" 2>/dev/null)
+regvalue=$($WSL_LO_HELPER --read-registry $1 "$2/$3" 2>/dev/null)
 return
 fi
 
-local _regentry="/proc/registry${1}/${2}"
+local _regentry="/proc/registry${1}/${2}/${3}"
 if test -f "$_regentry"; then
 # Stop bash complaining about 
 # Registry keys read via /proc/registry* are always 
@@ -3923,13 +3923,13 @@ reg_get_value()
 # Get a value from the 32-bit side of the Registry
 reg_get_value_32()
 {
-reg_get_value "32" "$1"
+reg_get_value "32" "$1" "$2"
 }
 
 # Get a value from the 64-bit side of the Registry
 reg_get_value_64()
 {
-reg_get_value "64" "$1"
+reg_get_value "64" "$1" "$2"
 }
 
 reg_list_values()
@@ -4136,12 +4136,15 @@ win_get_env_from_vsdevcmdbat()
 
 find_ucrt()
 {
-reg_get_value_32 "HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/Microsoft 
SDKs/Windows/v10.0/InstallationFolder"
+reg_get_value_32 "HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/Microsoft 
SDKs/Windows/v10.0" "InstallationFolder"
 if test -n "$regvalue"; then
 PathFormat "$regvalue"
 UCRTSDKDIR=$formatted_path_unix
-reg_get_value_32 "HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/Microsoft 
SDKs/Windows/v10.0/ProductVersion"
-UCRTVERSION=$regvalue
+reg_get_value_32 "HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/Microsoft 
SDKs/Windows/v10.0" "ProductVersion"
+if test -n "$regvalue"; then
+UCRTVERSION="$regvalue".0
+fi
+
 # Rest if not exist
 if ! test -d "${UCRTSDKDIR}Include/$UCRTVERSION/ucrt"; then
   UCRTSDKDIR=
@@ -4330,7 +4333,7 @@ if test "$_os" = "WINNT"; then
 
 AC_MSG_CHECKING([for MSBuild.exe location for: $vcnumwithdot])
 # Find the proper version of MSBuild.exe to use based on the VS version
-reg_get_value_32 
HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/MSBuild/$vcnumwithdot/MSBuildOverrideTasksPath
+reg_get_value_32 
HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/MSBuild/$vcnumwithdot 
MSBuildOverrideTasksPath
 if test -z "$regvalue" ; then
 if test "$WIN_BUILD_ARCH" != "x64"; then
 regvalue="$VC_PRODUCT_DIR/../MSBuild/Current/Bin"
@@ -6617,7 +6620,7 @@ find_csc()
 
 unset csctest
 
-reg_get_value_32 "HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/NET Framework 
Setup/NDP/v4/Client/InstallPath"
+reg_get_value_32 "HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/NET Framework 
Setup/NDP/v4/Client" "InstallPath"
 if test -n "$regvalue"; then
 csctest=$regvalue
 return
@@ -6632,7 +6635,7 @@ find_al()
 
 # We need this check to detect 4.6.1 or above.
 for ver in 4.8.1 4.8 4.7.2 4.7.1 4.7 4.6.2 4.6.1; do
-reg_get_value_32 "HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/Microsoft 
SDKs/NETFXSDK/$ver/WinSDK-NetFx40Tools/InstallationFolder"
+reg_get_value_32 "HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/Microsoft 
SDKs/NETFXSDK/$ver/WinSDK-NetFx40Tools" "InstallationFolder"
 PathFormat "$regvalue"
 if test -n "$regvalue" -a \( -f "$formatted_path_unix/al.exe" -o -f 
"$formatted_path_unix/bin/al.exe" \); then
 altest=$regvalue
@@ -6642,7 +6645,7 @@ find_al()
 
 reg_list_values_32 "HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/Microsoft 
SDKs/Windows"
 for x in $reglist; do
-reg_get_value_32 "HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/Microsoft 
SDKs/Windows/$x/WinSDK-NetFx40Tools/InstallationFolder"
+reg_get_value_32 "HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/Microsoft 
SDKs/Windows/$x/WinSDK-NetFx40Tools" "InstallationFolder"
 PathFormat "$regvalue"
 if test -n "$regvalue" -a \( -f "$formatted_path_unix/al.exe" -o -f 
"$formatted_path_unix/bin/al.exe" \); then
 altest=$regvalue
@@ -6656,7 +6659,7 @@ find_dotnetsdk()
 unset frametest
 
 for ver in 4.8.1 4.8 4.7.2 4.7.1 4.7 4.6.2 4.6.1 4.6; do
-reg_get_value_

core.git: Branch 'distro/allotropia/zeta-24-2' - configure.ac

2024-10-02 Thread Christian Lohmaier (via logerrit)
 configure.ac |   79 ---
 1 file changed, 38 insertions(+), 41 deletions(-)

New commits:
commit c011655de60733d3fc73620c5e522ecec6d13a37
Author: Christian Lohmaier 
AuthorDate: Thu Apr 18 12:56:50 2024 +0200
Commit: Balazs Varga 
CommitDate: Wed Oct 2 19:36:24 2024 +0200

use unix paths for dir tests and prefer PathFormat…

over manual cygpath calls. Since PathFormat checks whether the path is
8.3 compatible/in case of spaces or other incompatible characters remove
some superfluous checks
also drop a workaround for VS2017 (minimum requried version is 2019)

Change-Id: I2d098cf323c96862c06acf7605abacbefe8a35ad
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/166333
Reviewed-by: Christian Lohmaier 
Tested-by: Jenkins
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/174235
Tested-by: Balazs Varga 
Reviewed-by: Balazs Varga 

diff --git a/configure.ac b/configure.ac
index b6f18f61e32d..353edfb2053f 100644
--- a/configure.ac
+++ b/configure.ac
@@ -4120,7 +4120,8 @@ win_get_env_from_vsdevcmdbat()
 {
 local WRAPPERBATCHFILEPATH="`mktemp -t wrpXX.bat`"
 printf '@set VSCMD_SKIP_SENDTELEMETRY=1
' > $WRAPPERBATCHFILEPATH
-printf '@call "%s/../Common7/Tools/VsDevCmd.bat" /no_logo
' "$(cygpath -w $VC_PRODUCT_DIR)" >> $WRAPPERBATCHFILEPATH
+PathFormat "$VC_PRODUCT_DIR"
+printf '@call "%s/../Common7/Tools/VsDevCmd.bat" /no_logo
' "$formatted_path" >> $WRAPPERBATCHFILEPATH
 # use 'echo.%ENV%' syntax (instead of 'echo %ENV%') to avoid outputting 
"ECHO is off." in case when ENV is empty or a space
 printf '@setlocal
@echo.%%%s%%
@endlocal
' "$1" >> $WRAPPERBATCHFILEPATH
 local result
@@ -4155,7 +4156,7 @@ find_ucrt()
 ide_env_file="${ide_env_dir}VsDevCmd.bat"
 if test -f "$ide_env_file"; then
 PathFormat "$(win_get_env_from_vsdevcmdbat UniversalCRTSdkDir)"
-UCRTSDKDIR=$formatted_path
+UCRTSDKDIR=$formatted_path_unix
 UCRTVERSION=$(win_get_env_from_vsdevcmdbat UCRTVersion)
 dnl Hack needed at least by tml:
 if test "$UCRTVERSION" = 10.0.15063.0 \
@@ -4349,9 +4350,9 @@ if test "$_os" = "WINNT"; then
 fi
 
 # Find the version of devenv.exe
-# MSVC 2017 devenv does not start properly from a DOS 8.3 path
-DEVENV=$(cygpath -lm "$VC_PRODUCT_DIR/../Common7/IDE/devenv.exe")
-DEVENV_unix=$(cygpath -u "$DEVENV")
+PathFormat "$VC_PRODUCT_DIR/../Common7/IDE/devenv.exe"
+DEVENV="$formatted_path"
+DEVENV_unix="$formatted_path_unix"
 if test ! -e "$DEVENV_unix"; then
 AC_MSG_WARN([No devenv.exe found - this is expected for VC++ Build 
Tools])
 fi
@@ -4376,11 +4377,10 @@ if test "$_os" = "WINNT"; then
 # Remove /cl.exe from CC case insensitive
 AC_MSG_NOTICE([found Visual C++ $vcyear])
 
-main_include_dir=`cygpath -d -m "$COMPATH/Include"`
-CPPFLAGS="$CPPFLAGS -I$main_include_dir"
-
 PathFormat "$COMPATH"
-COMPATH=`win_short_path_for_make "$formatted_path"`
+COMPATH="$formatted_path"
+COMPATH_unix="$formatted_path_unix"
+CPPFLAGS="$CPPFLAGS -I$COMPATH/Include"
 
 VCVER=$vcnumwithdot
 VCTOOLSET=$vctoolset
@@ -6701,15 +6701,10 @@ find_winsdk_version()
 winsdkbinsubdir="$regvalue".0
 winsdklibsubdir=$winsdkbinsubdir
 local tmppath="$winsdktest\Include\$winsdklibsubdir"
-local tmppath_unix=$(cygpath -u "$tmppath")
+PathFormat "$tmppath"
+local tmppath_unix=$formatted_path_unix
 # test exist the SDK path
-if test -d "$tmppath_unix"; then
-   # when path is convertible to a short path then path is okay
-   cygpath -d "$tmppath" >/dev/null 2>&1
-   if test $? -ne 0; then
-  AC_MSG_ERROR([Windows SDK doesn't have a 8.3 name, see 
NtfsDisable8dot3NameCreation])
-   fi
-else
+if test ! -d "$tmppath_unix"; then
AC_MSG_ERROR([The Windows SDK not found, check the 
installation])
 fi
 fi
@@ -6815,8 +6810,8 @@ if test "$_os" = "WINNT"; then
 
 # normalize if found
 if test -n "$WINDOWS_SDK_HOME"; then
-WINDOWS_SDK_HOME=`cygpath -d "$WINDOWS_SDK_HOME"`
-WINDOWS_SDK_HOME=`cygpath -u "$WINDOWS_SDK_HOME"`
+PathFormat "$WINDOWS_SDK_HOME"
+WINDOWS_SDK_HOME=$formatted_path_unix
 fi
 
 WINDOWS_SDK_LIB_SUBDIR=$winsdklibsubdir
@@ -6875,9 +6870,9 @@ the  Windows SDK are installed.])
 WINDOWS_SDK_HOME_unix="$formatted_path_unix"
 if test "$build_os" = "cygwin" -o "$build_os" = "wsl"; then
 SOLARINC="$SOLARINC -I$WINDOWS_SDK_HOME/include -I$COMPATH/Include"
-if test -d "$WINDOWS_SDK_HOME/include/u

core.git: Branch 'distro/allotropia/zeta-24-2' - editeng/CustomTarget_generated.mk filter/CustomTarget_svg.mk sdext/CustomTarget_pdfimport.mk solenv/gbuild sw/CustomTarget_generated.mk

2024-10-02 Thread Christian Lohmaier (via logerrit)
 editeng/CustomTarget_generated.mk |2 +-
 filter/CustomTarget_svg.mk|6 +++---
 sdext/CustomTarget_pdfimport.mk   |2 +-
 solenv/gbuild/CustomTarget.mk |2 +-
 sw/CustomTarget_generated.mk  |   34 +++---
 5 files changed, 25 insertions(+), 21 deletions(-)

New commits:
commit 683e3fdb3c6b40789e8f90db51c0bf4805619a00
Author: Christian Lohmaier 
AuthorDate: Wed Aug 2 17:10:59 2023 +0200
Commit: Balazs Varga 
CommitDate: Wed Oct 2 19:40:22 2024 +0200

run gperf via wsl in wsl-as-helper case

also split up the gperf commands when generating sw/generated/tokens.cxx

wsl has trouble appending using shell redirects, so use separate targets
and use cat in the final processing step for tokens.cxx
see also https://github.com/microsoft/WSL/issues/4400

Change-Id: Id7a24d060e9be71113ec2827a389d347456f6522
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/166338
Reviewed-by: Christian Lohmaier 
Tested-by: Jenkins
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/174241
Reviewed-by: Balazs Varga 
Tested-by: Balazs Varga 

diff --git a/editeng/CustomTarget_generated.mk 
b/editeng/CustomTarget_generated.mk
index 542ffe2bc720..bbdc75fcf53a 100644
--- a/editeng/CustomTarget_generated.mk
+++ b/editeng/CustomTarget_generated.mk
@@ -19,7 +19,7 @@ $(editeng_INC)/tokens.hxx $(editeng_INC)/tokens.gperf : 
$(editeng_SRC)/tokens.tx
$(call gb_ExternalExecutable_get_command,python) $(editeng_PY) 
$(editeng_SRC)/tokens.txt $(editeng_INC)/tokens.gperf
 
 $(editeng_INC)/tokens.cxx : $(editeng_INC)/tokens.gperf
-   $(GPERF) --compare-strncmp --readonly-tables 
$(editeng_INC)/tokens.gperf \
+   $(call gb_Helper_wsl_path,$(GPERF) --compare-strncmp --readonly-tables 
$(editeng_INC)/tokens.gperf) \
| sed -e '/^#line/d' -e 's/(char\*)0/(char\*)0, XML_TOKEN_INVALID/g' > 
$@
 
 $(call gb_CustomTarget_get_target,editeng/generated) : 
$(editeng_INC)/tokens.cxx
diff --git a/filter/CustomTarget_svg.mk b/filter/CustomTarget_svg.mk
index 8de54f419a8c..cdc48cc21219 100644
--- a/filter/CustomTarget_svg.mk
+++ b/filter/CustomTarget_svg.mk
@@ -39,9 +39,9 @@ $(filter_GEN_svg_Tokens_hxx) : $(filter_GEN_svg_Tokens_gperf)
 
 $(filter_GEN_svg_Tokens_cxx) : $(filter_GEN_svg_Tokens_gperf)
$(call gb_Output_announce,$(subst $(WORKDIR)/,,$@),build,GPF,1)
-   $(call gb_Helper_abbreviate_dirs, \
-$(GPERF) --compare-strncmp -C -m 20 --switch=2 
--readonly-tables $(filter_GEN_svg_Tokens_gperf) \
-| sed -e '/^#line/d' -e 's/(char\*)0/(char\*)0$(COMMA) 
0/g' > $@)
+   $(call gb_Helper_wsl_path,\
+   $(GPERF) --compare-strncmp -C -m 20 --switch=2 
--readonly-tables $(filter_GEN_svg_Tokens_gperf)) \
+| sed -e '/^#line/d' -e 's/(char\*)0/(char\*)0, 0/g' > 
$@
 
 $(filter_GEN_svg_Script_hxx) : \
$(call gb_ExternalExecutable_get_dependencies,python) \
diff --git a/sdext/CustomTarget_pdfimport.mk b/sdext/CustomTarget_pdfimport.mk
index 0f9a75658e90..a32da2b94191 100644
--- a/sdext/CustomTarget_pdfimport.mk
+++ b/sdext/CustomTarget_pdfimport.mk
@@ -17,7 +17,7 @@ $(gb_CustomTarget_workdir)/sdext/pdfimport/hash.cxx : \
| $(gb_CustomTarget_workdir)/sdext/pdfimport/.dir
$(call gb_Output_announce,$(subst $(WORKDIR)/,,$@),$(true),GPF,1)
$(call gb_Trace_StartRange,$(subst $(WORKDIR)/,,$@),GPF)
-   $(GPERF) -C -t -l -L C++ -m 20 --switch=2 --readonly-tables -Z 
PdfKeywordHash -k'4-5,$$' $< > $@
+   $(call gb_Helper_wsl_path,$(GPERF) -C -t -l -L C++ -m 20 --switch=2 
--readonly-tables -Z PdfKeywordHash -k'4-5$(COMMA)$$' $<) > $@
$(call gb_Trace_EndRange,$(subst $(WORKDIR)/,,$@),GPF)
 
 # vim:set shiftwidth=4 tabstop=4 noexpandtab:
diff --git a/solenv/gbuild/CustomTarget.mk b/solenv/gbuild/CustomTarget.mk
index 75c080b19a37..e698a895baea 100644
--- a/solenv/gbuild/CustomTarget.mk
+++ b/solenv/gbuild/CustomTarget.mk
@@ -84,7 +84,7 @@ define gb_CustomTarget_token_hash
 $(call gb_CustomTarget_get_target,$(1)) : $(gb_CustomTarget_workdir)/$(1)/$(2)
 $(gb_CustomTarget_workdir)/$(1)/$(2) : 
$(gb_CustomTarget_workdir)/$(1)/misc/$(3)
$$(call gb_Output_announce,$$(subst $(WORKDIR)/,,$$@),build,GPF,1)
-   $(GPERF) --compare-strncmp --switch=2 --readonly-tables $$< \
+   $$(call gb_Helper_wsl_path,$(GPERF) --compare-strncmp --switch=2 
--readonly-tables $$<) \
| sed -e '/^#line/d' -e 's/(char\*)0/(char\*)0, 0/g' > $$@
 
 endef
diff --git a/sw/CustomTarget_generated.mk b/sw/CustomTarget_generated.mk
index 5784f16813cd..ca59842fd582 100644
--- a/sw/CustomTarget_generated.mk
+++ b/sw/CustomTarget_generated.mk
@@ -13,22 +13,26 @@ sw_SRC := $(SRCDIR)/sw/source/core/swg
 sw_PY := $(SRCDIR)/solenv/bin/gentoken.py
 sw_INC := $(gb_CustomTarget_workdir)/sw/generated
 
-$(sw_INC)/TextBlockTokens.gperf : $(sw_SRC)/TextBlockTokens.txt $(sw_PY) \
-   

core.git: Branch 'distro/allotropia/zeta-24-2' - extras/CustomTarget_autocorr.mk extras/CustomTarget_autotextshare.mk extras/CustomTarget_autotextuser.mk extras/CustomTarget_templates.mk extras/Custom

2024-10-02 Thread Christian Lohmaier (via logerrit)
 extras/CustomTarget_autocorr.mk  |4 ++--
 extras/CustomTarget_autotextshare.mk |5 +++--
 extras/CustomTarget_autotextuser.mk  |7 ---
 extras/CustomTarget_templates.mk |   14 --
 extras/CustomTarget_tplpresnt.mk |7 ---
 extras/CustomTarget_tplwizard.mk |   14 --
 solenv/gbuild/Extension.mk   |8 
 solenv/gbuild/Zip.mk |4 ++--
 8 files changed, 35 insertions(+), 28 deletions(-)

New commits:
commit aa8ead8c584308a6ddcacad38cf60b1425450a6c
Author: Christian Lohmaier 
AuthorDate: Wed Aug 2 17:03:01 2023 +0200
Commit: Balazs Varga 
CommitDate: Wed Oct 2 19:39:44 2024 +0200

run zip via wsl in wsl-as-helper case

Change-Id: I0c5b75c39c211aba08ae6d56f02bcc93ca11e2bb
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/166337
Tested-by: Jenkins
Reviewed-by: Christian Lohmaier 
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/174240
Tested-by: Balazs Varga 
Reviewed-by: Balazs Varga 

diff --git a/extras/CustomTarget_autocorr.mk b/extras/CustomTarget_autocorr.mk
index 3a8944374151..6fcbc2c66481 100644
--- a/extras/CustomTarget_autocorr.mk
+++ b/extras/CustomTarget_autocorr.mk
@@ -280,8 +280,8 @@ 
$(gb_CustomTarget_workdir)/extras/source/autocorr/acor_%.dat : \
$(call gb_Helper_abbreviate_dirs,\
cd $(dir $<) && \
$(autocorr_PYTHONCOMMAND) $(SRCDIR)/bin/check-autocorr.py 
DocumentList.xml && \
-   zip -q0X --filesync --must-match $@ mimetype && \
-   zip -qrX --must-match $@ $(call 
extras_AUTOCORR_XMLFILES_LANG,$(call extras_AUTOCORR_SHORTLANG,$*)) \
+   $(call gb_Helper_wsl_path,$(WSL) zip -q0X --filesync 
--must-match $@ mimetype) && \
+   $(call gb_Helper_wsl_path,$(WSL) zip -qrX --must-match $@ 
$(call extras_AUTOCORR_XMLFILES_LANG,$(call extras_AUTOCORR_SHORTLANG,$*))) \
)
$(call gb_Trace_EndRange,autocorr/acor_$*.dat,ZIP)
 
diff --git a/extras/CustomTarget_autotextshare.mk 
b/extras/CustomTarget_autotextshare.mk
index b6aeab448897..142ffafcbffe 100644
--- a/extras/CustomTarget_autotextshare.mk
+++ b/extras/CustomTarget_autotextshare.mk
@@ -3667,8 +3667,9 @@ $(gb_CustomTarget_workdir)/extras/source/autotext/%.bau : 
\
$(call gb_Trace_StartRange,autotext/$*.bau,ZIP)
$(call gb_Helper_abbreviate_dirs,\
cd $(dir $<) && \
-   zip -q0X --filesync --must-match $@ mimetype && \
-   zip -qrX --must-match $@ $(call 
extras_AUTOTEXTSHARE_XMLFILES_RELATIVE,$*) \
+   $(call gb_Helper_wsl_path,\
+   $(WSL) zip -q0X --filesync --must-match $@ mimetype && \
+   $(WSL) zip -qrX --must-match $@ $(call 
extras_AUTOTEXTSHARE_XMLFILES_RELATIVE,$*)) \
)
$(call gb_Trace_EndRange,autotext/$*.bau,ZIP)
 
diff --git a/extras/CustomTarget_autotextuser.mk 
b/extras/CustomTarget_autotextuser.mk
index 7b5ad91d1968..f81fb07250ad 100644
--- a/extras/CustomTarget_autotextuser.mk
+++ b/extras/CustomTarget_autotextuser.mk
@@ -40,9 +40,10 @@ $(gb_CustomTarget_workdir)/extras/source/autotext/user/%.bau 
: \
$(call gb_Output_announce,autotext/user/$*.bau,$(true),ZIP,2)
$(call gb_Trace_StartRange,autotext/user/$*.bau,ZIP)
$(call gb_Helper_abbreviate_dirs,\
-   cd $(dir $<) && \
-   zip -q0X --filesync --must-match $@ mimetype && \
-   zip -qrX --must-match $@ $(call 
extras_AUTOTEXTUSER_XMLFILES_RELATIVE,$*) \
+   cd $(dir $<) && \
+   $(call gb_Helper_wsl_path,\
+   $(WSL) zip -q0X --filesync --must-match $@ mimetype && \
+   $(WSL) zip -qrX --must-match $@ $(call 
extras_AUTOTEXTUSER_XMLFILES_RELATIVE,$*)) \
)
$(call gb_Trace_EndRange,autotext/user/$*.bau,ZIP)
 
diff --git a/extras/CustomTarget_templates.mk b/extras/CustomTarget_templates.mk
index 44425db1a164..b17ce37df9eb 100644
--- a/extras/CustomTarget_templates.mk
+++ b/extras/CustomTarget_templates.mk
@@ -78,9 +78,10 @@ $(gb_CustomTarget_workdir)/extras/source/templates/%.ott : \
$(call gb_Trace_StartRange,templates/$*.ott,ZIP)
$(call gb_Helper_abbreviate_dirs,\
cd $(dir $<) && \
-   zip -q0X --filesync --must-match $@ mimetype && \
-   zip -qrX --must-match $@ styles.xml META-INF/manifest.xml 
Thumbnails/thumbnail.png && \
-   zip -qrX --must-match $@ $(call 
extras_TEMPLATES_XMLFILES_RELATIVE,$*) \
+   $(call gb_Helper_wsl_path,\
+   $(WSL) zip -q0X --filesync --must-match $@ mimetype && \
+   $(WSL) zip -qrX --must-match $@ styles.xml 
META-INF/manifest.xml Thumbnails/thumbnail.png && \
+   $(WSL) zip -qrX --must-match $@ $(call 
extras_TEMPLATES_XMLFILES_RELATIVE,$*)) \
)
$(call gb_Trace_EndRange,templates/$*.ott,ZIP)
 
@@ -100,9 +101,10 @@ $(gb_CustomTarget_workdir)/extras/source/templates/%.otg

core.git: Branch 'distro/allotropia/zeta-24-2' - odk/CustomTarget_doxygen.mk

2024-10-02 Thread Christian Lohmaier (via logerrit)
 odk/CustomTarget_doxygen.mk |   32 
 1 file changed, 16 insertions(+), 16 deletions(-)

New commits:
commit e648996cc9c007a2b374946cd4555c0430052a7c
Author: Christian Lohmaier 
AuthorDate: Tue Jul 11 16:48:24 2023 +0200
Commit: Balazs Varga 
CommitDate: Wed Oct 2 19:40:51 2024 +0200

run doxygen via wsl in wsl-as-helper case

Change-Id: I534bcc8b07aea1637a3aea01cd1c5da998833a4f
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/166339
Tested-by: Jenkins
Reviewed-by: Christian Lohmaier 
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/174242
Tested-by: Balazs Varga 
Reviewed-by: Balazs Varga 

diff --git a/odk/CustomTarget_doxygen.mk b/odk/CustomTarget_doxygen.mk
index cc7c6db7e674..0e375081dadb 100644
--- a/odk/CustomTarget_doxygen.mk
+++ b/odk/CustomTarget_doxygen.mk
@@ -22,13 +22,13 @@ odk_cpp_INCFILELIST := com/sun/star/uno/Any.h \
com/sun/star/uno/Type.h \
com/sun/star/uno/Type.hxx
 
-# Cygwin Doxygen needs unix paths
-odk_cygwin_path = $(if $(filter WNT,$(OS)),$(shell cygpath -u $(1)),$(1))
-odk_cpp_PREFIX := $(INSTDIR)/$(SDKDIRNAME)/include/
-odk_cpp_DOXY_INPUT := $(SRCDIR)/odk/docs/cpp/main.dox \
+# Cygwin Doxygen needs unix paths, wsl-as-helper needs paths into windows-realm
+odk_cygwin_path = $(if $(MSYSTEM),$(call gb_Helper_wsl_path,$(1)),$(call 
gb_Helper_cyg_path,$(1)))
+odk_cpp_PREFIX := $(call odk_cygwin_path,$(INSTDIR)/$(SDKDIRNAME)/include/)
+odk_cpp_DOXY_INPUT := $(call odk_cygwin_path,$(SRCDIR)/odk/docs/cpp/main.dox \
$(SRCDIR)/include/sal/log-areas.dox \
$(addprefix $(odk_cpp_PREFIX),$(odk_cpp_INCDIRLIST) 
$(odk_cpp_INCFILELIST))
-odk_cpp_DOXY_WORKDIR := $(gb_CustomTarget_workdir)/odk/docs/cpp/ref
+odk_cpp_DOXY_WORKDIR := $(call 
odk_cygwin_path,$(gb_CustomTarget_workdir)/odk/docs/cpp/ref)
 
 $(eval $(call gb_CustomTarget_register_targets,odk/docs,\
cpp/Doxyfile \
@@ -40,12 +40,12 @@ $(gb_CustomTarget_workdir)/odk/docs/cpp/Doxyfile : \
$(gb_Module_CURRENTMAKEFILE)
$(call gb_Output_announce,$(subst $(WORKDIR)/,,$@),$(true),SED,1)
$(call gb_Trace_StartRange,$(subst $(WORKDIR)/,,$@),SED)
-   sed -e 's!^INPUT = %$$!INPUT = $(call 
odk_cygwin_path,$(odk_cpp_DOXY_INPUT))!' \
-   -e 's!^OUTPUT_DIRECTORY = %$$!OUTPUT_DIRECTORY = $(call 
odk_cygwin_path,$(odk_cpp_DOXY_WORKDIR))!' \
+   sed -e 's!^INPUT = %$$!INPUT = $(odk_cpp_DOXY_INPUT)!' \
+   -e 's!^OUTPUT_DIRECTORY = %$$!OUTPUT_DIRECTORY = 
$(odk_cpp_DOXY_WORKDIR)!' \
-e 's!^PROJECT_BRIEF = %$$!PROJECT_BRIEF = "$(PRODUCTNAME) 
$(PRODUCTVERSION) SDK C/C++ API Reference"!' \
-e 's!^PROJECT_NAME = %$$!PROJECT_NAME = $(PRODUCTNAME)!' \
-e 's!^QUIET = %$$!QUIET = $(if $(verbose),NO,YES)!' \
-   -e 's!^STRIP_FROM_PATH = %$$!STRIP_FROM_PATH = $(call 
odk_cygwin_path,$(odk_cpp_PREFIX))!' \
+   -e 's!^STRIP_FROM_PATH = %$$!STRIP_FROM_PATH = 
$(odk_cpp_PREFIX)!' \
$< > $@
$(call gb_Trace_EndRange,$(subst $(WORKDIR)/,,$@),SED)
 
@@ -57,7 +57,7 @@ $(gb_CustomTarget_workdir)/odk/docs/cpp/doxygen.log : \
$(call gb_Package_get_target,odk_headers_generated)
$(call gb_Output_announce,$(subst $(WORKDIR)/,,$@),$(true),GEN,1)
$(call gb_Trace_StartRange,$(subst $(WORKDIR)/,,$@),GEN)
-   rm -rf $(odk_cpp_DOXY_WORKDIR)/ && $(DOXYGEN) $< > $@
+   rm -rf $(odk_cpp_DOXY_WORKDIR)/ && $(call gb_Helper_wsl_path,$(WSL) 
$(DOXYGEN) $<) > $@
$(call gb_Trace_EndRange,$(subst $(WORKDIR)/,,$@),GEN)
 
 $(eval $(call gb_CustomTarget_register_targets,odk/docs,\
@@ -65,14 +65,14 @@ $(eval $(call gb_CustomTarget_register_targets,odk/docs,\
idl/doxygen.log \
 ))
 
-odk_idl_PREFIX := $(SRCDIR)/udkapi/ $(SRCDIR)/offapi/
+odk_idl_PREFIX := $(call odk_cygwin_path,$(SRCDIR)/udkapi/ $(SRCDIR)/offapi/)
 # note: generated_idl_chapter_refs.idl must be the _last_ input file!
 # otherwise spurious references to it will appear in the output
-odk_idl_DOXY_INPUT := $(SRCDIR)/odk/docs/idl/main.dox \
+odk_idl_DOXY_INPUT := $(call odk_cygwin_path,$(SRCDIR)/odk/docs/idl/main.dox \
$(addsuffix com,$(odk_idl_PREFIX)) \
$(addsuffix org,$(odk_idl_PREFIX)) \
$(SRCDIR)/odk/docs/idl/generated_idl_chapter_refs.idl
-odk_idl_DOXY_WORKDIR := $(gb_CustomTarget_workdir)/odk/docs/idl/ref
+odk_idl_DOXY_WORKDIR := $(call 
odk_cygwin_path,$(gb_CustomTarget_workdir)/odk/docs/idl/ref)
 
 # don't depend on the IDL files directly but instead on the udkapi/offapi
 # which will get rebuilt when any IDL file changes
@@ -83,12 +83,12 @@ $(gb_CustomTarget_workdir)/odk/docs/idl/Doxyfile : \
$(gb_Module_CURRENTMAKEFILE)
$(call gb_Output_announce,$(subst $(WORKDIR)/,,$@),$(true),SED,1)
$(call gb_Trace_StartRange,$(subst $(WORKDIR)/,,$@),SED)
-   sed -e 's!^INPUT = %$$!INPUT = $(call 
odk_cygwin_path,$(odk_idl_DOXY_INPUT))!' \
-  

core.git: Branch 'distro/allotropia/zeta-24-2' - external/gpgmepp external/icu external/libassuan

2024-10-02 Thread Christian Lohmaier (via logerrit)
 external/gpgmepp/ExternalProject_gpgmepp.mk |2 +-
 external/icu/ExternalProject_icu.mk |2 +-
 external/libassuan/ExternalProject_libassuan.mk |2 +-
 3 files changed, 3 insertions(+), 3 deletions(-)

New commits:
commit 97071db0641c18fe59ef6c922f1c37736def1a13
Author: Christian Lohmaier 
AuthorDate: Wed Aug 2 14:55:44 2023 +0200
Commit: Balazs Varga 
CommitDate: Wed Oct 2 19:41:43 2024 +0200

run autoconf/autoreconf via wsl in wsl-as-helper case

Change-Id: I9bcdfe352fd378e1bf09e15b8d8f7dcea82c0b5e
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/166341
Tested-by: Jenkins
Reviewed-by: Christian Lohmaier 
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/174244
Reviewed-by: Balazs Varga 
Tested-by: Balazs Varga 

diff --git a/external/gpgmepp/ExternalProject_gpgmepp.mk 
b/external/gpgmepp/ExternalProject_gpgmepp.mk
index a58717fe3adb..d2733bf21b49 100644
--- a/external/gpgmepp/ExternalProject_gpgmepp.mk
+++ b/external/gpgmepp/ExternalProject_gpgmepp.mk
@@ -25,7 +25,7 @@ $(call gb_ExternalProject_get_state_target,gpgmepp,build): 
$(call gb_Executable_
$(call gb_Trace_StartRange,gpgmepp,EXTERNAL)
$(call gb_ExternalProject_run,build, \
$(gb_WIN_GPG_cross_setup_exports) \
-   && autoreconf \
+   && $(WSL) autoreconf \
&& $(gb_RUN_CONFIGURE) ./configure \
   $(gb_CONFIGURE_PLATFORMS) \
   --disable-shared \
diff --git a/external/icu/ExternalProject_icu.mk 
b/external/icu/ExternalProject_icu.mk
index 5388eee58983..cd4bc99ab1a3 100644
--- a/external/icu/ExternalProject_icu.mk
+++ b/external/icu/ExternalProject_icu.mk
@@ -20,7 +20,7 @@ ifeq ($(OS),WNT)
 $(call gb_ExternalProject_get_state_target,icu,build) :
$(call gb_Trace_StartRange,icu,EXTERNAL)
$(call gb_ExternalProject_run,build,\
-   autoconf -f \
+   $(WSL) autoconf -f \
&& export LIB="$(ILIB)" PYTHONWARNINGS="default" \
gb_ICU_XFLAGS="-FS $(SOLARINC) $(gb_DEBUGINFO_FLAGS) 
$(if $(MSVC_USE_DEBUG_RUNTIME),-MDd,-MD -Gy)" \
&& CFLAGS="$${gb_ICU_XFLAGS}" CPPFLAGS="$(SOLARINC)" 
CXXFLAGS="$${gb_ICU_XFLAGS}" \
diff --git a/external/libassuan/ExternalProject_libassuan.mk 
b/external/libassuan/ExternalProject_libassuan.mk
index 700f2a186ae9..364deeb71fa5 100644
--- a/external/libassuan/ExternalProject_libassuan.mk
+++ b/external/libassuan/ExternalProject_libassuan.mk
@@ -25,7 +25,7 @@ $(call gb_ExternalProject_get_state_target,libassuan,build): 
$(call gb_Executabl
$(call gb_Trace_StartRange,libassuan,EXTERNAL)
$(call gb_ExternalProject_run,build,\
  $(gb_WIN_GPG_cross_setup_exports) \
- && autoreconf \
+ && $(WSL) autoreconf \
  && $(gb_RUN_CONFIGURE) ./configure \
--enable-static \
--disable-shared \


core.git: Branch 'distro/allotropia/zeta-24-2' - solenv/gbuild

2024-10-02 Thread Christian Lohmaier (via logerrit)
 solenv/gbuild/LinkTarget.mk |7 +++
 solenv/gbuild/platform/com_MSC_class.mk |3 +--
 2 files changed, 4 insertions(+), 6 deletions(-)

New commits:
commit 21995b0f8313ae75e7272805c29a4ea5702523e4
Author: Christian Lohmaier 
AuthorDate: Wed Aug 2 16:19:19 2023 +0200
Commit: Balazs Varga 
CommitDate: Wed Oct 2 19:41:19 2024 +0200

run bison, flex and nasm via wsl in wsl-as-helper case

Change-Id: Ic3e82b72605cd0b5458bd31ab5ff5285adb3db75
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/166340
Tested-by: Jenkins
Reviewed-by: Christian Lohmaier 
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/174243
Reviewed-by: Balazs Varga 
Tested-by: Balazs Varga 

diff --git a/solenv/gbuild/LinkTarget.mk b/solenv/gbuild/LinkTarget.mk
index f0aa8cc214c9..a4e44d52d6e9 100644
--- a/solenv/gbuild/LinkTarget.mk
+++ b/solenv/gbuild/LinkTarget.mk
@@ -502,9 +502,8 @@ endef
 
 #  gb_LexTarget__command(scanner-file, stem-for-message, done-pseudo-target, 
source-target)
 define gb_LexTarget__command
-$(call gb_Helper_abbreviate_dirs,\
mkdir -p $(dir $(3)) && \
-   $(FLEX) $(T_LEXFLAGS) -o$(4) $(1) && touch $(3) )
+   $(call gb_Helper_wsl_path,$(FLEX) $(T_LEXFLAGS) -o$(4) $(1)) && touch 
$(3)
 endef
 
 
@@ -669,8 +668,8 @@ $(call gb_GenNasmObject_get_target,%) :
$(call gb_Trace_StartRange,$*,ASM)
test -f $(call gb_GenNasmObject_get_source,$*) || (echo "Missing 
generated source file $(call gb_GenNasmObject_get_source,$*)" && false)
mkdir -p $(dir $@) $(dir $(call gb_GenNasmObject_get_dep_target,$*)) && 
cd $(SRCDIR) && \
-   $(NASM) $(T_NASMFLAGS) $(T_NASMFLAGS_APPEND) -I$(dir $(call 
gb_GenNasmObject_get_source,$*)) \
-   $(call gb_GenNasmObject_get_source,$*) -o $@ && \
+   $(call gb_Helper_wsl_path,$(NASM) $(T_NASMFLAGS) 
$(T_NASMFLAGS_APPEND) -I$(dir $(call gb_GenNasmObject_get_source,$*)) \
+   $(call gb_GenNasmObject_get_source,$*) -o $@) && \
echo "$@ : $(call gb_GenNasmObject_get_source,$*)" > $(call 
gb_GenNasmObject_get_dep_target,$*)
$(call gb_Trace_EndRange,$*,ASM)
 
diff --git a/solenv/gbuild/platform/com_MSC_class.mk 
b/solenv/gbuild/platform/com_MSC_class.mk
index 911b0356e2fc..43b525c29cd0 100644
--- a/solenv/gbuild/platform/com_MSC_class.mk
+++ b/solenv/gbuild/platform/com_MSC_class.mk
@@ -26,9 +26,8 @@ endef
 
 define gb_YaccTarget__command
 $(call gb_Output_announce,$(2),$(true),YAC,3)
-$(call gb_Helper_abbreviate_dirs,\
mkdir -p $(dir $(3)) && \
-   $(BISON) $(T_YACCFLAGS) --defines=$(4) -o $(5) $(1) && touch $(3) )
+   $(call gb_Helper_wsl_path,$(WSL) $(BISON) $(T_YACCFLAGS) --defines=$(4) 
-o $(5) $(1)) && touch $(3)
 
 endef
 


core.git: Branch 'distro/allotropia/zeta-24-2' - external/openssl

2024-10-02 Thread Christian Lohmaier (via logerrit)
 external/openssl/ExternalProject_openssl.mk |3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

New commits:
commit 5ad0ce598c892b48c9554eb74a39e4bea16bcb3b
Author: Christian Lohmaier 
AuthorDate: Fri Apr 19 11:39:58 2024 +0200
Commit: Balazs Varga 
CommitDate: Wed Oct 2 19:42:14 2024 +0200

use strawberry perl in wsl-as-helper case for openssl

it needs modules that are not available in git-bash perl, and strawberry
perl is already used as a way to get windres and similar utilities
Might want to revisit that to streamline the dependencies

Change-Id: Ieb1c83831292677e9930d376d9d71283c6a1140e
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/166342
Tested-by: Jenkins
Reviewed-by: Christian Lohmaier 
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/174245
Tested-by: Balazs Varga 
Reviewed-by: Balazs Varga 

diff --git a/external/openssl/ExternalProject_openssl.mk 
b/external/openssl/ExternalProject_openssl.mk
index d197721d024a..4163125e52e4 100644
--- a/external/openssl/ExternalProject_openssl.mk
+++ b/external/openssl/ExternalProject_openssl.mk
@@ -60,11 +60,12 @@ OPENSSL_PLATFORM := \
 ifeq ($(COM),MSC)
 $(eval $(call gb_ExternalProject_use_nmake,openssl,build))
 
+$(call gb_ExternalProject_get_state_target,openssl,build): export PERL:=$(if 
$(MSYSTEM),$(STRAWBERRY_PERL),$(shell cygpath -m $(PERL)))
+
 $(call gb_ExternalProject_get_state_target,openssl,build):
$(call gb_Trace_StartRange,openssl,EXTERNAL)
$(call gb_ExternalProject_run,build,\
CONFIGURE_INSIST=1 $(PERL) Configure $(OPENSSL_PLATFORM) 
no-tests no-multilib \
-   && export PERL="$(shell cygpath -w $(PERL))" \
&& nmake -f makefile \
$(if $(call 
gb_Module__symbols_enabled,openssl),DEBUG_FLAGS_VALUE="$(gb_DEBUGINFO_FLAGS)") \
)


core.git: Branch 'distro/allotropia/zeta-24-2' - instsetoo_native/CustomTarget_install.mk

2024-10-02 Thread Christian Lohmaier (via logerrit)
 instsetoo_native/CustomTarget_install.mk |1 +
 1 file changed, 1 insertion(+)

New commits:
commit 98aab1c9cbb54a82ecc9f55d27019caf96f4ec7b
Author: Christian Lohmaier 
AuthorDate: Fri Apr 19 16:12:22 2024 +0200
Commit: Balazs Varga 
CommitDate: Wed Oct 2 19:42:48 2024 +0200

use strawberry perl for installation packaging in wsl-as-helper case

changing it to git-bash perl can probably be done, but would require
more changes to the path handling in the packaging code

Change-Id: I9a31ee6e9f122a2c167e11f5b4f73b18c5c0fa81
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/166343
Tested-by: Jenkins
Reviewed-by: Christian Lohmaier 
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/174246
Reviewed-by: Balazs Varga 
Tested-by: Balazs Varga 

diff --git a/instsetoo_native/CustomTarget_install.mk 
b/instsetoo_native/CustomTarget_install.mk
index 66098e4e6d6c..5c2bfd4ce462 100644
--- a/instsetoo_native/CustomTarget_install.mk
+++ b/instsetoo_native/CustomTarget_install.mk
@@ -121,6 +121,7 @@ $(instsetoo_installer_targets): 
$(SRCDIR)/solenv/bin/make_installer.pl \
$(if $(filter %msi‧nostrip,$@),$(gb_Make_JobLimiter) grab)
$(call gb_Trace_StartRange,$@,INSTALLER)
$(call gb_Helper_print_on_error, \
+   $(if $(MSYSTEM),export PERLIO=:unix PERL=$(STRAWBERRY_PERL) &&) \
$(SRCDIR)/solenv/bin/call_installer.sh $(if 
$(verbose),-verbose,-quiet) $(subst ‧,:,$@),\
$(gb_CustomTarget_workdir)/instsetoo_native/install/$(if $(filter 
en-US$(COMMA)%,$(instsetoo_installer_langs)),$(subst 
$(instsetoo_installer_langs),multilang,$@),$@).log)
$(if $(filter %msi‧nostrip,$@),$(gb_Make_JobLimiter) release)


core.git: Branch 'distro/allotropia/zeta-24-2' - configure.ac

2024-10-02 Thread Stephan Bergmann (via logerrit)
 configure.ac |6 --
 1 file changed, 4 insertions(+), 2 deletions(-)

New commits:
commit b70a8d72bbf9cad94a7efa871f684d70f6bba80f
Author: Stephan Bergmann 
AuthorDate: Tue Apr 23 11:16:52 2024 +0200
Commit: Balazs Varga 
CommitDate: Wed Oct 2 19:44:26 2024 +0200

Support --with-junit/hamcrest in WSL_ONLY_AS_HELPER mode

...where it failed with

> checking for JUnit 4... ./configure: line 47354: cygpath: command not 
found

Change-Id: I56c930b6c8b738b39f26766f90476c32efb383e1
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/166508
Reviewed-by: Christian Lohmaier 
Tested-by: Jenkins
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/174249
Tested-by: Balazs Varga 
Reviewed-by: Balazs Varga 

diff --git a/configure.ac b/configure.ac
index bec99703c502..94e2ebb21379 100644
--- a/configure.ac
+++ b/configure.ac
@@ -14232,7 +14232,8 @@ if test "$ENABLE_JAVA" != "" -a "$with_junit" != "no" 
-a "$cross_compiling" != "
 OOO_JUNIT_JAR=$with_junit
 fi
 if test "$_os" = "WINNT"; then
-OOO_JUNIT_JAR=`cygpath -m "$OOO_JUNIT_JAR"`
+PathFormat "$OOO_JUNIT_JAR"
+OOO_JUNIT_JAR="$formatted_path"
 fi
 printf 'import org.junit.Before;' > conftest.java
 if "$JAVACOMPILER" -classpath "$OOO_JUNIT_JAR" conftest.java >&5 2>&5; then
@@ -14268,7 +14269,8 @@ if test "$ENABLE_JAVA" != "" -a "$with_junit" != "no" 
-a "$cross_compiling" != "
 HAMCREST_JAR=$with_hamcrest
 fi
 if test "$_os" = "WINNT"; then
-HAMCREST_JAR=`cygpath -m "$HAMCREST_JAR"`
+PathFormat "$HAMCREST_JAR"
+HAMCREST_JAR="$formatted_path"
 fi
 if "$JAVACOMPILER" -classpath "$HAMCREST_JAR" conftest.java >&5 2>&5; 
then
 AC_MSG_RESULT([$HAMCREST_JAR])


core.git: Branch 'distro/allotropia/zeta-24-2' - configure.ac

2024-10-02 Thread Stephan Bergmann (via logerrit)
 configure.ac |2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

New commits:
commit e1e5d17ba73cc24ce4649d88df1910bc0685888e
Author: Stephan Bergmann 
AuthorDate: Tue Apr 23 08:49:46 2024 +0200
Commit: Balazs Varga 
CommitDate: Wed Oct 2 19:43:26 2024 +0200

Don't hardcode build as x86_64 for WSL_ONLY_AS_HELPER

...to also make it work builds on aarch64

Change-Id: Ibc502b11eedceddb84481c2ad5d351bf8404c8cf
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/166501
Tested-by: Jenkins
Reviewed-by: Christian Lohmaier 
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/174247
Tested-by: Balazs Varga 
Reviewed-by: Balazs Varga 

diff --git a/configure.ac b/configure.ac
index bb5a2650f20b..1c4a25ca73f8 100644
--- a/configure.ac
+++ b/configure.ac
@@ -15237,7 +15237,7 @@ AC_CONFIG_LINKS([include:include])
 
 if test -n "$WSL_ONLY_AS_HELPER"; then
 # while we configure in linux, we actually compile in "cygwin" (close 
enough at least)
-build="x86_64-pc-cygwin"
+build=$host
 PathFormat "$SRC_ROOT"
 SRC_ROOT="$formatted_path"
 PathFormat "$BUILDDIR"


core.git: Branch 'distro/allotropia/zeta-24-2' - configure.ac

2024-10-02 Thread Stephan Bergmann (via logerrit)
 configure.ac |9 +++--
 1 file changed, 7 insertions(+), 2 deletions(-)

New commits:
commit 703fceba67e0161beca89c0995adc47f7c8d7282
Author: Stephan Bergmann 
AuthorDate: Tue Apr 23 10:44:53 2024 +0200
Commit: Balazs Varga 
CommitDate: Wed Oct 2 19:43:53 2024 +0200

Honor TMPDIR configure option in WSL_ONLY_AS_HELPER mode

(It needs to be passed-in as a TMPDIR=/mnt/c/... style path, because 
configure
uses it early on and otherwise fails with some

> checking build system type... config.guess: cannot create a temporary 
directory in C:/...

error.)

Change-Id: I798ed7dd363eb5fd7614c5984861f77cf9d38266
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/166506
Tested-by: Jenkins
Reviewed-by: Christian Lohmaier 
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/174248
Reviewed-by: Balazs Varga 
Tested-by: Balazs Varga 

diff --git a/configure.ac b/configure.ac
index 1c4a25ca73f8..bec99703c502 100644
--- a/configure.ac
+++ b/configure.ac
@@ -15129,6 +15129,9 @@ AC_SUBST(PERL)
 
 if test -n "$TMPDIR"; then
 TEMP_DIRECTORY="$TMPDIR"
+if test -n "$WSL_ONLY_AS_HELPER"; then
+   TEMP_DIRECTORY=$(wslpath -m "$TEMP_DIRECTORY")
+fi
 else
 TEMP_DIRECTORY="/tmp"
 fi
@@ -15259,8 +15262,10 @@ if test -n "$WSL_ONLY_AS_HELPER"; then
 # append strawberry tools dir to PATH (for e.g. windres, ar)
 LO_PATH="$LO_PATH:$STRAWBERRY_TOOLS"
 # temp-dir needs to be in windows realm, hardcode for now
-mkdir -p tmp
-TEMP_DIRECTORY="$BUILDDIR/tmp"
+if test "$TEMP_DIRECTORY" = /tmp; then
+mkdir -p tmp
+TEMP_DIRECTORY="$BUILDDIR/tmp"
+fi
 fi
 
 # Keep in sync with list of files far up, at AC_MSG_CHECKING([for


core.git: Branch 'distro/allotropia/zeta-24-2' - bin/odfvalidator.sh.in bin/officeotron.sh.in configure.ac

2024-10-02 Thread Stephan Bergmann (via logerrit)
 bin/odfvalidator.sh.in |2 +-
 bin/officeotron.sh.in  |2 +-
 configure.ac   |3 +++
 3 files changed, 5 insertions(+), 2 deletions(-)

New commits:
commit 3a3a5cad6f5a590ee8788218486ea7d5c141b1f9
Author: Stephan Bergmann 
AuthorDate: Fri Apr 26 10:51:47 2024 +0200
Commit: Balazs Varga 
CommitDate: Wed Oct 2 19:44:55 2024 +0200

Make odfvalidator and officeotron work in WSL_ONLY_AS_HELPER mode

...where e.g. CppunitTest_oox_testscene3d
CPPUNIT_TEST_NAME=test_material_wireframe::TestBody had failed with

> forced failure
> - Error: Unable to access jarfile 
/mnt/d/lo/tar/odfvalidator-0.9.0-RC2-SNAPSHOT-jar-with-dependencies-2726ab578664434a545f8379a01a9faffac0ae73.jar

and e.g. CppunitTest_oox_mcgr
CPPUNIT_TEST_NAME=testAxialColorLinearTrans::TestBody had failed with

> equality assertion failed
> - Expected: 0
> - Actual  : 1
> - failed to execute: sh D:/lo-wsl/core/bin/officeotron.sh 
C:\Users\steph\AppData\Local\Temp   est_oox_mcgr.dll2epgul.tmp > 
C:\Users\steph\AppData\Local\Temp  est_oox_mcgr.dll2epgup.tmp 2>&1
> Error: Unable to access jarfile 
/mnt/d/lo/tar/8249374c274932a21846fa7629c2aa9b-officeotron-0.7.4-master.jar

Change-Id: I094b76daff6eef2cb6a9874a4776bab9c4424f49
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/166703
Reviewed-by: Stephan Bergmann 
Tested-by: Jenkins
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/174250
Tested-by: Balazs Varga 
Reviewed-by: Balazs Varga 

diff --git a/bin/odfvalidator.sh.in b/bin/odfvalidator.sh.in
index 605e74731f20..99b2207ad138 100644
--- a/bin/odfvalidator.sh.in
+++ b/bin/odfvalidator.sh.in
@@ -1,2 +1,2 @@
 #!/usr/bin/env bash
-java 
-Djavax.xml.validation.SchemaFactory:http://relaxng.org/ns/structure/1.0=org.iso_relax.verifier.jaxp.validation.RELAXNGSchemaFactoryImpl
 
-Dorg.iso_relax.verifier.VerifierFactoryLoader=com.sun.msv.verifier.jarv.FactoryLoaderImpl
 -jar @TARFILE_LOCATION@/@ODFVALIDATOR_JAR@ "$@"
+java 
-Djavax.xml.validation.SchemaFactory:http://relaxng.org/ns/structure/1.0=org.iso_relax.verifier.jaxp.validation.RELAXNGSchemaFactoryImpl
 
-Dorg.iso_relax.verifier.VerifierFactoryLoader=com.sun.msv.verifier.jarv.FactoryLoaderImpl
 -jar @TARFILE_LOCATION_NATIVE@/@ODFVALIDATOR_JAR@ "$@"
diff --git a/bin/officeotron.sh.in b/bin/officeotron.sh.in
index 7281f1bcd17c..935ec5809cdd 100644
--- a/bin/officeotron.sh.in
+++ b/bin/officeotron.sh.in
@@ -1,2 +1,2 @@
 #!/usr/bin/env bash
-java -jar @TARFILE_LOCATION@/@OFFICEOTRON_JAR@ "$@"
+java -jar @TARFILE_LOCATION_NATIVE@/@OFFICEOTRON_JAR@ "$@"
diff --git a/configure.ac b/configure.ac
index 94e2ebb21379..460a4ef68802 100644
--- a/configure.ac
+++ b/configure.ac
@@ -6267,7 +6267,10 @@ else
 PathFormat "${absolute_path}"
 TARFILE_LOCATION="${formatted_path_unix}"
 fi
+PathFormat "$TARFILE_LOCATION"
+TARFILE_LOCATION_NATIVE="$formatted_path"
 AC_SUBST(TARFILE_LOCATION)
+AC_SUBST(TARFILE_LOCATION_NATIVE)
 
 AC_MSG_CHECKING([whether we want to fetch tarballs])
 if test "$enable_fetch_external" != "no"; then


core.git: Branch 'distro/allotropia/zeta-24-2' - config_host.mk.in configure.ac Makefile.in

2024-10-02 Thread Christian Lohmaier (via logerrit)
 Makefile.in   |   16 
 config_host.mk.in |2 ++
 configure.ac  |   41 +
 3 files changed, 51 insertions(+), 8 deletions(-)

New commits:
commit ac5735ef29dfaba8e12a331f916c81c7dfdda210
Author: Christian Lohmaier 
AuthorDate: Fri Apr 26 14:49:59 2024 +0200
Commit: Balazs Varga 
CommitDate: Wed Oct 2 19:46:41 2024 +0200

add --with-keep-awake switch to prevent going into sleep/suspend

if used defaults to Awake for Windows and caffeinate for macOS

Change-Id: I35f41bf1fb63af05ce2ec1a7f4d7b50b310536a3
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/166743
Reviewed-by: Christian Lohmaier 
Tested-by: Jenkins
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/174251
Reviewed-by: Balazs Varga 
Tested-by: Balazs Varga 

diff --git a/Makefile.in b/Makefile.in
index c03f7a0af96f..dcbd8c3d98fb 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -91,19 +91,19 @@ define gb_Top_GbuildModuleRules
 .PHONY: $(1).allbuild $(1).buildall $(1).allcheck $(1).checkall
 
 $(1): bootstrap fetch
-   cd $(SRCDIR)/$(2) && $$(MAKE) $(PARALLELISM_OPTION) $(GMAKE_OPTIONS)
+   $(KEEP_AWAKE_CMD) cd $(SRCDIR)/$(2) && $$(MAKE) $(PARALLELISM_OPTION) 
$(GMAKE_OPTIONS)
 
 $(1).build $(1).check $(1).coverage $(foreach 
target,$(gb_Top_MODULE_CHECK_TARGETS),$(1).$(target)): bootstrap fetch
-   cd $(SRCDIR)/$(2) && $$(MAKE) $(PARALLELISM_OPTION) $(GMAKE_OPTIONS) 
$$(patsubst $(1).%,%,$$@)
+   $(KEEP_AWAKE_CMD) cd $(SRCDIR)/$(2) && $$(MAKE) $(PARALLELISM_OPTION) 
$(GMAKE_OPTIONS) $$(patsubst $(1).%,%,$$@)
 
 $(1).clean $(1).showdeliverables:
cd $(SRCDIR)/$(2) && $$(MAKE) $(PARALLELISM_OPTION) $(GMAKE_OPTIONS) 
$$(patsubst $(1).%,%,$$@)
 
 $(1).allbuild $(1).buildall: bootstrap fetch
-   $$(MAKE) $(PARALLELISM_OPTION) $(GMAKE_OPTIONS) -f 
$(SRCDIR)/Makefile.gbuild $(WORKDIR)/Module/$(1)
+   $(KEEP_AWAKE_CMD) $$(MAKE) $(PARALLELISM_OPTION) $(GMAKE_OPTIONS) -f 
$(SRCDIR)/Makefile.gbuild $(WORKDIR)/Module/$(1)
 
 $(1).allcheck $(1).checkall: bootstrap fetch
-   $$(MAKE) $(PARALLELISM_OPTION) $(GMAKE_OPTIONS) -f 
$(SRCDIR)/Makefile.gbuild $(WORKDIR)/Module/$(1) $(WORKDIR)/Module/check/$(1) 
$(WORKDIR)/Module/slowcheck/$(1)
+   $(KEEP_AWAKE_CMD) $$(MAKE) $(PARALLELISM_OPTION) $(GMAKE_OPTIONS) -f 
$(SRCDIR)/Makefile.gbuild $(WORKDIR)/Module/$(1) $(WORKDIR)/Module/check/$(1) 
$(WORKDIR)/Module/slowcheck/$(1)
 
 $(1).all:
@echo "'make $(1).all' was renamed to 'make $(1).allcheck' (or use 
'make $(1).allbuild' to build without unit tests)"
@@ -170,10 +170,10 @@ gbuild_TARGETS := AllLangHelp \
 
 # build a generic gbuild target
 $(foreach target,$(gbuild_TARGETS),$(target)_% $(foreach 
module,$(gbuild_modules),$(target)_$(module)/%)) UIConfig_modules/% %.genpatch: 
bootstrap fetch
-   $(MAKE) $(PARALLELISM_OPTION) $(GMAKE_OPTIONS) -f 
$(SRCDIR)/Makefile.gbuild $@
+   $(KEEP_AWAKE_CMD) $(MAKE) $(PARALLELISM_OPTION) $(GMAKE_OPTIONS) -f 
$(SRCDIR)/Makefile.gbuild $@
 
 $(gbuild_TARGETS):
-   $(MAKE) $(PARALLELISM_OPTION) $(GMAKE_OPTIONS) -f 
$(SRCDIR)/Makefile.gbuild $@
+   $(KEEP_AWAKE_CMD) $(MAKE) $(PARALLELISM_OPTION) $(GMAKE_OPTIONS) -f 
$(SRCDIR)/Makefile.gbuild $@
 
 #
 # Clean
@@ -290,9 +290,9 @@ bootstrap: check-if-root compilerplugins
 #
 build: bootstrap fetch $(if 
$(CROSS_COMPILING),cross-toolset,install-gdb-printers) \
 $(if $(filter check,$(MAKECMDGOALS)),$(if $(COMPILER_PLUGINS),$(if 
$(LODE_HOME),clang-format-check)))
-   $(MAKE) $(PARALLELISM_OPTION) $(IWYU_OPTION) $(GMAKE_OPTIONS) -f 
$(SRCDIR)/Makefile.gbuild $(build_goal)
+   $(KEEP_AWAKE_CMD) $(MAKE) $(PARALLELISM_OPTION) $(IWYU_OPTION) 
$(GMAKE_OPTIONS) -f $(SRCDIR)/Makefile.gbuild $(build_goal)
 ifeq ($(OS),iOS)
-   $(MAKE) $(PARALLELISM_OPTION) $(GMAKE_OPTIONS) ios
+   $(KEEP_AWAKE_CMD) $(MAKE) $(PARALLELISM_OPTION) $(GMAKE_OPTIONS) ios
 endif
 
 build-non-l10n-only build-l10n-only check debugrun translations packageinfo 
coverage $(gb_Top_MODULE_CHECK_TARGETS): build
diff --git a/config_host.mk.in b/config_host.mk.in
index c35e864be120..0a1bc2950504 100644
--- a/config_host.mk.in
+++ b/config_host.mk.in
@@ -787,6 +787,8 @@ include $(BUILDDIR)/config_$(gb_Side)_lang.mk
 # does use some of the variables defined above
 include @SRC_ROOT@/download.lst
 
+KEEP_AWAKE_CMD=@KEEP_AWAKE_CMD@
+
 # prep for WSL-as-helper-builds where build runs from within git-bash/MSYS 
that would otherwise
 # messes with anything that looks like a path (starts with /) but it cannot 
resolve
 export MSYS_NO_PATHCONV=1
diff --git a/configure.ac b/configure.ac
index 460a4ef68802..040d3b9f2fe5 100644
--- a/configure.ac
+++ b/configure.ac
@@ -2816,6 +2816,13 @@ AC_ARG_WITH(gtk3-build,
 [(Windows-only) In order to build GtkTiledViewer on Windows, pass the 
path
  to a GTK3 build, like 
'--with-gtk3-build=C:/gtk-build/gtk/x64/release'.]))
 
+AC_ARG_WITH(keep-awake,
+AS_HELP_STRING([--with-keep-awake

core.git: Branch 'distro/allotropia/zeta-24-2' - configure.ac odk/CustomTarget_doxygen.mk

2024-10-02 Thread Christian Lohmaier (via logerrit)
 configure.ac|   18 --
 odk/CustomTarget_doxygen.mk |8 
 2 files changed, 20 insertions(+), 6 deletions(-)

New commits:
commit edc5ed32ffbf74ae8334537c486dd49fed274c42
Author: Christian Lohmaier 
AuthorDate: Tue May 7 14:19:50 2024 +0200
Commit: Balazs Varga 
CommitDate: Wed Oct 2 19:48:31 2024 +0200

use windows doxygen in wsl-as-helper case

basically reverts f7fe6a0bed2c2aee19535a26181a2edfb103e587

avoiding the penalty for accessing files in the windows-realm from
within the wsl-container significantly accelerates the doc-generation

Change-Id: I95af905bda7225a9c1924a41e952656dffbfbc0b
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/167279
Tested-by: Jenkins
Reviewed-by: Christian Lohmaier 
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/174255
Reviewed-by: Balazs Varga 
Tested-by: Balazs Varga 

diff --git a/configure.ac b/configure.ac
index d9250aad5626..1a8d3889dbe3 100644
--- a/configure.ac
+++ b/configure.ac
@@ -9402,8 +9402,9 @@ else
 fi
 else
 AC_MSG_CHECKING([for doxygen])
-DOXYGEN=$with_doxygen
-AC_MSG_RESULT([$DOXYGEN])
+PathFormat "$with_doxygen"
+DOXYGEN="$formatted_path_unix"
+AC_MSG_RESULT([$formatted_path])
 fi
 if test -n "$DOXYGEN"; then
 DOXYGEN_VERSION=`$DOXYGEN --version 2>/dev/null`
@@ -9412,6 +9413,19 @@ else
 AC_MSG_ERROR([found doxygen is too old; need at least version 
1.8.4 or specify --without-doxygen])
 fi
 fi
+if test -n "$WSL_ONLY_AS_HELPER"; then
+dnl what really should be tested is whether it is doxygen from 
windows-realm
+dnl i.e. one that runs on the windows-side and deals with 
windows-pathnames
+dnl using doxygen from wsl container would be possible, but 
there's a performance
+dnl penalty when accessing the files outside the container
+AC_MSG_CHECKING([whether doxygen is a windows executable])
+if $(file "$DOXYGEN" | grep -q "PE32"); then
+AC_MSG_RESULT([yes])
+else
+AC_MSG_RESULT([no])
+AC_MSG_ERROR([please provide a path to a windows version of 
doxygen or use --without-doxygen])
+fi
+fi
 fi
 fi
 AC_SUBST([DOXYGEN])
diff --git a/odk/CustomTarget_doxygen.mk b/odk/CustomTarget_doxygen.mk
index 0e375081dadb..ded0f0748eb9 100644
--- a/odk/CustomTarget_doxygen.mk
+++ b/odk/CustomTarget_doxygen.mk
@@ -22,8 +22,8 @@ odk_cpp_INCFILELIST := com/sun/star/uno/Any.h \
com/sun/star/uno/Type.h \
com/sun/star/uno/Type.hxx
 
-# Cygwin Doxygen needs unix paths, wsl-as-helper needs paths into windows-realm
-odk_cygwin_path = $(if $(MSYSTEM),$(call gb_Helper_wsl_path,$(1)),$(call 
gb_Helper_cyg_path,$(1)))
+# Cygwin Doxygen needs unix paths, wsl-as-helper works in windows-realm
+odk_cygwin_path = $(if $(MSYSTEM),$(1),$(call gb_Helper_cyg_path,$(1)))
 odk_cpp_PREFIX := $(call odk_cygwin_path,$(INSTDIR)/$(SDKDIRNAME)/include/)
 odk_cpp_DOXY_INPUT := $(call odk_cygwin_path,$(SRCDIR)/odk/docs/cpp/main.dox \
$(SRCDIR)/include/sal/log-areas.dox \
@@ -57,7 +57,7 @@ $(gb_CustomTarget_workdir)/odk/docs/cpp/doxygen.log : \
$(call gb_Package_get_target,odk_headers_generated)
$(call gb_Output_announce,$(subst $(WORKDIR)/,,$@),$(true),GEN,1)
$(call gb_Trace_StartRange,$(subst $(WORKDIR)/,,$@),GEN)
-   rm -rf $(odk_cpp_DOXY_WORKDIR)/ && $(call gb_Helper_wsl_path,$(WSL) 
$(DOXYGEN) $<) > $@
+   rm -rf $(odk_cpp_DOXY_WORKDIR)/ && $(DOXYGEN) $< > $@
$(call gb_Trace_EndRange,$(subst $(WORKDIR)/,,$@),GEN)
 
 $(eval $(call gb_CustomTarget_register_targets,odk/docs,\
@@ -98,7 +98,7 @@ $(gb_CustomTarget_workdir)/odk/docs/idl/doxygen.log : \
$(SRCDIR)/odk/docs/idl/main.dox
$(call gb_Output_announce,$(subst $(WORKDIR)/,,$@),$(true),GEN,1)
$(call gb_Trace_StartRange,$(subst $(WORKDIR)/,,$@),GEN)
-   rm -rf $(odk_idl_DOXY_WORKDIR)/ && $(call gb_Helper_wsl_path,$(WSL) 
$(DOXYGEN) $<) > $@
+   rm -rf $(odk_idl_DOXY_WORKDIR)/ && $(DOXYGEN) $< > $@
$(call gb_Trace_EndRange,$(subst $(WORKDIR)/,,$@),GEN)
 
 # vim: set noet sw=4 ts=4:


core.git: Branch 'distro/allotropia/zeta-24-2' - config_host.mk.in

2024-10-02 Thread Christian Lohmaier (via logerrit)
 config_host.mk.in |2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

New commits:
commit 3909c3ea95992e9edfb8e1213edef732abf50cbf
Author: Christian Lohmaier 
AuthorDate: Wed May 8 14:35:11 2024 +0200
Commit: Balazs Varga 
CommitDate: Wed Oct 2 19:47:38 2024 +0200

make sure KEEP_AWAKE_CMD gets only evaluated once

if using deferred evaluation then the creation of targets via $(call
gb_Top_GbuildModuleRules,foo) would result in it getting processed over
900 times, and on windows spawning a shell with the two ps and awk
command that takes 5 minutes.

If future commands need to be run when the rule is run, then an
alternative is to escape the variable in the define for the
gb_Top_GbuildModuleRules macro via double-$ → $$(KEEP_AWAKE_CMD) - but I
cannot think of any method where that should be necessary

Change-Id: I126e4d317bd77f359ca9f39adf00cc88846af281
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/167351
Tested-by: Jenkins
Reviewed-by: Christian Lohmaier 
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/174253
Tested-by: Balazs Varga 
Reviewed-by: Balazs Varga 

diff --git a/config_host.mk.in b/config_host.mk.in
index 707dc94f7768..a8b458c6ee00 100644
--- a/config_host.mk.in
+++ b/config_host.mk.in
@@ -787,7 +787,7 @@ include $(BUILDDIR)/config_$(gb_Side)_lang.mk
 # does use some of the variables defined above
 include @SRC_ROOT@/download.lst
 
-KEEP_AWAKE_CMD=@KEEP_AWAKE_CMD@
+KEEP_AWAKE_CMD:=@KEEP_AWAKE_CMD@
 
 # used for WSL-as-helper-builds where the build runs from within git-bash/MSYS 
that otherwise would
 # mess with anything that looks like a path (starts with a /) but cannot be 
resolved to a target


core.git: Branch 'distro/allotropia/zeta-24-2' - config_host.mk.in configure.ac

2024-10-02 Thread Christian Lohmaier (via logerrit)
 config_host.mk.in |6 +++---
 configure.ac  |   12 +++-
 2 files changed, 10 insertions(+), 8 deletions(-)

New commits:
commit e6cc677b75fd4981ddb65cf09205e8eaa7737132
Author: Christian Lohmaier 
AuthorDate: Fri Apr 26 13:03:49 2024 +0200
Commit: Balazs Varga 
CommitDate: Wed Oct 2 19:47:15 2024 +0200

fix some hardcoded use of wsl.exe and fix some typos

Change-Id: I6152ee61913638f828eeb201ecb26312de5f8572
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/166737
Reviewed-by: Christian Lohmaier 
Tested-by: Jenkins
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/174252
Reviewed-by: Balazs Varga 
Tested-by: Balazs Varga 

diff --git a/config_host.mk.in b/config_host.mk.in
index 0a1bc2950504..707dc94f7768 100644
--- a/config_host.mk.in
+++ b/config_host.mk.in
@@ -789,8 +789,8 @@ include @SRC_ROOT@/download.lst
 
 KEEP_AWAKE_CMD=@KEEP_AWAKE_CMD@
 
-# prep for WSL-as-helper-builds where build runs from within git-bash/MSYS 
that would otherwise
-# messes with anything that looks like a path (starts with /) but it cannot 
resolve
+# used for WSL-as-helper-builds where the build runs from within git-bash/MSYS 
that otherwise would
+# mess with anything that looks like a path (starts with a /) but cannot be 
resolved to a target
 export MSYS_NO_PATHCONV=1
 STRAWBERRY_PERL=@STRAWBERRY_PERL@
-WSL=@WSL@
\ No newline at end of file
+WSL=@WSL@
diff --git a/configure.ac b/configure.ac
index 040d3b9f2fe5..d9250aad5626 100644
--- a/configure.ac
+++ b/configure.ac
@@ -337,7 +337,8 @@ if test -n "$WSL_DISTRO_NAME" && $(echo $PATH |grep -q 
mingw64); then
 STRAWBERRY_PERL="$formatted_path/perl/bin/perl.exe"
 AC_ARG_WITH([wsl-command],
 [AS_HELP_STRING([--with-wsl-command],
-[Specify your wsl distro command if it isn't the default/the one 
used with just wsl.exe])],
+[Specify your wsl distro command if it isn't the default/the one 
used with just wsl.exe –
+ for example: wsl.exe -d MyDistro -u NonDefaultUser])],
 [],
 [with_wsl_command="wsl.exe"])
 WSL="$with_wsl_command"
@@ -15301,10 +15302,11 @@ if test -n "$WSL_ONLY_AS_HELPER"; then
 PERL="perl.exe"
 # use flex, gperf and nasm from wsl-container
 # if using absolute path, would need to use double-leading slash for the 
msys path mangling
-FLEX="wsl.exe $FLEX"
-NASM="wsl.exe $NASM"
-# some externals (libebook) checks with AC_PATH_PROGS, and that requires 
argument to begin with slash...
-GPERF="/c/Windows/system32/wsl.exe gperf"
+FLEX="$WSL $FLEX"
+NASM="$WSL $NASM"
+# some externals (libebook) check for it with AC_PATH_PROGS, and that only 
accepts overrides
+# with an absolute path/requires the value to begin with a slash
+GPERF="/c/Windows/system32/$WSL gperf"
 # append strawberry tools dir to PATH (for e.g. windres, ar)
 LO_PATH="$LO_PATH:$STRAWBERRY_TOOLS"
 # temp-dir needs to be in windows realm, hardcode for now


core.git: Branch 'distro/allotropia/zeta-24-2' - solenv/gbuild

2024-10-02 Thread Christian Lohmaier (via logerrit)
 solenv/gbuild/Trace.mk |2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

New commits:
commit 791ed55109e74b4fc00bef2cceb420224201d46e
Author: Christian Lohmaier 
AuthorDate: Fri Apr 26 14:53:17 2024 +0200
Commit: Balazs Varga 
CommitDate: Wed Oct 2 19:48:01 2024 +0200

gbuild trace: disable flock for wsl-as-helper case

Change-Id: Ie5db3fcc6fccedb214aec472852d8d82813fb984
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/166744
Tested-by: Jenkins
Reviewed-by: Christian Lohmaier 
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/174254
Tested-by: Balazs Varga 
Reviewed-by: Balazs Varga 

diff --git a/solenv/gbuild/Trace.mk b/solenv/gbuild/Trace.mk
index a92f842e1dec..d1cba301469e 100644
--- a/solenv/gbuild/Trace.mk
+++ b/solenv/gbuild/Trace.mk
@@ -37,7 +37,7 @@ ifneq ($(gb_TRACE),)
 gb_Trace_Timestamp := $(if $(filter MACOSX,$(OS)),$$(date 
+%s)0,$$(date +%s%N))
 # macOS also doesn't provide flock, so skip that part on mac
 # The (flock;cat) part is to minimize lock time.
-gb_Trace_Flock := $(if $(filter MACOSX,$(OS)),,| ( flock 1; cat ))
+gb_Trace_Flock := $(if $(MSYSTEM)$(filter MACOSX,$(OS)),,| ( flock 1; cat ))
 # call gb_Trace_AddMark,marktype,detail,type,extra
 define gb_Trace__AddMark
 echo "{\"name\": \"$(3)\", \"ph\": \"$(1)\", \"pid\": 1, \"tid\": 1, \"ts\": 
$(gb_Trace_Timestamp),\"args\":{\"message\":\"[$(3)]: $(2)\"}}," 
$(gb_Trace_Flock) >>$(gb_TRACE)


core.git: Branch 'distro/allotropia/zeta-24-2' - solenv/gbuild

2024-10-02 Thread Christian Lohmaier (via logerrit)
 solenv/gbuild/Output.mk |3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

New commits:
commit 04d1edf486b638ac574df7b5f4f97c4b127b027a
Author: Christian Lohmaier 
AuthorDate: Tue May 28 14:34:40 2024 +0200
Commit: Balazs Varga 
CommitDate: Wed Oct 2 19:49:43 2024 +0200

wsl-as-helper: enable gb_COLOR by default when using git-bash

Change-Id: I3c24e8b3049e9bd669952ac3b24678bb3c5e1014
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/174258
Tested-by: Balazs Varga 
Reviewed-by: Balazs Varga 

diff --git a/solenv/gbuild/Output.mk b/solenv/gbuild/Output.mk
index c4b992df4443..2a5f067684ef 100644
--- a/solenv/gbuild/Output.mk
+++ b/solenv/gbuild/Output.mk
@@ -52,7 +52,8 @@ gb_Output_BELL := $(shell echo|awk 'BEGIN { printf "%c", 7 }' 
-)
 ifeq ($(origin gb_COLOR),undefined)
 ifneq ($(MAKE_TERMOUT),)
 # Cygwin mintty has issues where gb_Output_error is swallowed
-ifneq ($(OS),WNT)
+# but git-bash/wsl-as-helper seems fine with it
+ifneq ($(OS)$(MSYSTEM),WNT)
 gb_COLOR=$(true)
 endif
 endif


core.git: Branch 'distro/allotropia/zeta-24-2' - solenv/gbuild

2024-10-02 Thread Christian Lohmaier (via logerrit)
 solenv/gbuild/AllLangMoTarget.mk |6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

New commits:
commit 5238bced368adc3e8e4658f08cb23e20f26d43bf
Author: Christian Lohmaier 
AuthorDate: Tue Aug 27 14:04:14 2024 +0200
Commit: Balazs Varga 
CommitDate: Wed Oct 2 19:48:59 2024 +0200

run msguniq .. | msgfmt in a subshell to help out wsl1

handling stdout / pipe / redirections seems to be fragile when using

wsl command1 | wsl command2

when multiple of those are run concurrently. So as a woraround make
that a single invokation of

wsl shell -c "command1 | command2"

Change-Id: I9e67fddd6cf377aa0461515036ea7b709714153d
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/172468
Reviewed-by: Christian Lohmaier 
Tested-by: Jenkins
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/174256
Reviewed-by: Balazs Varga 
Tested-by: Balazs Varga 

diff --git a/solenv/gbuild/AllLangMoTarget.mk b/solenv/gbuild/AllLangMoTarget.mk
index ec05985d5ecc..f590f4d84ac0 100644
--- a/solenv/gbuild/AllLangMoTarget.mk
+++ b/solenv/gbuild/AllLangMoTarget.mk
@@ -32,12 +32,12 @@ $(call gb_MoTarget_get_clean_target,%) :
$(call gb_MoTarget_get_target,$*) \
$(call gb_MoTarget_get_install_target,$*))
 
+# wsl1 seems to have issues with writing to stdout/pipes when running with 
high parallelism
+# so as a workaround run the two statements in a single command run by a shell
 $(call gb_MoTarget_get_target,%) : $(gb_Helper_MISCDUMMY)
$(call gb_Output_announce,$*,$(true),MO ,2)
$(call gb_Trace_StartRange,$*,MO )
-   $(call gb_Helper_abbreviate_dirs,\
-   mkdir -p $(dir $@) && \
-   $(MSGUNIQ) --force-po 
$(gb_POLOCATION)/$(LANGUAGE)/$(POLOCATION)/messages.po | $(MSGFMT) - -o $@)
+   $(call gb_Helper_wsl_path,$(WSL) /bin/sh -c "$(MSGUNIQ) --force-po 
$(gb_POLOCATION)/$(LANGUAGE)/$(POLOCATION)/messages.po | $(MSGFMT) - -o $@")
$(call gb_Trace_EndRange,$*,MO )
 
 #$(info $(call gb_MoTarget_get_target,$(1)))


core.git: Branch 'distro/allotropia/zeta-24-2' - solenv/gbuild

2024-10-02 Thread Christian Lohmaier (via logerrit)
 solenv/gbuild/CustomTarget.mk |4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

New commits:
commit 66a8c30bf8cdc587d5f19dcb0f9184c7b0136b65
Author: Christian Lohmaier 
AuthorDate: Tue Aug 27 22:35:12 2024 +0200
Commit: Balazs Varga 
CommitDate: Wed Oct 2 19:49:19 2024 +0200

wsl: avoid another case of redirection / piping

in high-parallelsim/high load case the issues with piping commands
with wsl1 can result in an incomplete file being generated

in b87da3e9402c8b56ce2a16213802224f9288de4d a similar problem when
appending with wsl was addressed by splitting the targets, but in
this case just separating the commands is more straightforward

Change-Id: I92cc06bf489b2cb4f8ffd412a91656fb6ca48233
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/172482
Reviewed-by: Christian Lohmaier 
Tested-by: Jenkins
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/174257
Reviewed-by: Balazs Varga 
Tested-by: Balazs Varga 

diff --git a/solenv/gbuild/CustomTarget.mk b/solenv/gbuild/CustomTarget.mk
index e698a895baea..7020f2c45b85 100644
--- a/solenv/gbuild/CustomTarget.mk
+++ b/solenv/gbuild/CustomTarget.mk
@@ -84,8 +84,8 @@ define gb_CustomTarget_token_hash
 $(call gb_CustomTarget_get_target,$(1)) : $(gb_CustomTarget_workdir)/$(1)/$(2)
 $(gb_CustomTarget_workdir)/$(1)/$(2) : 
$(gb_CustomTarget_workdir)/$(1)/misc/$(3)
$$(call gb_Output_announce,$$(subst $(WORKDIR)/,,$$@),build,GPF,1)
-   $$(call gb_Helper_wsl_path,$(GPERF) --compare-strncmp --switch=2 
--readonly-tables $$<) \
-   | sed -e '/^#line/d' -e 's/(char\*)0/(char\*)0, 0/g' > $$@
+   $$(call gb_Helper_wsl_path,$(GPERF) --compare-strncmp --switch=2 
--readonly-tables $$< --output-file=$$@.gperf) \
+   &&  sed -e '/^#line/d' -e 's/(char\*)0/(char\*)0, 0/g' $$@.gperf > $$@ 
&& rm -f $$@.gperf
 
 endef
 


core.git: Branch 'distro/allotropia/zeta-24-2' - solenv/gbuild

2024-10-02 Thread Noel Grandin (via logerrit)
 solenv/gbuild/platform/com_MSC_defs.mk |2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

New commits:
commit 8ddf9a992bf1826a66f0543127916f25d0f8e516
Author: Noel Grandin 
AuthorDate: Tue May 7 12:49:07 2024 +0200
Commit: Balazs Varga 
CommitDate: Wed Oct 2 19:50:03 2024 +0200

fix Windows incremental build

after
commit 4c86718e78c6b18c84774e48ca025694364c251a
Author: Christian Lohmaier 
Date:   Thu Apr 18 12:45:01 2024 +0200
initial support for running autogen.sh inside wsl from git-bash

otherwise we end up with mixed cygwin/windows paths in our .d
files, which the make executable we use will not like.

Change-Id: Ia1325793f47657a23774c216df319ae6afd6d638
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/167269
Tested-by: Jenkins
Reviewed-by: Christian Lohmaier 
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/174259
Reviewed-by: Balazs Varga 
Tested-by: Balazs Varga 

diff --git a/solenv/gbuild/platform/com_MSC_defs.mk 
b/solenv/gbuild/platform/com_MSC_defs.mk
index cd314e19a954..176c491f8abf 100644
--- a/solenv/gbuild/platform/com_MSC_defs.mk
+++ b/solenv/gbuild/platform/com_MSC_defs.mk
@@ -257,7 +257,7 @@ gb_COMPILERDEBUGOPTFLAGS :=
 ifeq ($(gb_FULLDEPS),$(true))
 gb_COMPILERDEPFLAGS := -showIncludes
 define gb_create_deps
-| $(call gb_Helper_cyg_path,$(GBUILDDIR)/platform/filter-showIncludes.awk 
-vdepfile=$(1) -vobjectfile=$(2) -vsourcefile=$(3)); exit $${PIPESTATUS[0]}
+| $(GBUILDDIR)/platform/filter-showIncludes.awk -vdepfile=$(1) 
-vobjectfile=$(2) -vsourcefile=$(3); exit $${PIPESTATUS[0]}
 endef
 else
 gb_COMPILERDEPFLAGS :=


core.git: Branch 'distro/allotropia/zeta-24-2' - bridges/source

2024-10-02 Thread Stephan Bergmann (via logerrit)
 bridges/source/cpp_uno/msvc_win32_arm64/cpp2uno.cxx |1 +
 1 file changed, 1 insertion(+)

New commits:
commit 6808f5547e1ecd73f55ecbcd964d15b2c1a8e502
Author: Stephan Bergmann 
AuthorDate: Tue Sep 3 11:19:53 2024 +0200
Commit: Balazs Varga 
CommitDate: Wed Oct 2 19:50:33 2024 +0200

tdf#160945: queryInterface must pass back indirect return value address in 
x0

Change-Id: I28dacffbbcdf26ee453fd32aeb82166484612846
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/172791
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann 
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/174260
Tested-by: Balazs Varga 
Reviewed-by: Balazs Varga 

diff --git a/bridges/source/cpp_uno/msvc_win32_arm64/cpp2uno.cxx 
b/bridges/source/cpp_uno/msvc_win32_arm64/cpp2uno.cxx
index 9a79ce543940..f864e193c729 100644
--- a/bridges/source/cpp_uno/msvc_win32_arm64/cpp2uno.cxx
+++ b/bridges/source/cpp_uno/msvc_win32_arm64/cpp2uno.cxx
@@ -278,6 +278,7 @@ extern "C" void vtableCall(sal_Int32 functionIndex, 
sal_Int32 vtableOffset, sal_
   
reinterpret_cast(uno::cpp_acquire));
 ifc->release();
 TYPELIB_DANGER_RELEASE(td);
+gpr[0] = reinterpret_cast(indirectRet);
 break;
 }
 TYPELIB_DANGER_RELEASE(td);


core.git: Branch 'distro/allotropia/zeta-24-2' - basic/qa sc/qa sd/qa sw/qa vcl/qa writerfilter/qa

2024-10-02 Thread Balazs Varga (via logerrit)
 basic/qa/cppunit/test_vba.cxx  |6 +-
 sc/qa/unit/filters-test.cxx|5 -
 sd/qa/unit/filters-test.cxx|5 -
 sw/qa/core/filters-test.cxx|   12 
 sw/qa/core/header_footer/HeaderFooterTest.cxx  |4 
 sw/qa/extras/layout/layout3.cxx|5 -
 vcl/qa/cppunit/graphicfilter/filters-test.cxx  |6 --
 writerfilter/qa/cppunittests/filters-test/filters-test.cxx |4 
 8 files changed, 37 insertions(+), 10 deletions(-)

New commits:
commit 4c9d06cf692750049a41209a276ff83c6c9cf759
Author: Balazs Varga 
AuthorDate: Tue Sep 10 11:58:04 2024 +0200
Commit: Balazs Varga 
CommitDate: Wed Oct 2 19:51:03 2024 +0200

Temporarily skip unit tests on native arm64 build

which indicating unit test fails.

Cherry-picked from commit: b6775ce2b397276237dfb9eecd54b9682aca79b1
(Temporarily skip unit tests on native arm64 build)

Change-Id: I2689b0dda888e15e52ca60cc18e1705a1aefe968
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/173143
Reviewed-by: Stephan Bergmann 
Reviewed-by: Balazs Varga 
Tested-by: Jenkins
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/174400
Tested-by: Balazs Varga 

diff --git a/basic/qa/cppunit/test_vba.cxx b/basic/qa/cppunit/test_vba.cxx
index 8a15ba7234e8..9535899bf3e7 100644
--- a/basic/qa/cppunit/test_vba.cxx
+++ b/basic/qa/cppunit/test_vba.cxx
@@ -185,7 +185,11 @@ void VBATest::testMiscOLEStuff()
 // Since some time, on a properly updated Windows 10, this works
 // only with a 64-bit LibreOffice
 
-#if defined(_WIN64)
+#if defined _WIN32 && defined _ARM64_
+// skip for windows arm64 build
+// Avoid "this method is empty and should be removed" warning
+(void) 42;
+#elif defined(_WIN64)
 // test if we have the necessary runtime environment
 // to run the OLE tests.
 uno::Reference< lang::XMultiServiceFactory > xOLEFactory;
diff --git a/sc/qa/unit/filters-test.cxx b/sc/qa/unit/filters-test.cxx
index 671f9760d197..e51ef45a1885 100644
--- a/sc/qa/unit/filters-test.cxx
+++ b/sc/qa/unit/filters-test.cxx
@@ -93,9 +93,12 @@ void ScFiltersTest::testCVEs()
 //not indicate that it imported as .slk.
 testDir("SYLK",
 m_directories.getURLFromSrc(u"/sc/qa/unit/data/slk/"));
-
+#if defined _WIN32 && defined _ARM64_
+// skip for windows arm64 build
+#else
 testDir("MS Excel 97",
 m_directories.getURLFromSrc(u"/sc/qa/unit/data/xls/"));
+#endif
 
 testDir("Calc Office Open XML",
 m_directories.getURLFromSrc(u"/sc/qa/unit/data/xlsx/"), OUString(), 
XLSX_FORMAT_TYPE);
diff --git a/sd/qa/unit/filters-test.cxx b/sd/qa/unit/filters-test.cxx
index 1ed0f7991487..d30af71c3be9 100644
--- a/sd/qa/unit/filters-test.cxx
+++ b/sd/qa/unit/filters-test.cxx
@@ -68,6 +68,9 @@ bool SdFiltersTest::load(const OUString &rFilter, const 
OUString &rURL,
 void SdFiltersTest::testCVEs()
 {
 #ifndef DISABLE_CVE_TESTS
+#if defined _WIN32 && defined _ARM64_
+// skip for windows arm64 build
+#else
 testDir("MS PowerPoint 97",
 m_directories.getURLFromSrc(u"/sd/qa/unit/data/ppt/"),
 "sd");
@@ -75,7 +78,7 @@ void SdFiltersTest::testCVEs()
 testDir("Impress Office Open XML",
 m_directories.getURLFromSrc(u"/sd/qa/unit/data/pptx/"),
 "",  (SfxFilterFlags::IMPORT | SfxFilterFlags::ALIEN | 
SfxFilterFlags::STARONEFILTER));
-
+#endif
 testDir("impress8",
 m_directories.getURLFromSrc(u"/sd/qa/unit/data/odp/"),
 "sd");
diff --git a/sw/qa/core/filters-test.cxx b/sw/qa/core/filters-test.cxx
index ffc24cbda4b8..e6b0bfbf8c1e 100644
--- a/sw/qa/core/filters-test.cxx
+++ b/sw/qa/core/filters-test.cxx
@@ -143,11 +143,13 @@ void SwFiltersTest::testCVEs()
 FILTER_XML,
 SfxFilterFlags::IMPORT | SfxFilterFlags::OWN | 
SfxFilterFlags::DEFAULT,
 isstorage, SOFFICE_FILEFORMAT_CURRENT);
-
+#if defined _WIN32 && defined _ARM64_
+// skip for windows arm64 build
+#else
 testDir("MS Word 97",
 m_directories.getURLFromSrc(u"/sw/qa/core/data/ww8/"),
 FILTER_WW8);
-
+#endif
 testDir("MS WinWord 6.0",
 m_directories.getURLFromSrc(u"/sw/qa/core/data/ww6/"),
 sWW6);
@@ -164,12 +166,14 @@ void SwFiltersTest::testCVEs()
 m_directories.getURLFromSrc(u"/sw/qa/core/data/ooxml/"),
 OUString(),
 SfxFilterFlags::STARONEFILTER);
-
+#if defined _WIN32 && defined _ARM64_
+// skip for windows arm64 build
+#else
 testDir("Rich Text Format",
 m_directories.getURLFromSrc(u"/sw/qa/core/data/rtf/"),
 OUString(),
 SfxFilterFlags::STARONEFILTER);
-
+#endif
 testDir("HTML",
 m_directories.getURLFromSrc(u"/sw/qa/core/data/html/"),
 sHTML);
diff --git a/sw/

core.git: Branch 'distro/cib/libreoffice-6-4' - sw/source

2024-10-02 Thread Michael Stahl (via logerrit)
 sw/source/core/layout/paintfrm.cxx |4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

New commits:
commit 5335d8092880c7d83cc48b542f5021a05696b51e
Author: Michael Stahl 
AuthorDate: Wed Oct 2 18:51:44 2024 +0200
Commit: Michael Stahl 
CommitDate: Wed Oct 2 21:32:02 2024 +0200

tdf#163032 sw: fix painting of row frame with rowspan > 1 cell

Super non intuitive representation of a rowspan > 1 cell split across
pages is that the follow frame will be in a row that's 0 height, but its
own height extends to the bottom of the following merged rows.

(regression from commit 13495926390ba54fbcd45ec00fbe613b1f2b734b)

Change-Id: I0e32477613ceb5b6dbcc590bf70e0b5fc62a5d0a
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/174399
Tested-by: Jenkins
Reviewed-by: Michael Stahl 
(cherry picked from commit d5fcc8ea25e416a4d2bea5e0f92c0e403997d845)

diff --git a/sw/source/core/layout/paintfrm.cxx 
b/sw/source/core/layout/paintfrm.cxx
index ff0fb7db6e79..93d2f3a1eaa9 100644
--- a/sw/source/core/layout/paintfrm.cxx
+++ b/sw/source/core/layout/paintfrm.cxx
@@ -3329,8 +3329,8 @@ SwShortCut::SwShortCut( const SwFrame& rFrame, const 
SwRect& rRect )
 
 void SwLayoutFrame::PaintSwFrame(vcl::RenderContext& rRenderContext, SwRect 
const& rRect, SwPrintData const*const) const
 {
-if (!getFramePrintArea().HasArea())
-{
+if (!getFramePrintArea().HasArea() && !IsRowFrame())
+{   // tdf#163032 row frame may contain rowspan>1 cell that must be painted
 return; // do not paint hidden frame
 }
 


core.git: vcl/inc vcl/Library_vclplug_qt5.mk vcl/Library_vclplug_qt6.mk vcl/qt5 vcl/qt6

2024-10-02 Thread Michael Weghorn (via logerrit)
 vcl/Library_vclplug_qt5.mk|1 
 vcl/Library_vclplug_qt6.mk|1 
 vcl/inc/qt5/QtInstanceBuilder.hxx |2 
 vcl/inc/qt5/QtInstanceCheckButton.hxx |   36 +
 vcl/inc/qt6/QtInstanceCheckButton.hxx |   12 +
 vcl/qt5/QtBuilder.cxx |   15 +++
 vcl/qt5/QtInstanceBuilder.cxx |9 ++--
 vcl/qt5/QtInstanceCheckButton.cxx |   72 ++
 vcl/qt6/QtInstanceCheckButton.cxx |   12 +
 9 files changed, 156 insertions(+), 4 deletions(-)

New commits:
commit cc7f535f1615f65ce276eb9e9d27b8a6b11aaa3a
Author: Michael Weghorn 
AuthorDate: Wed Oct 2 17:36:21 2024 +0200
Commit: Michael Weghorn 
CommitDate: Wed Oct 2 22:11:19 2024 +0200

tdf#130857 qt weld: Add QtInstanceCheckButton

Add a QtInstanceCheckButton as the native Qt
implementation for a weld::CheckButton.
This uses a QCheckBox.

Handle the "GtkCheckButton" object type from .ui
files in QtBuilder.

This will e.g. be needed for the "Insert" -> "Axes..."
dialog seen in Calc after a chart has been inserted
and double-clicked -- once further
remaining aspects needed to be able to support that dialog
has been implemented and it will be enabled
in QtInstanceBuilder::IsUIFileSupported.

The handling for the "inconsistent" state
is mostly based on the the VCL implementation,
see SalInstanceCheckButton::set_inconsistent etc.

QtInstanceCheckButton::QtInstanceCheckButton::set_label_wrap
remains unimplemented for now and triggers an assert,
can be implemented when adding support for a dialog
that actually makes use of it.

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

diff --git a/vcl/Library_vclplug_qt5.mk b/vcl/Library_vclplug_qt5.mk
index f7c388a27ad6..b17b5d336462 100644
--- a/vcl/Library_vclplug_qt5.mk
+++ b/vcl/Library_vclplug_qt5.mk
@@ -97,6 +97,7 @@ $(eval $(call gb_Library_add_exception_objects,vclplug_qt5,\
 vcl/qt5/QtInstance_Print \
 vcl/qt5/QtInstanceBuilder \
 vcl/qt5/QtInstanceButton \
+vcl/qt5/QtInstanceCheckButton \
 vcl/qt5/QtInstanceContainer \
 vcl/qt5/QtInstanceDialog \
 vcl/qt5/QtInstanceMessageDialog \
diff --git a/vcl/Library_vclplug_qt6.mk b/vcl/Library_vclplug_qt6.mk
index 174e798d0c05..684c7d409e1f 100644
--- a/vcl/Library_vclplug_qt6.mk
+++ b/vcl/Library_vclplug_qt6.mk
@@ -96,6 +96,7 @@ $(eval $(call gb_Library_add_exception_objects,vclplug_qt6,\
 vcl/qt6/QtInstance_Print \
 vcl/qt6/QtInstanceBuilder \
 vcl/qt6/QtInstanceButton \
+vcl/qt6/QtInstanceCheckButton \
 vcl/qt6/QtInstanceContainer \
 vcl/qt6/QtInstanceDialog \
 vcl/qt6/QtInstanceLabel \
diff --git a/vcl/inc/qt5/QtInstanceBuilder.hxx 
b/vcl/inc/qt5/QtInstanceBuilder.hxx
index d98c85c1dee4..ff5d9e83fc68 100644
--- a/vcl/inc/qt5/QtInstanceBuilder.hxx
+++ b/vcl/inc/qt5/QtInstanceBuilder.hxx
@@ -48,7 +48,7 @@ public:
 virtual std::unique_ptr weld_link_button(const 
OUString&) override;
 virtual std::unique_ptr weld_toggle_button(const 
OUString&) override;
 virtual std::unique_ptr weld_radio_button(const 
OUString&) override;
-virtual std::unique_ptr weld_check_button(const 
OUString&) override;
+virtual std::unique_ptr weld_check_button(const 
OUString& rId) override;
 virtual std::unique_ptr weld_scale(const OUString&) override;
 virtual std::unique_ptr weld_progress_bar(const 
OUString&) override;
 virtual std::unique_ptr weld_level_bar(const OUString&) 
override;
diff --git a/vcl/inc/qt5/QtInstanceCheckButton.hxx 
b/vcl/inc/qt5/QtInstanceCheckButton.hxx
new file mode 100644
index ..f6dbe2ee662a
--- /dev/null
+++ b/vcl/inc/qt5/QtInstanceCheckButton.hxx
@@ -0,0 +1,36 @@
+/* -*- 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/.
+ */
+
+#pragma once
+
+#include "QtInstanceWidget.hxx"
+
+#include 
+#include 
+
+class QtInstanceCheckButton : public QtInstanceWidget, public virtual 
weld::CheckButton
+{
+QCheckBox* m_pCheckBox;
+
+public:
+QtInstanceCheckButton(QCheckBox* pCheckBox);
+
+// weld::Toggleable methods
+virtual void set_active(bool bActive) override;
+virtual bool get_active() const override;
+virtual void set_inconsistent(bool bInconsistent) override;
+virtual bool get_inconsistent() const override;
+
+// weld::CheckButton methods
+virtual void set_label(const OUString& rText) override;
+virtual OUString get_label() const override;
+virtual void set_label_wrap(bool bWrap) override;
+};
+
+/* vim:set shiftwidth

core.git: 2 commits - chart2/uiconfig vcl/qt5

2024-10-02 Thread Michael Weghorn (via logerrit)
 chart2/uiconfig/ui/insertaxisdlg.ui |  117 +---
 vcl/qt5/QtBuilder.cxx   |6 +
 2 files changed, 63 insertions(+), 60 deletions(-)

New commits:
commit 9dd1c9f9df5b0a60ee9fbe8d7db79561ac3eca0c
Author: Michael Weghorn 
AuthorDate: Wed Oct 2 17:10:22 2024 +0200
Commit: Michael Weghorn 
CommitDate: Wed Oct 2 22:11:10 2024 +0200

tdf#130857 qt weld: Add new layout to parent layout

Similar to the way it's already done for widgets
a few lines above, also add a newly created layout
to the parent layout (if the parent is a layout).

This makes the case where a QLayout is inside a
QLayout (e.g. a "GtkBox" inside a "GtkBox" in the
.ui file) work, where previously, the inner layout
wouldn't be added to the hierarchy, and thus
not be displayed in the dialog.

Quoting from the QLayout::addItem doc [1]:

> This function is not usually called in application code. To add a widget
> to a layout, use the addWidget() function; to add a child layout, use
> the addLayout() function provided by the relevant QLayout subclass.

Therefore, cast to QBoxLayout, the only QLayout
type used so far and call QBoxLayout::addLayout
to add the child layout.
(This might have to be extended when using e.g.
QGridLayout in the future as well.)

This will e.g. be needed for the "Tools" -> "Word count"
dialog in Writer or the "Insert" -> "Axes..." dialog
seen in Calc when a chart is selected -- once further
remaining aspects needed to be able to support those
have been implemented and they'll be enabled
in QtInstanceBuilder::IsUIFileSupported.

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

diff --git a/vcl/qt5/QtBuilder.cxx b/vcl/qt5/QtBuilder.cxx
index 4845d70209bf..6fde9cb7575e 100644
--- a/vcl/qt5/QtBuilder.cxx
+++ b/vcl/qt5/QtBuilder.cxx
@@ -160,6 +160,12 @@ QObject* QtBuilder::makeObject(QObject* pParent, 
std::u16string_view sName, cons
 pWidget->setAccessibleIdentifier(toQString(sID));
 #endif
 }
+else if (QLayout* pLayout = qobject_cast(pObject))
+{
+// add layout to parent layout
+if (QBoxLayout* pParentBoxLayout = 
qobject_cast(pParentLayout))
+pParentBoxLayout->addLayout(pLayout);
+}
 
 m_aChildren.emplace_back(sID, pObject);
 
commit 938b9988626a1a9ed233b1a1a118c7af48d56942
Author: Michael Weghorn 
AuthorDate: Wed Oct 2 16:29:14 2024 +0200
Commit: Michael Weghorn 
CommitDate: Wed Oct 2 22:11:01 2024 +0200

chart2: Resave insertaxisdlg.ui with glade 3.40

This dialog can be seen by inserting a chart using
"Insert" -> "Chart" in Calc, then double-clicking on
the newly inserted chart, then opening the dialog
using "Insert" -> "Axes...".

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

diff --git a/chart2/uiconfig/ui/insertaxisdlg.ui 
b/chart2/uiconfig/ui/insertaxisdlg.ui
index 2853bc594ed4..5c714e56efd7 100644
--- a/chart2/uiconfig/ui/insertaxisdlg.ui
+++ b/chart2/uiconfig/ui/insertaxisdlg.ui
@@ -1,32 +1,32 @@
 
-
+
 
   
   
-False
-6
+False
+6
 Axes
 True
-0
-0
-dialog
+0
+0
+dialog
 
   
-False
+False
 vertical
 12
 
   
-False
-end
+False
+end
 
   
 _OK
 True
-True
-True
-True
-True
+True
+True
+True
+True
 True
   
   
@@ -39,8 +39,8 @@
   
 _Cancel
 True
-True
-True
+True
+True
 True
   
   
@@ -53,8 +53,8 @@
   
 _Help
 True
-True
-True
+True
+True
 6
 True
   
@@ -69,14 +69,14 @@
   
 False
 True
-end
+end
 0
   
 
 
   
 True
-False
+False
 True
 True
 12
@@ -84,27 +84,27 @@
 
   
 True
-False
+False
 True
-0
-none
+0
+none
 
   
 True
-False
+  

core.git: 3 commits - unoxml/qa

2024-10-02 Thread Xisco Fauli (via logerrit)
 unoxml/qa/complex/unoxml/DOMTest.java |  263 ---
 unoxml/qa/unit/domtest.cxx|  280 ++
 2 files changed, 280 insertions(+), 263 deletions(-)

New commits:
commit 25ad0ee3c83925c39160d7d567e35d636c916809
Author: Xisco Fauli 
AuthorDate: Wed Oct 2 17:35:13 2024 +0200
Commit: Xisco Fauli 
CommitDate: Wed Oct 2 22:35:08 2024 +0200

unoxml: port testXXPathAPI from java to c++

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

diff --git a/unoxml/qa/complex/unoxml/DOMTest.java 
b/unoxml/qa/complex/unoxml/DOMTest.java
index 06511faa0035..f61e448ba491 100644
--- a/unoxml/qa/complex/unoxml/DOMTest.java
+++ b/unoxml/qa/complex/unoxml/DOMTest.java
@@ -2378,158 +2378,6 @@ public class DOMTest
 assertSame("AttributesMap.getLength()", 2, xAttributes.getLength());
 }
 
-/*
-@Test public void testXNamedNodeMap_EntitiesMap() throws Exception
-{
-XNamedNodeMap xEntities = FIXME
-}
-*/
-
-/*
-@Test public void testXNamedNodeMap_NotationsMap() throws Exception
-{
-XNamedNodeMap xNotations = FIXME
-}
-*/
-
-@Test public void testXXPathAPI() throws Exception
-{
-XXPathAPI xXPathAPI =
-UnoRuntime.queryInterface(XXPathAPI.class,
-m_xMSF.createInstance("com.sun.star.xml.xpath.XPathAPI"));
-XDocumentBuilder xBuilder =
-UnoRuntime.queryInterface(XDocumentBuilder.class,
-m_xMSF.createInstance("com.sun.star.xml.dom.DocumentBuilder"));
-
-String ns = "http://example.com/";;
-
-XDocument xDoc = xBuilder.newDocument();
-
-XElement xRoot = xDoc.createElement("root");
-
-XElement xFoo1 = xDoc.createElement("foo");
-XElement xFoo2 = xDoc.createElement("foo");
-XElement xFooNs = xDoc.createElementNS(ns, "ns:foo");
-XElement xBar = xDoc.createElement("bar");
-
-xDoc.appendChild(xRoot);
-xRoot.appendChild(xFoo1);
-xFoo1.appendChild(xBar);
-xBar.appendChild(xFoo2);
-xRoot.appendChild(xFooNs);
-
-try {
-xXPathAPI.eval(xRoot, "~/-$+&#_");
-fail("XXPathAPI.eval");
-} catch (XPathException e) { /* expected */ }
-try {
-xXPathAPI.evalNS(xRoot, "~/-$+&#_", xRoot);
-fail("XXPathAPI.evalNS");
-} catch (XPathException e) { /* expected */ }
-try {
-xXPathAPI.selectNodeList(xRoot, "~/-$+&#_");
-fail("XXPathAPI.selectNodeList");
-} catch (XPathException e) { /* expected */ }
-try {
-xXPathAPI.selectNodeListNS(xRoot, "~/-$+&#_", xRoot);
-fail("XXPathAPI.selectNodeListNS");
-} catch (XPathException e) { /* expected */ }
-try {
-xXPathAPI.selectSingleNode(xRoot, "~/-$+&#_");
-fail("XXPathAPI.selectSingleNode");
-} catch (XPathException e) { /* expected */ }
-try {
-xXPathAPI.selectSingleNodeNS(xRoot, "~/-$+&#_", xRoot);
-fail("XXPathAPI.selectSingleNodeNS");
-} catch (XPathException e) { /* expected */ }
-try {
-xXPathAPI.eval(null, "child::foo");
-fail("XXPathAPI.eval(null)");
-} catch (Exception e) { /* expected */ }
-try {
-xXPathAPI.evalNS(null, "child::foo", xRoot);
-fail("XXPathAPI.evalNS(null)");
-} catch (Exception e) { /* expected */ }
-try {
-xXPathAPI.selectNodeList(null, "child::foo");
-fail("XXPathAPI.selectNodeList(null)");
-} catch (Exception e) { /* expected */ }
-try {
-xXPathAPI.selectNodeListNS(null, "child::foo", xRoot);
-fail("XXPathAPI.selectNodeListNS(null)");
-} catch (Exception e) { /* expected */ }
-try {
-xXPathAPI.selectSingleNode(null, "child::foo");
-fail("XXPathAPI.selectSingleNode(null)");
-} catch (Exception e) { /* expected */ }
-try {
-xXPathAPI.selectSingleNodeNS(null, "child::foo", xRoot);
-fail("XXPathAPI.selectSingleNodeNS(null)");
-} catch (Exception e) { /* expected */ }
-
-{
-XXPathObject xResult = xXPathAPI.eval(xRoot, "count(child::foo)");
-assertNotNull("XXPathAPI.eval", xResult);
-assertEquals("XXPathAPI.eval",
-XPATH_NUMBER, xResult.getObjectType());
-assertEquals("XXPathAPI.eval", 1, xResult.getLong());
-}
-{
-XXPathObject xResult =
-xXPathAPI.evalNS(xRoot, "count(//ns:foo)", xFooNs);
-assertNotNull("XXPathAPI.evalNS", xResult);
-assertEquals("XXPathAPI.evalNS",
-XPATH_NUMBER, xResult.getObjectType());
-assertEquals("XXPathAPI.e

core.git: Branch 'distro/collabora/dcm-7.5' - sw/qa sw/source

2024-10-02 Thread Mike Kaganski (via logerrit)
 sw/qa/extras/layout/data/tdf163230.fodt |  108 
 sw/qa/extras/layout/layout2.cxx |9 ++
 sw/source/core/layout/tabfrm.cxx|   48 --
 3 files changed, 159 insertions(+), 6 deletions(-)

New commits:
commit f518b009966adc40112ceb1b695022fb822e5ecc
Author: Mike Kaganski 
AuthorDate: Tue Oct 1 13:47:20 2024 +0500
Commit: Mike Kaganski 
CommitDate: Wed Oct 2 12:52:33 2024 +0500

tdf#163230: make loop control hack more specific

Commit 0c49aa58cfbb81073e34b1d47861a5a1fdd44114 (tdf#161508: add
another loop control hack, 2024-06-11) only checked the frame area
sizes and positions, but ignores the "valid" frags. It turns out,
that these flags also needed when checking the loop condition.

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

diff --git a/sw/qa/extras/layout/data/tdf163230.fodt 
b/sw/qa/extras/layout/data/tdf163230.fodt
new file mode 100644
index ..5f100026d440
--- /dev/null
+++ b/sw/qa/extras/layout/data/tdf163230.fodt
@@ -0,0 +1,108 @@
+
+
+
+ 
+  
+ 
+ 
+  
+   
+   
+  
+  
+   
+  
+  
+   
+  
+  
+   
+  
+  
+   
+  
+ 
+ 
+  
+   
+  
+  
+   
+  
+  
+   
+  
+  
+   
+  
+  
+   
+  
+  
+   
+   
+
+   
+   
+
+   
+  
+ 
+ 
+  
+   
+
+   
+   
+
+   
+  
+ 
+ 
+  
+   
+
+
+ 
+  1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 
1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 
1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 
1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st:
+  
+   
+aaa
+   
+   
+bbb
+   
+   
+
+   
+   
+ddd
+   
+  
+  1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 
1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 
1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 
1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 
1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st.
+  
+  1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 
1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 
1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 
1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 
1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 
1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st
+  
+  1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 
1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 
1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 
1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 
1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 
1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st.
+  
+  1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 
1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 
1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 
1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 
1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 
1_st 1_st s:
+  
+  
+  1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 
1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 
1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 
1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 
1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st
+  1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 
1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 
1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 
1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 
1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st
+  
+  1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 
1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 
1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 
1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 
1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st
+  1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 
1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 
1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 
1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1_st 1

core.git: 3 commits - ucbhelper/source ucb/source

2024-10-02 Thread Noel Grandin (via logerrit)
 ucb/source/ucp/tdoc/tdoc_stgelems.hxx |9 ++---
 ucbhelper/source/client/content.cxx   |9 +++--
 ucbhelper/source/provider/resultsethelper.cxx |   12 
 3 files changed, 17 insertions(+), 13 deletions(-)

New commits:
commit e376719201d8300cff467eb8098aa932723413b4
Author: Noel Grandin 
AuthorDate: Tue Oct 1 19:25:34 2024 +0200
Commit: Noel Grandin 
CommitDate: Wed Oct 2 09:38:07 2024 +0200

cid#1557069 Data race condition

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

diff --git a/ucb/source/ucp/tdoc/tdoc_stgelems.hxx 
b/ucb/source/ucp/tdoc/tdoc_stgelems.hxx
index 40dd7f723705..6562ab7ffa47 100644
--- a/ucb/source/ucp/tdoc/tdoc_stgelems.hxx
+++ b/ucb/source/ucp/tdoc/tdoc_stgelems.hxx
@@ -48,9 +48,12 @@ public:
 
 bool isParentARootStorage() const
 { return m_bParentIsRootStorage; }
-const css::uno::Reference< css::embed::XStorage >&
+css::uno::Reference< css::embed::XStorage >
 getParentStorage() const
-{ return m_xParentStorage; }
+{
+std::scoped_lock aGuard( m_aMutex );
+return m_xParentStorage;
+}
 void clearParentStorage()
 {
 std::scoped_lock aGuard( m_aMutex );
@@ -58,7 +61,7 @@ public:
 }
 
 private:
-std::mutex m_aMutex;
+mutable std::mutex m_aMutex;
 css::uno::Reference< css::embed::XStorage > m_xParentStorage;
 bool  m_bParentIsRootStorage;
 };
commit 3b60abdc948f3101d2107bd515f4ca31b041bd04
Author: Noel Grandin 
AuthorDate: Tue Oct 1 19:23:34 2024 +0200
Commit: Noel Grandin 
CommitDate: Wed Oct 2 09:38:00 2024 +0200

cid#1608390 Data race condition

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

diff --git a/ucbhelper/source/client/content.cxx 
b/ucbhelper/source/client/content.cxx
index 68db5fce9817..b3f2fe2e1ff4 100644
--- a/ucbhelper/source/client/content.cxx
+++ b/ucbhelper/source/client/content.cxx
@@ -1241,13 +1241,10 @@ const Reference< XContent > & 
Content_Impl::getContent_NoLock()
 
 Reference< XCommandProcessor > Content_Impl::getCommandProcessor()
 {
-if ( !m_xCommandProcessor.is() )
-{
-std::unique_lock aGuard( m_aMutex );
+std::unique_lock aGuard( m_aMutex );
 
-if ( !m_xCommandProcessor.is() )
-m_xCommandProcessor.set( getContent_NoLock(), UNO_QUERY );
-}
+if ( !m_xCommandProcessor.is() )
+m_xCommandProcessor.set( getContent_NoLock(), UNO_QUERY );
 
 return m_xCommandProcessor;
 }
commit 9ea9c6f0fc5e08167906b22817ad03c3fd072e62
Author: Noel Grandin 
AuthorDate: Tue Oct 1 19:19:23 2024 +0200
Commit: Noel Grandin 
CommitDate: Wed Oct 2 09:37:52 2024 +0200

cid#1606901 Data race condition

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

diff --git a/ucbhelper/source/provider/resultsethelper.cxx 
b/ucbhelper/source/provider/resultsethelper.cxx
index f4e1154f0bce..80a9caeed97a 100644
--- a/ucbhelper/source/provider/resultsethelper.cxx
+++ b/ucbhelper/source/provider/resultsethelper.cxx
@@ -185,11 +185,15 @@ sal_Int16 SAL_CALL ResultSetImplHelper::getCapabilities()
 void SAL_CALL ResultSetImplHelper::connectToCache(
 const uno::Reference< css::ucb::XDynamicResultSet > & xCache )
 {
-if ( m_xListener.is() )
-throw css::ucb::ListenerAlreadySetException();
+{
+std::unique_lock aGuard( m_aMutex );
 
-if ( m_bStatic )
-throw css::ucb::ListenerAlreadySetException();
+if ( m_xListener.is() )
+throw css::ucb::ListenerAlreadySetException();
+
+if ( m_bStatic )
+throw css::ucb::ListenerAlreadySetException();
+}
 
 uno::Reference< css::ucb::XSourceInitialization > xTarget( xCache, 
uno::UNO_QUERY );
 if ( xTarget.is() )


core.git: 2 commits - ucb/source

2024-10-02 Thread Noel Grandin (via logerrit)
 ucb/source/ucp/file/prov.cxx |9 +
 ucb/source/ucp/file/prov.hxx |2 +-
 ucb/source/ucp/hierarchy/hierarchydatasource.cxx |   19 ---
 3 files changed, 14 insertions(+), 16 deletions(-)

New commits:
commit 30f437f4fc21ec83a597432a15e0ab570252a93d
Author: Noel Grandin 
AuthorDate: Tue Oct 1 19:30:00 2024 +0200
Commit: Noel Grandin 
CommitDate: Wed Oct 2 09:38:24 2024 +0200

cid#1556822 Data race condition

and
cid#1555688 Data race condition
cid#1554983 Data race condition

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

diff --git a/ucb/source/ucp/file/prov.cxx b/ucb/source/ucp/file/prov.cxx
index 77e7772db7e2..40484c5d9a3c 100644
--- a/ucb/source/ucp/file/prov.cxx
+++ b/ucb/source/ucp/file/prov.cxx
@@ -300,9 +300,8 @@ XPropertySetInfoImpl2::hasPropertyByName(
 }
 
 
-void FileProvider::initProperties()
+void FileProvider::initProperties(std::unique_lock& /*rGuard*/)
 {
-std::scoped_lock aGuard( m_aMutex );
 if(  m_xPropertySetInfo.is() )
 return;
 
@@ -332,7 +331,8 @@ void FileProvider::initProperties()
 Reference< XPropertySetInfo > SAL_CALL
 FileProvider::getPropertySetInfo(  )
 {
-initProperties();
+std::unique_lock aGuard( m_aMutex );
+initProperties(aGuard);
 return m_xPropertySetInfo;
 }
 
@@ -352,7 +352,8 @@ Any SAL_CALL
 FileProvider::getPropertyValue(
 const OUString& aPropertyName )
 {
-initProperties();
+std::unique_lock aGuard( m_aMutex );
+initProperties(aGuard);
 if( aPropertyName == "FileSystemNotation" )
 {
 return Any(m_FileSystemNotation);
diff --git a/ucb/source/ucp/file/prov.hxx b/ucb/source/ucp/file/prov.hxx
index 311c1be0e469..3d1f9d7f63a0 100644
--- a/ucb/source/ucp/file/prov.hxx
+++ b/ucb/source/ucp/file/prov.hxx
@@ -143,7 +143,7 @@ namespace fileaccess {
 // Members
 css::uno::Reference< css::uno::XComponentContext >  m_xContext;
 
-void initProperties();
+void initProperties(std::unique_lock& rGuard);
 std::mutex   m_aMutex;
 OUString m_HostName;
 OUString m_HomeDirectory;
commit 187728c38a654e1505d976524899d66fca37e993
Author: Noel Grandin 
AuthorDate: Tue Oct 1 19:26:40 2024 +0200
Commit: Noel Grandin 
CommitDate: Wed Oct 2 09:38:15 2024 +0200

cid#1607345 Data race condition

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

diff --git a/ucb/source/ucp/hierarchy/hierarchydatasource.cxx 
b/ucb/source/ucp/hierarchy/hierarchydatasource.cxx
index cb7b52fb119d..b30f6cd55a44 100644
--- a/ucb/source/ucp/hierarchy/hierarchydatasource.cxx
+++ b/ucb/source/ucp/hierarchy/hierarchydatasource.cxx
@@ -410,20 +410,17 @@ HierarchyDataSource::createInstanceWithArguments(
 uno::Reference< lang::XMultiServiceFactory >
 HierarchyDataSource::getConfigProvider()
 {
+std::unique_lock aGuard( m_aMutex );
 if ( !m_xConfigProvider.is() )
 {
-std::unique_lock aGuard( m_aMutex );
-if ( !m_xConfigProvider.is() )
+try
 {
-try
-{
-m_xConfigProvider = configuration::theDefaultProvider::get( 
m_xContext );
-}
-catch ( uno::Exception const & )
-{
-OSL_FAIL( "HierarchyDataSource::getConfigProvider - "
-   "caught exception!" );
-}
+m_xConfigProvider = configuration::theDefaultProvider::get( 
m_xContext );
+}
+catch ( uno::Exception const & )
+{
+OSL_FAIL( "HierarchyDataSource::getConfigProvider - "
+   "caught exception!" );
 }
 }
 


core.git: 2 commits - ucb/source

2024-10-02 Thread Noel Grandin (via logerrit)
 ucb/source/sorter/sortdynres.cxx |   11 +++
 ucb/source/sorter/sortresult.cxx |5 +
 2 files changed, 12 insertions(+), 4 deletions(-)

New commits:
commit 2857c0b9cd096a83c7d0de927116dac1fd7c0b09
Author: Noel Grandin 
AuthorDate: Tue Oct 1 20:11:56 2024 +0200
Commit: Noel Grandin 
CommitDate: Wed Oct 2 09:38:43 2024 +0200

cid#1607055 Data race condition

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

diff --git a/ucb/source/sorter/sortdynres.cxx b/ucb/source/sorter/sortdynres.cxx
index b4eefd920cf3..cacdc9f52617 100644
--- a/ucb/source/sorter/sortdynres.cxx
+++ b/ucb/source/sorter/sortdynres.cxx
@@ -168,11 +168,14 @@ SortedDynamicResultSet::setListener( const Reference< 
XDynamicResultSetListener
 void SAL_CALL
 SortedDynamicResultSet::connectToCache( const Reference< XDynamicResultSet > & 
xCache )
 {
-if( mxListener.is() )
-throw ListenerAlreadySetException();
+{
+std::unique_lock aGuard( maMutex );
+if( mxListener.is() )
+throw ListenerAlreadySetException();
 
-if( mbStatic )
-throw ListenerAlreadySetException();
+if( mbStatic )
+throw ListenerAlreadySetException();
+}
 
 Reference< XSourceInitialization > xTarget( xCache, UNO_QUERY );
 if( xTarget.is() && m_xContext.is() )
commit d1a9740735bcafe71325cb82bcebd82d219e2172
Author: Noel Grandin 
AuthorDate: Tue Oct 1 19:46:53 2024 +0200
Commit: Noel Grandin 
CommitDate: Wed Oct 2 09:38:35 2024 +0200

cid#1608281 Data race condition

and
cid#1608132 Data race condition
cid#1607743 Data race condition
cid#1607393 Data race condition
cid#1607038 Data race condition
cid#1606543 Data race condition

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

diff --git a/ucb/source/sorter/sortresult.cxx b/ucb/source/sorter/sortresult.cxx
index 27d0a504d970..fbcf846f0ac1 100644
--- a/ucb/source/sorter/sortresult.cxx
+++ b/ucb/source/sorter/sortresult.cxx
@@ -236,6 +236,7 @@ sal_Bool SAL_CALL SortedResultSet::next()
 
 sal_Bool SAL_CALL SortedResultSet::isBeforeFirst()
 {
+std::unique_lock aGuard( maMutex );
 if ( mnCurEntry )
 return false;
 else
@@ -245,6 +246,7 @@ sal_Bool SAL_CALL SortedResultSet::isBeforeFirst()
 
 sal_Bool SAL_CALL SortedResultSet::isAfterLast()
 {
+std::unique_lock aGuard( maMutex );
 if ( mnCurEntry > mnCount )
 return true;
 else
@@ -254,6 +256,7 @@ sal_Bool SAL_CALL SortedResultSet::isAfterLast()
 
 sal_Bool SAL_CALL SortedResultSet::isFirst()
 {
+std::unique_lock aGuard( maMutex );
 if ( mnCurEntry == 1 )
 return true;
 else
@@ -263,6 +266,7 @@ sal_Bool SAL_CALL SortedResultSet::isFirst()
 
 sal_Bool SAL_CALL SortedResultSet::isLast()
 {
+std::unique_lock aGuard( maMutex );
 if ( mnCurEntry == mnCount )
 return true;
 else
@@ -324,6 +328,7 @@ sal_Bool SAL_CALL SortedResultSet::last()
 
 sal_Int32 SAL_CALL SortedResultSet::getRow()
 {
+std::unique_lock aGuard( maMutex );
 return mnCurEntry;
 }
 


core.git: sfx2/source

2024-10-02 Thread Miklos Vajna (via logerrit)
 sfx2/source/doc/objserv.cxx |6 ++
 1 file changed, 6 insertions(+)

New commits:
commit 1c7f6188eb5b2a2bbf0cf589843d644306e40d6d
Author: Miklos Vajna 
AuthorDate: Wed Oct 2 08:42:26 2024 +0200
Commit: Miklos Vajna 
CommitDate: Wed Oct 2 09:49:04 2024 +0200

cool#9992 lok doc sign: avoid storing the sign cert in the model after sign

Open the signatures dialog in LOK mode, add a signature, close it, you
get a (non-async) popup asking if you want to automatically re-sign the
document on each save in the future.

This makes sense when only one user edits the document, but the LOK mode
stores the signing certificates in the view, so this would mean user A
can enable this mode, then user B could edit + save, which is not
wanted.

Fix the problem by just not offering this functionality in LOK mode,
where we assume that certificates are per-view and the save works on the
model.

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

diff --git a/sfx2/source/doc/objserv.cxx b/sfx2/source/doc/objserv.cxx
index a6ac42734c17..12c28f4e614d 100644
--- a/sfx2/source/doc/objserv.cxx
+++ b/sfx2/source/doc/objserv.cxx
@@ -538,6 +538,12 @@ void SetDocProperties(const 
uno::Reference& xDP,
 
 void SfxObjectShell::AfterSignContent(bool bHaveWeSigned, weld::Window* 
pDialogParent)
 {
+if (comphelper::LibreOfficeKit::isActive())
+{
+// LOK signing certificates are per-view, don't store them in the 
model.
+return;
+}
+
 if ( bHaveWeSigned && HasValidSignatures() )
 {
 std::unique_ptr 
xBox(Application::CreateMessageDialog( pDialogParent,


core.git: chart2/qa sc/qa sd/qa sw/qa xmloff/qa xmlsecurity/qa

2024-10-02 Thread Xisco Fauli (via logerrit)
 chart2/qa/extras/chart2geometry.cxx|5 -
 sc/qa/unit/subsequent_export_test.cxx  |   26 ++
 sc/qa/unit/subsequent_filters_test5.cxx|   28 --
 sd/qa/unit/export-tests.cxx|   19 +--
 sw/qa/extras/globalfilter/globalfilter.cxx |   25 ++---
 xmloff/qa/unit/draw.cxx|   12 +---
 xmloff/qa/unit/style.cxx   |   75 +
 xmlsecurity/qa/unit/signing/signing.cxx|   14 +
 xmlsecurity/qa/unit/signing/signing2.cxx   |   27 +-
 9 files changed, 54 insertions(+), 177 deletions(-)

New commits:
commit 4dc04a10692dc932658d9d079bbe97fcaf0b4742
Author: Xisco Fauli 
AuthorDate: Wed Oct 2 10:06:12 2024 +0200
Commit: Xisco Fauli 
CommitDate: Wed Oct 2 11:15:09 2024 +0200

qa: use SetODFDefaultVersion everywhere

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

diff --git a/chart2/qa/extras/chart2geometry.cxx 
b/chart2/qa/extras/chart2geometry.cxx
index f5d928379611..f5eb3b1f20ea 100644
--- a/chart2/qa/extras/chart2geometry.cxx
+++ b/chart2/qa/extras/chart2geometry.cxx
@@ -464,9 +464,10 @@ void Chart2GeometryTest::testTdf135366LabelExport()
 
 void Chart2GeometryTest::testTdf135366_CustomLabelText()
 {
+Resetter resetter([]() { 
SetODFDefaultVersion(SvtSaveOptions::ODFVER_LATEST); });
+
 // Error was, that custom text in a data label was only exported in ODF 
extended,
 // although the used  element exists since ODF 1.2.
-const SvtSaveOptions::ODFDefaultVersion 
nCurrentODFVersion(GetODFDefaultVersion());
 SetODFDefaultVersion(SvtSaveOptions::ODFVER_012);
 loadFromFile(u"pptx/tdf135366_CustomLabelText.pptx");
 save(u"impress8"_ustr);
@@ -482,8 +483,6 @@ void Chart2GeometryTest::testTdf135366_CustomLabelText()
 // Verify text content
 const OUString sOUTextContent = getXPathContent(pXmlDoc, sCustomTextPath);
 CPPUNIT_ASSERT_EQUAL(u"Custom"_ustr, sOUTextContent);
-
-SetODFDefaultVersion(nCurrentODFVersion);
 }
 
 CPPUNIT_TEST_SUITE_REGISTRATION(Chart2GeometryTest);
diff --git a/sc/qa/unit/subsequent_export_test.cxx 
b/sc/qa/unit/subsequent_export_test.cxx
index dde63a313271..7adb5e90bf34 100644
--- a/sc/qa/unit/subsequent_export_test.cxx
+++ b/sc/qa/unit/subsequent_export_test.cxx
@@ -7,7 +7,6 @@
  * file, You can obtain one at http://mozilla.org/MPL/2.0/.
  */
 
-#include 
 #include 
 
 #include "helper/debughelper.hxx"
@@ -39,6 +38,7 @@
 #include 
 #include 
 #include 
+#include 
 
 using namespace ::com::sun::star;
 using namespace ::com::sun::star::uno;
@@ -707,6 +707,8 @@ static auto verifySpreadsheet13(char const* const 
pTestName, ScDocument& rDoc) -
 
 CPPUNIT_TEST_FIXTURE(ScExportTest, testODF13)
 {
+Resetter resetter([]() { 
SetODFDefaultVersion(SvtSaveOptions::ODFVER_LATEST); });
+
 // import
 createScDoc("ods/spreadsheet13e.ods");
 ScDocument* pDoc = getScDoc();
@@ -714,19 +716,9 @@ CPPUNIT_TEST_FIXTURE(ScExportTest, testODF13)
 // check model
 verifySpreadsheet13("import", *pDoc);
 
-Resetter _([]() {
-std::shared_ptr pBatch(
-comphelper::ConfigurationChanges::create());
-officecfg::Office::Common::Save::ODF::DefaultVersion::set(3, pBatch);
-return pBatch->commit();
-});
-
 {
 // export ODF 1.3
-std::shared_ptr pBatch(
-comphelper::ConfigurationChanges::create());
-officecfg::Office::Common::Save::ODF::DefaultVersion::set(10, pBatch);
-pBatch->commit();
+SetODFDefaultVersion(SvtSaveOptions::ODFDefaultVersion::ODFVER_013);
 
 // FIXME: Error: unexpected attribute "loext:scale-to-X"
 skipValidation();
@@ -749,10 +741,7 @@ CPPUNIT_TEST_FIXTURE(ScExportTest, testODF13)
 }
 {
 // export ODF 1.2 Extended
-std::shared_ptr pBatch(
-comphelper::ConfigurationChanges::create());
-officecfg::Office::Common::Save::ODF::DefaultVersion::set(9, pBatch);
-pBatch->commit();
+
SetODFDefaultVersion(SvtSaveOptions::ODFDefaultVersion::ODFVER_012_EXTENDED);
 
 saveAndReload(u"calc8"_ustr);
 pDoc = getScDoc();
@@ -772,10 +761,7 @@ CPPUNIT_TEST_FIXTURE(ScExportTest, testODF13)
 }
 {
 // export ODF 1.2
-std::shared_ptr pBatch(
-comphelper::ConfigurationChanges::create());
-officecfg::Office::Common::Save::ODF::DefaultVersion::set(4, pBatch);
-pBatch->commit();
+SetODFDefaultVersion(SvtSaveOptions::ODFDefaultVersion::ODFVER_012);
 
 save(u"calc8"_ustr);
 
diff --git a/sc/qa/unit/subsequent_filters_test5.cxx 
b/sc/qa/unit/subsequent_filters_test5.cxx
index 9d96f8f97a4e..7ba3267083f0 100644
--- a/sc/qa/unit/subsequent_filters_test5.cxx
+++ b/sc/qa/unit/subsequent_filters_test5.cxx
@@ -10,7 +10,6 @@
 // core, please keep it alphabetically ordered
 #incl

core.git: vcl/source

2024-10-02 Thread Tibor Nagy (via logerrit)
 vcl/source/window/printdlg.cxx |   27 +--
 1 file changed, 17 insertions(+), 10 deletions(-)

New commits:
commit 4b8cec7e83e675eeafb8d722c5d6fb3181a051d1
Author: Tibor Nagy 
AuthorDate: Wed Oct 2 19:29:04 2024 +0200
Commit: Nagy Tibor 
CommitDate: Thu Oct 3 00:12:53 2024 +0200

tdf#163047 sc: fix more pages on a single sheet printing function

issue caused by commit I5e494a0714e398221bee00744d7e25c419a41df7
"tdf#155218 sc: fix different page orientation in print dialog".

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

diff --git a/vcl/source/window/printdlg.cxx b/vcl/source/window/printdlg.cxx
index 9e9e0f5edd92..1bad80864979 100644
--- a/vcl/source/window/printdlg.cxx
+++ b/vcl/source/window/printdlg.cxx
@@ -1038,20 +1038,26 @@ void PrintDialog::updatePageSize(int nOrientation)
 {
 VclPtr aPrt(maPController->getPrinter());
 
-PaperInfo aInfo = aPrt->GetPaperInfo(mxPaperSizeBox->get_active());
-Size aSize(aInfo.getWidth(), aInfo.getHeight());
-if (aSize.IsEmpty())
-aSize = aPrt->GetSizeOfPaper();
-
-if (nOrientation != ORIENTATION_AUTOMATIC)
+Size aSize;
+if (mxNupPagesBox->get_active_id() == "1")
 {
-if ((nOrientation == ORIENTATION_PORTRAIT && aSize.Width() > 
aSize.Height())
-|| (nOrientation == ORIENTATION_LANDSCAPE && aSize.Width() < 
aSize.Height()))
+PaperInfo aInfo = aPrt->GetPaperInfo(mxPaperSizeBox->get_active());
+aSize = Size(aInfo.getWidth(), aInfo.getHeight());
+if (aSize.IsEmpty())
+aSize = aPrt->GetSizeOfPaper();
+
+if (nOrientation != ORIENTATION_AUTOMATIC)
 {
-// coverity[swapped_arguments : FALSE] - this is in the intended 
order
-aSize = Size(aSize.Height(), aSize.Width());
+if ((nOrientation == ORIENTATION_PORTRAIT && aSize.Width() > 
aSize.Height())
+|| (nOrientation == ORIENTATION_LANDSCAPE && aSize.Width() < 
aSize.Height()))
+{
+// coverity[swapped_arguments : FALSE] - this is in the 
intended order
+aSize = Size(aSize.Height(), aSize.Width());
+}
 }
 }
+else
+aSize = getJobPageSize();
 
 aPrt->SetPrintPageSize(aSize);
 aPrt->SetUsePrintDialogSetting(true);
@@ -2044,6 +2050,7 @@ IMPL_LINK( PrintDialog, SelectHdl, weld::ComboBox&, rBox, 
void )
 {
 if( !mxPagesBtn->get_active() )
 mxPagesBtn->set_active(true);
+updatePageSize(mxOrientationBox->get_active());
 updateNupFromPages( false );
 }
 else if ( &rBox == mxPaperSizeBox.get() )


help.git: source/text

2024-10-02 Thread Olivier Hallot (via logerrit)
 source/text/swriter/01/04020100.xhp|  130 ++---
 source/text/swriter/01/legacynumbering.xhp |2 
 2 files changed, 66 insertions(+), 66 deletions(-)

New commits:
commit e377c9e115198486cb2b1c6f0348453653a906a5
Author: Olivier Hallot 
AuthorDate: Wed Oct 2 18:31:39 2024 -0300
Commit: Olivier Hallot 
CommitDate: Thu Oct 3 02:27:29 2024 +0200

tdf#162607 disambiguate hid2file.js, writer bookmarks

+ Removed misplaced bookmark
+ refactor

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

diff --git a/source/text/swriter/01/04020100.xhp 
b/source/text/swriter/01/04020100.xhp
index 89493021e4..073a13889f 100644
--- a/source/text/swriter/01/04020100.xhp
+++ b/source/text/swriter/01/04020100.xhp
@@ -20,7 +20,7 @@
 
 
 
-Section
+Section
 /text/swriter/01/04020100.xhp
 
 
@@ -29,81 +29,81 @@
 
 
 
-sections;inserting sections by 
DDE
+sections;inserting 
sections by DDE
 DDE; command for inserting sections
 
-
-
-
-
-Section
-Sets the properties of the section.
+
+
+
+
+Section
+Sets the 
properties of the section.
 
 
   
 
-
-
-New Section
-Type a name for the new section. By default, $[officename] 
automatically assigns the name "Section X" to new sections, where X is a 
consecutive number.
-Link
-
-
-Link
-Inserts the contents of another document or section from another 
document in the current section.
-
-
-DDEUFI: WIN only, while fixing 
#109638#
-Creates a DDE link. Select this check box, and then enter 
the DDE command that you want to use. The DDE option 
is only available if the Link check box is 
selected.
+
+
+New Section
+Type a name for 
the new section. By default, $[officename] automatically assigns the 
name "Section X" to new sections, where X is a consecutive number.
+Link
+
+
+Link
+Inserts the 
contents of another document or section from another document in the current 
section.
+
+
+DDEUFI: WIN only, while fixing 
#109638#
+Creates a 
DDE link. Select this check box, and then enter the DDE 
command that you want to use. The DDE option is only 
available if the Link check box is selected.
 
-The general 
syntax for a DDE command is: "  ", where 
server is the DDE name for the application that contains the data. Topic refers 
to the location of the Item (usually the file name), and Item represents the 
actual object.
+The general syntax for a DDE 
command is: "  ", where server is the 
DDE name for the application that contains the data. Topic refers to the 
location of the Item (usually the file name), and Item represents the actual 
object.
 
- For example, 
to insert a section named "Section1" from a $[officename] text document abc.odt 
as a DDE link, use the command: "soffice x:bc.odt Section1". To insert the 
contents of the first cell from a Microsoft Excel spreadsheet file called 
"abc.xls", use the command: "excel x:\[abc.xls]Sheet1 z1s1". You can also copy 
the elements that you want to insert as a DDE link, and then Edit - Paste 
Special. You can then view the DDE command for the link, by selecting 
the contents and choosing Edit - Fields.
-
-
-File name / DDE command
+ For example, to insert a 
section named "Section1" from a $[officename] text document abc.odt as a DDE 
link, use the command: "soffice x:bc.odt Section1". To insert the contents of 
the first cell from a Microsoft Excel spreadsheet file called "abc.xls", use 
the command: "excel x:\[abc.xls]Sheet1 z1s1". You can also copy the elements 
that you want to insert as a DDE link, and then Edit - Paste 
Special. You can then view the DDE command for the link, by selecting 
the contents and choosing Edit - Fields.
+
+
+File name / DDE command
 
-Enter the path and the filename for the file that you want to insert, 
or click the Browse button to locate the 
file. If the 
DDE check box is selected, enter the DDE command that you want to 
use.
+Enter the path 
and the filename for the file that you want to insert, or click the 
Browse button to locate the file. If the DDE check box is 
selected, enter the DDE command that you want to use.
 
-
-
-Browse
-Locate the file that you want to insert as a link, and then click 
Insert.
-
-
-Section
-Select the section in the file that you want to insert as a 
link.
-When you open 
a document that contains linked sections, you are prompted to update the 
links.
-Write Protection
-
-
-Protect
-Prevents the selected section from being edited.
-
-
-With password
-Protects the selected section with a password. The password must have a 
minimum of 5 characters.
-
-
-Password
-Opens a dialog where you can change the current 
password.
-Hide
-
-
-Hide
-Hides and prevents the selected section from being printed. The 
components of a hidden sections appear gray in the Navigator. When you rest 
your mouse pointer over a hidden component in the Navigator, the Help ti

core.git: helpcontent2

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

New commits:
commit 784a508bba5a15d454babe5ec698868ab3dc0e3c
Author: Olivier Hallot 
AuthorDate: Wed Oct 2 21:27:29 2024 -0300
Commit: Gerrit Code Review 
CommitDate: Thu Oct 3 02:27:29 2024 +0200

Update git submodules

* Update helpcontent2 from branch 'master'
  to e377c9e115198486cb2b1c6f0348453653a906a5
  - tdf#162607 disambiguate hid2file.js, writer bookmarks

+ Removed misplaced bookmark
+ refactor

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

diff --git a/helpcontent2 b/helpcontent2
index f232ea161814..e377c9e11519 16
--- a/helpcontent2
+++ b/helpcontent2
@@ -1 +1 @@
-Subproject commit f232ea1618140f45dc1643338e9d75a5bf2e49eb
+Subproject commit e377c9e115198486cb2b1c6f0348453653a906a5


core.git: vcl/quartz

2024-10-02 Thread Patrick Luby (via logerrit)
 vcl/quartz/SystemFontList.cxx |   54 +++---
 1 file changed, 41 insertions(+), 13 deletions(-)

New commits:
commit a4e9584c554ea018691b2c97d38cce3d83f8ea9a
Author: Patrick Luby 
AuthorDate: Mon Sep 30 19:58:56 2024 -0400
Commit: Patrick Luby 
CommitDate: Wed Oct 2 14:54:59 2024 +0200

tdf#163000 don't add any fonts with an 'hvgl' font table

macOS Sequoia added a new PingFangUI.ttc font file which
contains all of the PingFang font families. However, any
fonts loaded from this font file result in the following
failures:

- Skia renders font with wrong glyphs
- Export to PDF contain a damaged embedded font

Despite the fact that the fonts in this new font file have
a TrueType font type, they are missing a 'glyf' font table
and, instead, have a new, undefined 'hvgl' font table. See
the following link for more details about the new 'hvgl'
font table:

https://gitlab.freedesktop.org/freetype/freetype/-/issues/1281

Change-Id: I18170b1b226de86f79402ad0e45df8620c693f83
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/174305
Reviewed-by: Patrick Luby 
Tested-by: Jenkins
Reviewed-by: Jonathan Clark 
Reviewed-by: خالد حسني 

diff --git a/vcl/quartz/SystemFontList.cxx b/vcl/quartz/SystemFontList.cxx
index 64e8c8f73d94..d39327c4c823 100644
--- a/vcl/quartz/SystemFontList.cxx
+++ b/vcl/quartz/SystemFontList.cxx
@@ -205,29 +205,57 @@ static void fontEnumCallBack( const void* pValue, void* 
pContext )
 {
 CTFontDescriptorRef pFD = static_cast(pValue);
 
-// tdf#163000 don't add any fonts in the system "reserved fonts" folder
+// tdf#163000 don't add any fonts with an 'hvgl' font table
 // macOS Sequoia added a new PingFangUI.ttc font file which
 // contains all of the PingFang font families. However, any
 // fonts loaded from this font file result in the following
 // failures:
 // - Skia renders font with wrong glyphs
 // - Export to PDF contain a damaged embedded font
-// macOS Sequoia still has separate, downloadable Type 3
-// bitmap fonts for the PingFang font family so ignore
-// any fonts in the PingFangUI.ttc font file and, just to
-// be safe, ignore any other font files in the system
-// "reserved fonts" folder that may be added in the future.
-CFURLRef pFontURL = 
static_cast(CTFontDescriptorCopyAttribute(pFD, kCTFontURLAttribute));
-if (pFontURL)
+// Despite the fact that the fonts in this new font file have
+// a TrueType font type, they are missing a 'glyf' font table
+// and, instead, have a new, undefined 'hvgl' font table. See
+// the following link for more details about the new 'hvgl'
+// font table:
+// https://gitlab.freedesktop.org/freetype/freetype/-/issues/1281
+CFNumberRef pFontFormat = 
static_cast(CTFontDescriptorCopyAttribute(pFD, 
kCTFontFormatAttribute));
+if (pFontFormat)
 {
 bool bSkipFont = false;
-CFStringRef pFontPath = CFURLCopyFileSystemPath(pFontURL, 
kCFURLPOSIXPathStyle);
-if (pFontPath)
+int nFontFormat;
+// At least for the PingFangUI.ttc font file, the font format is
+// different on macOS and iOS
+if (CFNumberGetValue(pFontFormat, kCFNumberIntType, &nFontFormat) && 
(nFontFormat == kCTFontFormatOpenTypeTrueType || nFontFormat == 
kCTFontFormatTrueType))
 {
-bSkipFont = CFStringHasPrefix(pFontPath, 
CFSTR("/System/Library/PrivateFrameworks/FontServices.framework/Resources/Reserved/"));
-CFRelease(pFontPath);
+CTFontRef pFont = CTFontCreateWithFontDescriptor(pFD, 0.0, 
nullptr);
+if (pFont)
+{
+CFArrayRef pFontTableTags = CTFontCopyAvailableTables(pFont, 
kCTFontTableOptionNoOptions);
+if (pFontTableTags)
+{
+bool bGlyfTableFound = false;
+bool bHvglTableFound = false;
+CFIndex nFontTableTagCount = 
CFArrayGetCount(pFontTableTags);
+for (CFIndex i = 0; i < nFontTableTagCount; i++)
+{
+CTFontTableTag nTag = 
reinterpret_cast(CFArrayGetValueAtIndex(pFontTableTags, i));
+if (nTag == kCTFontTableGlyf)
+{
+bGlyfTableFound = true;
+break;
+}
+else if (nTag == 'hvgl')
+{
+bHvglTableFound = true;
+}
+}
+bSkipFont = !bGlyfTableFound && bHvglTableFound;
+CFRelease(pFontTableTags);
+}
+CFRelease(pFont);
+}
 }
-CFRelease(pFontURL);
+CFRelease(pFontFormat);
 
 if (bSkipFont)
 return;


core.git: svgio/inc svgio/qa svgio/source

2024-10-02 Thread Xisco Fauli (via logerrit)
 svgio/inc/svgmarkernode.hxx |4 
 svgio/inc/svgstyleattributes.hxx|   15 +-
 svgio/qa/cppunit/SvgImportTest.cxx  |   11 +
 svgio/qa/cppunit/data/contextStrokeGradient.svg |   24 +++
 svgio/source/svgreader/svgmarkernode.cxx|3 
 svgio/source/svgreader/svgstyleattributes.cxx   |  169 +---
 6 files changed, 144 insertions(+), 82 deletions(-)

New commits:
commit 16684eb4baab740fddc443490b19bf64af2be8e3
Author: Xisco Fauli 
AuthorDate: Wed Oct 2 13:07:47 2024 +0200
Commit: Xisco Fauli 
CommitDate: Wed Oct 2 14:31:47 2024 +0200

tdf#163212: context-fill/context-stroke can also use gradients

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

diff --git a/svgio/inc/svgmarkernode.hxx b/svgio/inc/svgmarkernode.hxx
index b8fa7c000e68..489387dc07e7 100644
--- a/svgio/inc/svgmarkernode.hxx
+++ b/svgio/inc/svgmarkernode.hxx
@@ -60,6 +60,8 @@ namespace svgio::svgreader
 double  mfAngle;
 MarkerOrientmaMarkerOrient;
 
+const SvgStyleAttributes* maContextStyleAttibutes;
+
 public:
 SvgMarkerNode(
 SvgDocument& rDocument,
@@ -106,6 +108,8 @@ namespace svgio::svgreader
 MarkerOrient getMarkerOrient() const { return maMarkerOrient; }
 void setMarkerOrient(const MarkerOrient aMarkerOrient) { 
maMarkerOrient = aMarkerOrient; }
 
+const SvgStyleAttributes* getContextStyleAttributes() const { 
return maContextStyleAttibutes; }
+void setContextStyleAttributes(const SvgStyleAttributes* 
aContextStyleAttibutes) { maContextStyleAttibutes = aContextStyleAttibutes; }
 };
 
 } // end of namespace svgio::svgreader
diff --git a/svgio/inc/svgstyleattributes.hxx b/svgio/inc/svgstyleattributes.hxx
index 6c2b550381a0..9a9eccb55105 100644
--- a/svgio/inc/svgstyleattributes.hxx
+++ b/svgio/inc/svgstyleattributes.hxx
@@ -248,18 +248,21 @@ namespace svgio::svgreader
 boolmbStrokeDasharraySet : 1;
 
 // tdf#155651 Defines if 'context-fill' is used in fill
-boolmbContextFill : 1;
+boolmbUseFillFromContextFill : 1;
+
+// tdf#155651 Defines if 'context-stroke' is used in fill
+boolmbUseFillFromContextStroke : 1;
+
+// tdf#155651 Defines if 'context-fill' is used in stroke
+boolmbUseStrokeFromContextFill : 1;
 
 // tdf#155651 Defines if 'context-stroke' is used in stroke
-boolmbContextStroke : 1;
+boolmbUseStrokeFromContextStroke : 1;
 
 // tdf#94765 Check id references in gradient/pattern getters
 OUStringmaNodeFillURL;
 OUStringmaNodeStrokeURL;
 
-const basegfx::BColor*  maContextFill;
-const basegfx::BColor*  maContextStroke;
-
 /// internal helpers
 void add_fillGradient(
 const basegfx::B2DPolyPolygon& rPath,
@@ -320,6 +323,8 @@ namespace svgio::svgreader
 void readCssStyle(std::u16string_view rCandidate);
 const SvgStyleAttributes* getCssStyleOrParentStyle() const;
 
+const SvgMarkerNode* getMarkerParentNode() const;
+
 SvgStyleAttributes(SvgNode& rOwner);
 ~SvgStyleAttributes();
 
diff --git a/svgio/qa/cppunit/SvgImportTest.cxx 
b/svgio/qa/cppunit/SvgImportTest.cxx
index 8328f8640ed3..80dfddd6416a 100644
--- a/svgio/qa/cppunit/SvgImportTest.cxx
+++ b/svgio/qa/cppunit/SvgImportTest.cxx
@@ -690,6 +690,17 @@ CPPUNIT_TEST_FIXTURE(Test, testContextStroke)
 assertXPath(pDocument, 
"/primitive2D/transform/transform[4]/polypolygonstroke/line"_ostr, 
"color"_ostr, u"#ff"_ustr);
 }
 
+CPPUNIT_TEST_FIXTURE(Test, testContextStrokeGradient)
+{
+xmlDocUniquePtr pDocument = 
dumpAndParseSvg(u"/svgio/qa/cppunit/data/contextStrokeGradient.svg");
+
+assertXPath(pDocument, "/primitive2D/transform/svglineargradient"_ostr);
+assertXPath(pDocument, 
"/primitive2D/transform/transform[1]/svglineargradient"_ostr);
+assertXPath(pDocument, 
"/primitive2D/transform/transform[2]/svglineargradient"_ostr);
+assertXPath(pDocument, 
"/primitive2D/transform/transform[3]/svglineargradient"_ostr);
+assertXPath(pDocument, 
"/primitive2D/transform/transform[4]/svglineargradient"_ostr);
+}
+
 CPPUNIT_TEST_FIXTURE(Test, testMarkerInPresentation)
 {
 xmlDocUniquePtr pDocument = 
dumpAndParseSvg(u"/svgio/qa/cppunit/data/markerInPresentation.svg");
diff --git a/svgio/qa/cppunit/data/contextStrokeGradient.svg 
b/svgio/qa/cppunit/data/contextStrokeGradient.svg
new file mode 100644
index 0

core.git: sw/inc sw/source

2024-10-02 Thread Mohit Marathe (via logerrit)
 sw/inc/strings.hrc |2 ++
 sw/source/uibase/sidebar/CommentsPanel.cxx |   10 +-
 2 files changed, 7 insertions(+), 5 deletions(-)

New commits:
commit a5cd4276244b9a635dab750e0decdf0c89d2d176
Author: Mohit Marathe 
AuthorDate: Tue Oct 1 19:09:06 2024 +0530
Commit: Sarper Akdemir 
CommitDate: Wed Oct 2 15:09:03 2024 +0200

sw: replace hardcoded strings with SwResId to improve localization

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

diff --git a/sw/inc/strings.hrc b/sw/inc/strings.hrc
index 5ff85970a3da..1bc9271c860e 100644
--- a/sw/inc/strings.hrc
+++ b/sw/inc/strings.hrc
@@ -427,6 +427,8 @@
 #define STR_EDITINDEX   NC_("STR_EDITINDEX", "Edit %1")
 #define STR_UPDATEINDEX NC_("STR_UPDATEINDEX", "Update 
%1")
 #define STR_DELETEINDEX NC_("STR_DELETEINDEX", "Delete 
%1")
+#define STR_COMMENT_VIEW_MODE   NC_("STR_COMMENT_VIEW_MODE", 
"View Mode")
+#define STR_COMMENT_EDIT_MODE   NC_("STR_COMMENT_EDIT_MODE", 
"Edit Mode")
 
 // Undo
 #define STR_CANT_UNDO   NC_("STR_CANT_UNDO", "not 
possible")
diff --git a/sw/source/uibase/sidebar/CommentsPanel.cxx 
b/sw/source/uibase/sidebar/CommentsPanel.cxx
index eb4a40747fd1..0bfd33685093 100644
--- a/sw/source/uibase/sidebar/CommentsPanel.cxx
+++ b/sw/source/uibase/sidebar/CommentsPanel.cxx
@@ -75,7 +75,7 @@ Comment::Comment(weld::Container* pParent, CommentsPanel& 
rCommentsPanel)
 , mbResolved(false)
 {
 mxTextView->set_editable(false);
-mxTextView->set_tooltip_text("View Mode");
+mxTextView->set_tooltip_text(SwResId(STR_COMMENT_VIEW_MODE));
 mxTextView->connect_focus_out(LINK(this, Comment, OnFocusOut));
 mxResolve->connect_toggled(LINK(this, Comment, ResolveClicked));
 mxReply->connect_clicked(LINK(this, Comment, ReplyClicked));
@@ -96,7 +96,7 @@ IMPL_LINK(Comment, ContextMenuHdl, const MouseEvent&, rMEvt, 
bool)
 if (sId == "edit")
 {
 this->makeEditable();
-getTextView()->set_tooltip_text("Edit Mode");
+getTextView()->set_tooltip_text(SwResId(STR_COMMENT_EDIT_MODE));
 }
 else if (sId == "reply")
 mrCommentsPanel.ReplyComment(this);
@@ -158,7 +158,7 @@ void Comment::InitControls(const SwPostItField* 
pPostItField)
 IMPL_LINK_NOARG(Comment, OnFocusOut, weld::Widget&, void)
 {
 mrCommentsPanel.EditComment(this);
-getTextView()->set_tooltip_text("View Mode");
+getTextView()->set_tooltip_text(SwResId(STR_COMMENT_VIEW_MODE));
 }
 
 IMPL_LINK_NOARG(Comment, ResolveClicked, weld::Toggleable&, void)
@@ -500,7 +500,7 @@ void CommentsPanel::addComment(const SwFormatField* pField)
 pThread->getCommentBoxWidget()->reorder_child(pComment->get_widget(),
   pThread->mnComments++);
 pComment->InitControls(pNote->GetPostItField());
-pComment->getTextView()->set_tooltip_text("Edit Mode");
+
pComment->getTextView()->set_tooltip_text(SwResId(STR_COMMENT_EDIT_MODE));
 mpAuthorSet.insert(pComment->GetAuthor());
 mpCommentsMap[nNoteId] = std::move(pComment);
 }
@@ -515,7 +515,7 @@ void CommentsPanel::addComment(const SwFormatField* pField)
 mpThreadsMap[nRootId] = std::move(pThread);
 setReferenceText(nRootId);
 pComment->InitControls(pNote->GetPostItField());
-pComment->getTextView()->set_tooltip_text("Edit Mode");
+
pComment->getTextView()->set_tooltip_text(SwResId(STR_COMMENT_EDIT_MODE));
 mpAuthorSet.insert(pComment->GetAuthor());
 mpCommentsMap[nNoteId] = std::move(pComment);
 }


core.git: desktop/source

2024-10-02 Thread Caolán McNamara (via logerrit)
 desktop/source/lib/init.cxx |1 +
 1 file changed, 1 insertion(+)

New commits:
commit 7f09dc4ba952854adfe0165efcca401436c8671e
Author: Caolán McNamara 
AuthorDate: Tue Oct 1 16:58:21 2024 +0100
Commit: Caolán McNamara 
CommitDate: Wed Oct 2 16:10:00 2024 +0200

Get SolarMutex before calling ImplClearAllFontData

to avoid:

vcl/source/app/dbggui.cxx:35: void ImplDbgTestSolarMutex(): Assertion 
`ImplGetSVData()->mpDefInst->GetYieldMutex()->IsCurrentThread() && "SolarMutex 
not owned!"' failed.

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

diff --git a/desktop/source/lib/init.cxx b/desktop/source/lib/init.cxx
index 043bc769450e..4bd1beda9abc 100644
--- a/desktop/source/lib/init.cxx
+++ b/desktop/source/lib/init.cxx
@@ -5265,6 +5265,7 @@ static void lo_setOption(LibreOfficeKit* /*pThis*/, const 
char *pOption, const c
 
 OUString sMagicFileName = "file:///:FD:/" + OUString::number(fd);
 
+SolarMutexGuard aGuard;
 OutputDevice *pDevice = Application::GetDefaultDevice();
 OutputDevice::ImplClearAllFontData(false);
 pDevice->AddTempDevFont(sMagicFileName, u""_ustr);


core.git: desktop/source

2024-10-02 Thread Stephan Bergmann (via logerrit)
 desktop/source/app/updater.cxx |6 --
 1 file changed, 4 insertions(+), 2 deletions(-)

New commits:
commit ea5e3865b4d47c796a36852c5d5e5a7b736a21cf
Author: Stephan Bergmann 
AuthorDate: Wed Oct 2 15:42:34 2024 +0200
Commit: Stephan Bergmann 
CommitDate: Wed Oct 2 17:35:48 2024 +0200

Hack reordering includes to avoid Windows Yield macro fallout

No idea why my local Windows build started to only now fail with

> [build CXX] desktop/source/app/updater.cxx
> C:\lo> C:\lo
or how to potentially address that properly with prewin.h/postwin.h...

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

diff --git a/desktop/source/app/updater.cxx b/desktop/source/app/updater.cxx
index 39810c2cbbdc..39699b90dec5 100644
--- a/desktop/source/app/updater.cxx
+++ b/desktop/source/app/updater.cxx
@@ -7,6 +7,10 @@
  * file, You can obtain one at http://mozilla.org/MPL/2.0/.
  */
 
+// Include this early, as it uses the identifier "Yield" which is defined as a 
macro in Windows
+// system files indirectly included via some of the later includes here:
+#include 
+
 #include "updater.hxx"
 
 #if UNX
@@ -48,8 +52,6 @@
 
 #include 
 
-#include 
-
 #include 
 #include 
 #include 


core.git: solenv/gbuild

2024-10-02 Thread Stephan Bergmann (via logerrit)
 solenv/gbuild/platform/com_MSC_defs.mk |9 -
 1 file changed, 8 insertions(+), 1 deletion(-)

New commits:
commit 064937d0b5f6786e3ec347fdc5b2c771de348ffa
Author: Stephan Bergmann 
AuthorDate: Wed Oct 2 15:37:40 2024 +0200
Commit: Stephan Bergmann 
CommitDate: Wed Oct 2 17:35:18 2024 +0200

Avoid C4847 with --with-latest-c++ when compiling CLR

> [build CLR] cli_ure/source/climaker/climaker_emit.cxx
> c1xx: error C2220: the following warning is treated as an error
> c1xx: warning C4857: C++/CLI mode does not support C++ versions newer 
than C++20; setting language to /std:c++20

etc., as seen now with at least VS2022 Preview 17.12.0 Preview 2.1

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

diff --git a/solenv/gbuild/platform/com_MSC_defs.mk 
b/solenv/gbuild/platform/com_MSC_defs.mk
index 36ce2b1f964b..e915036b54c8 100644
--- a/solenv/gbuild/platform/com_MSC_defs.mk
+++ b/solenv/gbuild/platform/com_MSC_defs.mk
@@ -263,10 +263,16 @@ gb_LTOFLAGS := $(if $(filter TRUE,$(ENABLE_LTO)),-GL)
 # be suppressed by -wd4857, only by -Wv:18. The warning seems incorrect, 
because
 # using -std:c++17 produces errors about undeclared 'char8_t'. VS2022 doesn't
 # have the problem, so drop -Wv:18 when bumping baseline.
+# Similarly, at least VS2022 Preview 17.12.0 Preview 2.1 with 
--with-latest-c++ emits a "warning
+# C4857: C++/CLI mode does not support C++ versions newer than C++20; setting 
language to
+# /std:c++20" that cannot be disabled by adding -wd4857, so hardcode a 
-std:c++20 substitution in
+# that case:
 gb_CXXCLRFLAGS := \
$(if $(COM_IS_CLANG), \
$(patsubst -std=%,-std:c++20 -Zc:__cplusplus,$(gb_CXXFLAGS)), \
-   $(gb_CXXFLAGS)) \
+   $(if $(filter -std:c++latest,$(CXXFLAGS_CXX11)), \
+   $(patsubst -std:c++latest,-std:c++20,$(gb_CXXFLAGS)), \
+   $(gb_CXXFLAGS))) \
$(gb_LinkTarget_EXCEPTIONFLAGS) \
-AI $(INSTDIR)/$(LIBO_URE_LIB_FOLDER) \
-EHa \
@@ -274,6 +280,7 @@ gb_CXXCLRFLAGS := \
$(if $(filter 16.0,$(VCVER)),-Wv:18) \
-Zc:twoPhase- \
 
+
 ifeq ($(COM_IS_CLANG),TRUE)
 
 gb_CFLAGS += \


core.git: sw/source

2024-10-02 Thread Michael Stahl (via logerrit)
 sw/source/core/layout/paintfrm.cxx |4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

New commits:
commit d5fcc8ea25e416a4d2bea5e0f92c0e403997d845
Author: Michael Stahl 
AuthorDate: Wed Oct 2 18:51:44 2024 +0200
Commit: Michael Stahl 
CommitDate: Wed Oct 2 21:27:13 2024 +0200

tdf#163032 sw: fix painting of row frame with rowspan > 1 cell

Super non intuitive representation of a rowspan > 1 cell split across
pages is that the follow frame will be in a row that's 0 height, but its
own height extends to the bottom of the following merged rows.

(regression from commit 13495926390ba54fbcd45ec00fbe613b1f2b734b)

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

diff --git a/sw/source/core/layout/paintfrm.cxx 
b/sw/source/core/layout/paintfrm.cxx
index e6088c22a778..5cad611eab7e 100644
--- a/sw/source/core/layout/paintfrm.cxx
+++ b/sw/source/core/layout/paintfrm.cxx
@@ -3718,8 +3718,8 @@ SwShortCut::SwShortCut( const SwFrame& rFrame, const 
SwRect& rRect )
 
 void SwLayoutFrame::PaintSwFrame(vcl::RenderContext& rRenderContext, SwRect 
const& rRect, PaintFrameMode ePaintFrameMode) const
 {
-if (!getFramePrintArea().HasArea())
-{
+if (!getFramePrintArea().HasArea() && !IsRowFrame())
+{   // tdf#163032 row frame may contain rowspan>1 cell that must be painted
 return; // do not paint hidden frame
 }
 


core.git: unoxml/qa

2024-10-02 Thread Xisco Fauli (via logerrit)
 unoxml/qa/unit/domtest.cxx |   69 +
 1 file changed, 20 insertions(+), 49 deletions(-)

New commits:
commit fa496381da895ffc0767349cff3c6f3161743703
Author: Xisco Fauli 
AuthorDate: Wed Oct 2 14:15:44 2024 +0200
Commit: Xisco Fauli 
CommitDate: Wed Oct 2 15:35:36 2024 +0200

CppunitTest_unoxml_domtest: merge BasicTest and serializerTest

And convert it into a class

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

diff --git a/unoxml/qa/unit/domtest.cxx b/unoxml/qa/unit/domtest.cxx
index 2c40b5a4acdb..324c4ca457fd 100644
--- a/unoxml/qa/unit/domtest.cxx
+++ b/unoxml/qa/unit/domtest.cxx
@@ -192,15 +192,20 @@ struct TokenHandler : public 
sax_fastparser::FastTokenHandlerBase
 }
 };
 
-struct BasicTest : public test::BootstrapFixture
+class BasicTest : public test::BootstrapFixture
 {
+protected:
 uno::ReferencemxDomBuilder;
 rtl::ReferencemxErrHandler;
 rtl::Reference mxValidInStream;
 rtl::Reference mxWarningInStream;
 rtl::Reference mxErrorInStream;
 
-virtual void setUp() override
+public:
+
+BasicTest() {}
+
+void setUp() override
 {
 test::BootstrapFixture::setUp();
 
@@ -309,39 +314,11 @@ struct BasicTest : public test::BootstrapFixture
 mxDomBuilder->setErrorHandler(nullptr);
 }
 
-// Change the following lines only, if you add, remove or rename
-// member functions of the current class,
-// because these macros are need by auto register mechanism.
-CPPUNIT_TEST_SUITE(BasicTest);
-CPPUNIT_TEST(validInputTest);
-CPPUNIT_TEST(warningInputTest);
-CPPUNIT_TEST(errorInputTest);
-CPPUNIT_TEST(testXDocumentBuilder);
-CPPUNIT_TEST_SUITE_END();
-};
-
-struct SerializerTest : public test::BootstrapFixture
-{
-uno::Reference mxDomBuilder;
-rtl::Reference mxErrHandler;
-rtl::Reference  mxInStream;
-rtl::Reference  mxHandler;
-rtl::Reference mxTokHandler;
-uno::Sequence< beans::Pair< OUString, sal_Int32 > > maRegisteredNamespaces;
-
-void setUp() override
+void serializerTest ()
 {
-test::BootstrapFixture::setUp();
-
-mxErrHandler.set( new ErrorHandler() );
-uno::Reference xDB( 
getMultiServiceFactory()->createInstance(u"com.sun.star.xml.dom.DocumentBuilder"_ustr),
 uno::UNO_QUERY_THROW );
-mxDomBuilder.set( xDB );
-mxInStream.set( new 
SequenceInputStream(css::uno::Sequence(reinterpret_cast(validTestFile), std::size(validTestFile) - 1)) );
-mxDomBuilder->setErrorHandler(mxErrHandler);
-mxHandler.set( new DocumentHandler );
-mxTokHandler.set( new TokenHandler );
-
-maRegisteredNamespaces = {
+rtl::Reference xHandler = new DocumentHandler;
+rtl::Reference xTokHandler = new TokenHandler;
+uno::Sequence< beans::Pair< OUString, sal_Int32 > > 
aRegisteredNamespaces = {
 beans::make_Pair(
 u"urn:oasis:names:tc:opendocument:xmlns:office:1.0"_ustr,
 xml::sax::FastToken::NAMESPACE),
@@ -349,14 +326,11 @@ struct SerializerTest : public test::BootstrapFixture
 u"http://www.w3.org/1999/xlink"_ustr,
 2*xml::sax::FastToken::NAMESPACE)
 };
-}
 
-void serializerTest ()
-{
 try
 {
 uno::Reference< xml::dom::XDocument > xDoc =
-mxDomBuilder->parse(mxInStream);
+mxDomBuilder->parse(mxValidInStream);
 CPPUNIT_ASSERT_MESSAGE("Valid input file did not result in 
XDocument",
 xDoc.is());
 CPPUNIT_ASSERT_MESSAGE("Valid input file resulted in parse errors",
@@ -372,10 +346,10 @@ struct SerializerTest : public test::BootstrapFixture
 CPPUNIT_ASSERT_MESSAGE("XFastSAXSerializable not supported",
 xSaxSerializer.is());
 
-xFastSaxSerializer->fastSerialize(mxHandler,
-mxTokHandler,
+xFastSaxSerializer->fastSerialize(xHandler,
+xTokHandler,
 uno::Sequence< beans::StringPair >(),
-maRegisteredNamespaces);
+aRegisteredNamespaces);
 }
 catch (const css::xml::sax::SAXParseException&)
 {
@@ -383,21 +357,18 @@ struct SerializerTest : public test::BootstrapFixture
 }
 }
 
-// Change the following lines only, if you add, remove or rename
-// member functions of the current class,
-// because these macros are need by auto register mechanism.
-
-CPPUNIT_TEST_SUITE(SerializerTest);
+CPPUNIT_TEST_SUITE(BasicTest);
+CPPUNIT_TEST(validInputTest);
+CPPUNIT_TEST(warningInputTest);
+CPPUNIT_TEST(errorInputTest);
+CPP

core.git: sc/qa sc/source

2024-10-02 Thread Justin Luth (via logerrit)
 dev/null   |binary
 sc/qa/unit/subsequent_export_test.cxx  |   27 ---
 sc/qa/unit/subsequent_export_test3.cxx |6 +-
 sc/qa/unit/subsequent_export_test4.cxx |   10 ++
 sc/source/filter/excel/xestyle.cxx |2 +-
 sc/source/filter/excel/xetable.cxx |2 +-
 6 files changed, 17 insertions(+), 30 deletions(-)

New commits:
commit dafb629f4f5739e326fdf6b3f072fe139ed27c3b
Author: Justin Luth 
AuthorDate: Wed Oct 2 19:17:46 2024 -0400
Commit: Justin Luth 
CommitDate: Thu Oct 3 03:05:05 2024 +0200

tdf#161453 tdf#158252 tdf#159690 Revert "sc: Fix wrapText ...

...not being applied correctly on export"

This reverts 24.2 commit 1760ee4d328cfb6ba22a5b3c84016625b12adb25
which was presumably made for tdf#158460.

There are two bug reports in QA statistics - Regressions with most dups
that relate to the chain of commits started by this patch.
So just revert everything and let any initial fixes start again fresh.

make CppunitTest_sc_subsequent_export_test3 \
CPPUNIT_TEST_NAME=testCustomXml

make CppunitTest_sc_subsequent_export_test4 \
CPPUNIT_TEST_NAME=testTdf152980

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

diff --git a/sc/qa/unit/data/xlsx/wrap-text.xlsx 
b/sc/qa/unit/data/xlsx/wrap-text.xlsx
deleted file mode 100644
index 961cfcbdc02e..
Binary files a/sc/qa/unit/data/xlsx/wrap-text.xlsx and /dev/null differ
diff --git a/sc/qa/unit/subsequent_export_test.cxx 
b/sc/qa/unit/subsequent_export_test.cxx
index 7adb5e90bf34..9472fcca9993 100644
--- a/sc/qa/unit/subsequent_export_test.cxx
+++ b/sc/qa/unit/subsequent_export_test.cxx
@@ -1800,33 +1800,6 @@ CPPUNIT_TEST_FIXTURE(ScExportTest, 
testRichTextCellFormatXLSX)
 assertXPath(pStyles, aXPath3, "val"_ostr, u"true"_ustr);
 }
 
-CPPUNIT_TEST_FIXTURE(ScExportTest, testWrapText)
-{
-createScDoc("xlsx/wrap-text.xlsx");
-
-save(u"Calc Office Open XML"_ustr);
-
-xmlDocUniquePtr pStyles = parseExport(u"xl/styles.xml"_ustr);
-CPPUNIT_ASSERT(pStyles);
-
-assertXPath(pStyles, "/x:styleSheet/x:cellXfs"_ostr, "count"_ostr, 
u"7"_ustr);
-
-assertXPath(pStyles, "/x:styleSheet/x:cellXfs/x:xf[1]/x:alignment"_ostr, 
"wrapText"_ostr,
-u"false"_ustr);
-assertXPath(pStyles, "/x:styleSheet/x:cellXfs/x:xf[2]/x:alignment"_ostr, 
"wrapText"_ostr,
-u"false"_ustr);
-assertXPath(pStyles, "/x:styleSheet/x:cellXfs/x:xf[3]/x:alignment"_ostr, 
"wrapText"_ostr,
-u"false"_ustr);
-assertXPath(pStyles, "/x:styleSheet/x:cellXfs/x:xf[4]/x:alignment"_ostr, 
"wrapText"_ostr,
-u"false"_ustr);
-assertXPath(pStyles, "/x:styleSheet/x:cellXfs/x:xf[5]/x:alignment"_ostr, 
"wrapText"_ostr,
-u"true"_ustr);
-assertXPath(pStyles, "/x:styleSheet/x:cellXfs/x:xf[6]/x:alignment"_ostr, 
"wrapText"_ostr,
-u"true"_ustr);
-assertXPath(pStyles, "/x:styleSheet/x:cellXfs/x:xf[7]/x:alignment"_ostr, 
"wrapText"_ostr,
-u"true"_ustr);
-}
-
 CPPUNIT_TEST_FIXTURE(ScExportTest, testFormulaRefSheetNameODS)
 {
 createScDoc("ods/formula-quote-in-sheet-name.ods");
diff --git a/sc/qa/unit/subsequent_export_test3.cxx 
b/sc/qa/unit/subsequent_export_test3.cxx
index e537595b6cee..37957d10aafa 100644
--- a/sc/qa/unit/subsequent_export_test3.cxx
+++ b/sc/qa/unit/subsequent_export_test3.cxx
@@ -929,7 +929,7 @@ CPPUNIT_TEST_FIXTURE(ScExportTest3, testCustomXml)
 // Load document and export it to a temporary file
 createScDoc("xlsx/customxml.xlsx");
 
-save(u"Calc Office Open XML"_ustr);
+saveAndReload(u"Calc Office Open XML"_ustr);
 xmlDocUniquePtr pXmlDoc = parseExport(u"customXml/item1.xml"_ustr);
 CPPUNIT_ASSERT(pXmlDoc);
 xmlDocUniquePtr pRelsDoc = 
parseExport(u"customXml/_rels/item1.xml.rels"_ustr);
@@ -943,6 +943,10 @@ CPPUNIT_TEST_FIXTURE(ScExportTest3, testCustomXml)
 std::unique_ptr pStream
 = parseExportStream(maTempFile.GetURL(), u"ddp/ddpfile.xen"_ustr);
 CPPUNIT_ASSERT(pStream);
+
+// tdf#161453: ensure E1's wrap text attribute was round-tripped
+ScDocument* pDoc = getScDoc();
+CPPUNIT_ASSERT(pDoc->GetAttr(4, 0, 0, ATTR_LINEBREAK)->GetValue());
 }
 
 #ifdef _WIN32
diff --git a/sc/qa/unit/subsequent_export_test4.cxx 
b/sc/qa/unit/subsequent_export_test4.cxx
index fbf31673ada3..e194568803c0 100644
--- a/sc/qa/unit/subsequent_export_test4.cxx
+++ b/sc/qa/unit/subsequent_export_test4.cxx
@@ -31,6 +31,7 @@
 #include 
 #include 
 #include 
+#include 
 #include 
 #include 
 #include 
@@ -1831,6 +1832,15 @@ CPPUNIT_TEST_FIXTURE(ScExportTest4, testTdf152980)
 CPPUNIT_ASSERT_EQUAL(u"a   b"_ustr, pDoc->GetString(0, 5, 0));
 CPPUNIT_ASSERT_EQUAL(u"a
b"_ustr, pDoc->GetString(0, 6, 0));
 CPPUNIT_ASSERT_EQUAL(u"a

b"

ESC meeting agenda: 2024-10-03 16:00 CEST

2024-10-02 Thread Miklos Vajna

Hi,

The prototype agenda is below. Extra items are appreciated either in
this document or as a reply to this mail:

https://pad.documentfoundation.org/p/esc

You can join using Jitsi here:

https://jitsi.documentfoundation.org/esc

Regards,

Miklos

---

* Present:
  +

* Completed Action Items:

* Pending Action Items:
  + create a  https://wiki.documentfoundation.org/ReleasePlan/25.2 wiki page 
(Cloph)

* Release Engineering update (Cloph)
  + 24.8.3 rc1 in 3 weeks?
  + 24.2.7 rc1 in 1 week?

* Documentation (Olivier)
+ Bugzilla Documentation statistics
228(228) bugs open
+ Updates:
BZ changes   1 week   1 month3 months   12 months
   created  5(-3)29(-15)   116(1)  259(-4)
 commented 15(0)116(-26)   369(15)1018(4)
  resolved  2(1) 10(-11)69(1)  171(-2)
+ top 10 contributors:
  Olivier Hallot made 34 changes in 1 month, and 339 changes in 1 year
  Pierre F made 21 changes in 1 month, and 218 changes in 1 year
  Heiko Tietze made 18 changes in 1 month, and 91 changes in 1 year
  Dione Maddern made 15 changes in 1 month, and 98 changes in 1 year
  Nabet, Julien made 14 changes in 1 month, and 56 changes in 1 year
  Bogdan B made 13 changes in 1 month, and 22 changes in 1 year
  Ilmari Lauhakangas made 10 changes in 1 month, and 121 changes in 1 
year
  nobu made 7 changes in 1 month, and 23 changes in 1 year
  nutka made 5 changes in 1 month, and 6 changes in 1 year
  m.a.riosv made 4 changes in 1 month, and 36 changes in 1 year

* UX Update (Heiko)
+ Bugzilla (topicUI) statistics
233(233) (topicUI) bugs open, 23(23) (needsUXEval) needs to be 
evaluated by the UXteam
+ Updates:
BZ changes   1 week   1 month3 months   12 months
 added  4(1) 10(1)  11(2)   19(2)
 commented 28(-6)   130(-23)   333(-39)   1663(-28)
   removed  1(1)  2(1)   2(1)   11(1)
  resolved  2(-4)18(-4) 64(-1) 263(-4)
+ top 10 contributors:
  Heiko Tietze made 74 changes in 1 month, and 898 changes in 1 year
  Vernon, Stuart Foote made 49 changes in 1 month, and 376 changes in 1 
year
  Ilmari Lauhakangas made 32 changes in 1 month, and 174 changes in 1 
year
  Eyal Rozenberg made 25 changes in 1 month, and 158 changes in 1 year
  Henschel, Regina made 20 changes in 1 month, and 55 changes in 1 year
  m.a.riosv made 10 changes in 1 month, and 50 changes in 1 year
  Kira Tubo made 9 changes in 1 month, and 26 changes in 1 year
  Ady made 7 changes in 1 month, and 106 changes in 1 year
  Dieter made 6 changes in 1 month, and 121 changes in 1 year
  Kaganski, Mike made 5 changes in 1 month, and 45 changes in 1 year

* Crash Testing (Caolan)
+ 79(+55) import failure, 77(+55) export failures
+ ??? coverity issues
+ Google / ossfuzz: ?? fuzzers active now

* Crash Reporting (Xisco)
+ 24.2.6.21107(+476)
+ 24.8.0.315928(+2046)
+ 24.8.1.29251(+4636)
+ 24.8.2.1990(+0)

* Mentoring (Hossein)
  committer...   1 week 1 month 3 months12 months
  open  93(51) 151(47) 190(50)  190(50)
   reviews 412(102)   1510(68)3570(-34)   13292(118)
merged 314(44)1356(-27)   3734(8) 13675(99)
 abandoned  13(0)   56(4)  204(-10) 776(7)
   own commits 264(46)1004(11)2741(78) 9992(87)
review commits  72(16) 257(6)  702(20) 3180(24)
contributor...   1 week 1 month3 months   12 months
  open 138(64) 193(79)211(76) 211(76)
   reviews 908(148)   3250(66)   8444(92)   30832(288)
merged  26(0)  103(-3)286(-4)1456(5)
 abandoned   3(0)   16(1)  72(-1) 566(-7)
   own commits  26(3)   85(-6)282(-1)1295(20)
review commits   0(0)0(0)   0(0)0(0)
+ easyHack statistics:
   needsDevEval 8(8)   needsUXEval 1(1)   cleanup_comments 331(331)
   total 418(418)   assigned 24(24)   open 356(356)
+ top 10 contributors:
  Mohit Marathe made 10 patches in 1 month, and 13 patches in 1 year
  Kira Tubo made 8 patches in 1 month, and 29 patches in 1 year
  Dione Maddern made 7 patches in 1 month, and 85 patches in 1 year
  Armin Le Grand (allotropia) made 7 patches in 1 month, and 81 patches 
in 1 year
  Bogdan B made 5 patches in 1 month, and 91 patches in 1 year
  Adam Seskunas made 4 patches in 1 month, and 28 patches in 1 year
  Pierre F made 4 patches in 1 month, and 86 patches in 1 year
  Omkar Acharekar  made 3 patches in 1 month, and 10 patches in 

core.git: Branch 'libreoffice-24-8' - vcl/quartz

2024-10-02 Thread Patrick Luby (via logerrit)
 vcl/quartz/SystemFontList.cxx |   56 ++
 1 file changed, 56 insertions(+)

New commits:
commit a6c02c2bdebc196e5e7113aecbfd8d2debf4bb06
Author: Patrick Luby 
AuthorDate: Mon Sep 30 19:58:56 2024 -0400
Commit: Patrick Luby 
CommitDate: Wed Oct 2 16:00:04 2024 +0200

tdf#163000 don't add any fonts with an 'hvgl' font table

macOS Sequoia added a new PingFangUI.ttc font file which
contains all of the PingFang font families. However, any
fonts loaded from this font file result in the following
failures:

- Skia renders font with wrong glyphs
- Export to PDF contain a damaged embedded font

Despite the fact that the fonts in this new font file have
a TrueType font type, they are missing a 'glyf' font table
and, instead, have a new, undefined 'hvgl' font table. See
the following link for more details about the new 'hvgl'
font table:

https://gitlab.freedesktop.org/freetype/freetype/-/issues/1281

Change-Id: I18170b1b226de86f79402ad0e45df8620c693f83
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/174305
Reviewed-by: Patrick Luby 
Tested-by: Jenkins
Reviewed-by: Jonathan Clark 
Reviewed-by: خالد حسني 
(cherry picked from commit a4e9584c554ea018691b2c97d38cce3d83f8ea9a)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/174331

diff --git a/vcl/quartz/SystemFontList.cxx b/vcl/quartz/SystemFontList.cxx
index 3ca09bfcf21e..d39327c4c823 100644
--- a/vcl/quartz/SystemFontList.cxx
+++ b/vcl/quartz/SystemFontList.cxx
@@ -205,6 +205,62 @@ static void fontEnumCallBack( const void* pValue, void* 
pContext )
 {
 CTFontDescriptorRef pFD = static_cast(pValue);
 
+// tdf#163000 don't add any fonts with an 'hvgl' font table
+// macOS Sequoia added a new PingFangUI.ttc font file which
+// contains all of the PingFang font families. However, any
+// fonts loaded from this font file result in the following
+// failures:
+// - Skia renders font with wrong glyphs
+// - Export to PDF contain a damaged embedded font
+// Despite the fact that the fonts in this new font file have
+// a TrueType font type, they are missing a 'glyf' font table
+// and, instead, have a new, undefined 'hvgl' font table. See
+// the following link for more details about the new 'hvgl'
+// font table:
+// https://gitlab.freedesktop.org/freetype/freetype/-/issues/1281
+CFNumberRef pFontFormat = 
static_cast(CTFontDescriptorCopyAttribute(pFD, 
kCTFontFormatAttribute));
+if (pFontFormat)
+{
+bool bSkipFont = false;
+int nFontFormat;
+// At least for the PingFangUI.ttc font file, the font format is
+// different on macOS and iOS
+if (CFNumberGetValue(pFontFormat, kCFNumberIntType, &nFontFormat) && 
(nFontFormat == kCTFontFormatOpenTypeTrueType || nFontFormat == 
kCTFontFormatTrueType))
+{
+CTFontRef pFont = CTFontCreateWithFontDescriptor(pFD, 0.0, 
nullptr);
+if (pFont)
+{
+CFArrayRef pFontTableTags = CTFontCopyAvailableTables(pFont, 
kCTFontTableOptionNoOptions);
+if (pFontTableTags)
+{
+bool bGlyfTableFound = false;
+bool bHvglTableFound = false;
+CFIndex nFontTableTagCount = 
CFArrayGetCount(pFontTableTags);
+for (CFIndex i = 0; i < nFontTableTagCount; i++)
+{
+CTFontTableTag nTag = 
reinterpret_cast(CFArrayGetValueAtIndex(pFontTableTags, i));
+if (nTag == kCTFontTableGlyf)
+{
+bGlyfTableFound = true;
+break;
+}
+else if (nTag == 'hvgl')
+{
+bHvglTableFound = true;
+}
+}
+bSkipFont = !bGlyfTableFound && bHvglTableFound;
+CFRelease(pFontTableTags);
+}
+CFRelease(pFont);
+}
+}
+CFRelease(pFontFormat);
+
+if (bSkipFont)
+return;
+}
+
 bool bFontEnabled;
 FontAttributes rDFA = DevFontFromCTFontDescriptor( pFD, &bFontEnabled );
 


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

2024-10-02 Thread Caolán McNamara (via logerrit)
 desktop/source/lib/init.cxx |1 +
 1 file changed, 1 insertion(+)

New commits:
commit d1ed24ba34d422128fd48184dbc3b344b5922d3a
Author: Caolán McNamara 
AuthorDate: Tue Oct 1 16:58:21 2024 +0100
Commit: Miklos Vajna 
CommitDate: Wed Oct 2 16:19:47 2024 +0200

Get SolarMutex before calling ImplClearAllFontData

to avoid:

vcl/source/app/dbggui.cxx:35: void ImplDbgTestSolarMutex(): Assertion 
`ImplGetSVData()->mpDefInst->GetYieldMutex()->IsCurrentThread() && "SolarMutex 
not owned!"' failed.

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

diff --git a/desktop/source/lib/init.cxx b/desktop/source/lib/init.cxx
index 156522e2d038..41891c139031 100644
--- a/desktop/source/lib/init.cxx
+++ b/desktop/source/lib/init.cxx
@@ -5297,6 +5297,7 @@ static void lo_setOption(LibreOfficeKit* /*pThis*/, const 
char *pOption, const c
 
 OUString sMagicFileName = "file:///:FD:/" + OUString::number(fd);
 
+SolarMutexGuard aGuard;
 OutputDevice *pDevice = Application::GetDefaultDevice();
 OutputDevice::ImplClearAllFontData(false);
 pDevice->AddTempDevFont(sMagicFileName, "");


core.git: helpcontent2

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

New commits:
commit 3c3d7b313424596188a4916a6469d8c3da4019bb
Author: Olivier Hallot 
AuthorDate: Wed Oct 2 16:32:15 2024 +0200
Commit: Gerrit Code Review 
CommitDate: Wed Oct 2 16:32:15 2024 +0200

Update git submodules

* Update helpcontent2 from branch 'master'
  to f232ea1618140f45dc1643338e9d75a5bf2e49eb
  - Mute L10N for embedvar

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

diff --git a/helpcontent2 b/helpcontent2
index adbc8637e059..f232ea161814 16
--- a/helpcontent2
+++ b/helpcontent2
@@ -1 +1 @@
-Subproject commit adbc8637e059f407b7c209af6ee017de2f1f9736
+Subproject commit f232ea1618140f45dc1643338e9d75a5bf2e49eb


help.git: source/text

2024-10-02 Thread Olivier Hallot (via logerrit)
 source/text/shared/01/0211.xhp |2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

New commits:
commit f232ea1618140f45dc1643338e9d75a5bf2e49eb
Author: Olivier Hallot 
AuthorDate: Tue Oct 1 20:53:52 2024 +0200
Commit: Olivier Hallot 
CommitDate: Wed Oct 2 16:32:14 2024 +0200

Mute L10N for embedvar

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

diff --git a/source/text/shared/01/0211.xhp 
b/source/text/shared/01/0211.xhp
index eb81e76012..dbc1a4ac41 100644
--- a/source/text/shared/01/0211.xhp
+++ b/source/text/shared/01/0211.xhp
@@ -42,7 +42,7 @@
 For a full list of supported metacharacters and 
syntax, see https://unicode-org.github.io/icu/userguide/strings/regexp.html#regular-expression-metacharacters";>ICU
 Regular Expressions documentation
 
   
-
+
   
 
 


core.git: Branch 'libreoffice-24-2' - vcl/quartz

2024-10-02 Thread Patrick Luby (via logerrit)
 vcl/quartz/SystemFontList.cxx |   54 +++---
 1 file changed, 41 insertions(+), 13 deletions(-)

New commits:
commit 2a30aa03b63cf1598a16f3fa165f06cafc9ec6fa
Author: Patrick Luby 
AuthorDate: Mon Sep 30 19:58:56 2024 -0400
Commit: Adolfo Jayme Barrientos 
CommitDate: Wed Oct 2 17:48:15 2024 +0200

tdf#163000 don't add any fonts with an 'hvgl' font table

macOS Sequoia added a new PingFangUI.ttc font file which
contains all of the PingFang font families. However, any
fonts loaded from this font file result in the following
failures:

- Skia renders font with wrong glyphs
- Export to PDF contain a damaged embedded font

Despite the fact that the fonts in this new font file have
a TrueType font type, they are missing a 'glyf' font table
and, instead, have a new, undefined 'hvgl' font table. See
the following link for more details about the new 'hvgl'
font table:

https://gitlab.freedesktop.org/freetype/freetype/-/issues/1281

Change-Id: I18170b1b226de86f79402ad0e45df8620c693f83
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/174305
Reviewed-by: Patrick Luby 
Tested-by: Jenkins
Reviewed-by: Jonathan Clark 
Reviewed-by: خالد حسني 
(cherry picked from commit a4e9584c554ea018691b2c97d38cce3d83f8ea9a)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/174332
Reviewed-by: Adolfo Jayme Barrientos 

diff --git a/vcl/quartz/SystemFontList.cxx b/vcl/quartz/SystemFontList.cxx
index c04c8fdd1f72..738dc393f748 100644
--- a/vcl/quartz/SystemFontList.cxx
+++ b/vcl/quartz/SystemFontList.cxx
@@ -212,29 +212,57 @@ static void fontEnumCallBack( const void* pValue, void* 
pContext )
 {
 CTFontDescriptorRef pFD = static_cast(pValue);
 
-// tdf#163000 don't add any fonts in the system "reserved fonts" folder
+// tdf#163000 don't add any fonts with an 'hvgl' font table
 // macOS Sequoia added a new PingFangUI.ttc font file which
 // contains all of the PingFang font families. However, any
 // fonts loaded from this font file result in the following
 // failures:
 // - Skia renders font with wrong glyphs
 // - Export to PDF contain a damaged embedded font
-// macOS Sequoia still has separate, downloadable Type 3
-// bitmap fonts for the PingFang font family so ignore
-// any fonts in the PingFangUI.ttc font file and, just to
-// be safe, ignore any other font files in the system
-// "reserved fonts" folder that may be added in the future.
-CFURLRef pFontURL = 
static_cast(CTFontDescriptorCopyAttribute(pFD, kCTFontURLAttribute));
-if (pFontURL)
+// Despite the fact that the fonts in this new font file have
+// a TrueType font type, they are missing a 'glyf' font table
+// and, instead, have a new, undefined 'hvgl' font table. See
+// the following link for more details about the new 'hvgl'
+// font table:
+// https://gitlab.freedesktop.org/freetype/freetype/-/issues/1281
+CFNumberRef pFontFormat = 
static_cast(CTFontDescriptorCopyAttribute(pFD, 
kCTFontFormatAttribute));
+if (pFontFormat)
 {
 bool bSkipFont = false;
-CFStringRef pFontPath = CFURLCopyFileSystemPath(pFontURL, 
kCFURLPOSIXPathStyle);
-if (pFontPath)
+int nFontFormat;
+// At least for the PingFangUI.ttc font file, the font format is
+// different on macOS and iOS
+if (CFNumberGetValue(pFontFormat, kCFNumberIntType, &nFontFormat) && 
(nFontFormat == kCTFontFormatOpenTypeTrueType || nFontFormat == 
kCTFontFormatTrueType))
 {
-bSkipFont = CFStringHasPrefix(pFontPath, 
CFSTR("/System/Library/PrivateFrameworks/FontServices.framework/Resources/Reserved/"));
-CFRelease(pFontPath);
+CTFontRef pFont = CTFontCreateWithFontDescriptor(pFD, 0.0, 
nullptr);
+if (pFont)
+{
+CFArrayRef pFontTableTags = CTFontCopyAvailableTables(pFont, 
kCTFontTableOptionNoOptions);
+if (pFontTableTags)
+{
+bool bGlyfTableFound = false;
+bool bHvglTableFound = false;
+CFIndex nFontTableTagCount = 
CFArrayGetCount(pFontTableTags);
+for (CFIndex i = 0; i < nFontTableTagCount; i++)
+{
+CTFontTableTag nTag = 
reinterpret_cast(CFArrayGetValueAtIndex(pFontTableTags, i));
+if (nTag == kCTFontTableGlyf)
+{
+bGlyfTableFound = true;
+break;
+}
+else if (nTag == 'hvgl')
+{
+bHvglTableFound = true;
+}
+}
+bSkipFont = !bGlyfTableFound && bHvglTableFound;
+CFRelease(pFontTableTags);
+   

core.git: wizards/source

2024-10-02 Thread Jean-Pierre Ledure (via logerrit)
 wizards/source/scriptforge/python/scriptforge.pyi |2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

New commits:
commit 74b79b7ac1fb8be447d31e27691d4d6510fcb9e2
Author: Jean-Pierre Ledure 
AuthorDate: Wed Oct 2 16:25:51 2024 +0200
Commit: Adolfo Jayme Barrientos 
CommitDate: Wed Oct 2 17:53:55 2024 +0200

scriptforge.pyi - Typo

Change-Id: Ieff7ec790c457b1f4f67544d3f300fc68723d5aa
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/174393
Reviewed-by: Jean-Pierre Ledure 
Tested-by: Jenkins

diff --git a/wizards/source/scriptforge/python/scriptforge.pyi 
b/wizards/source/scriptforge/python/scriptforge.pyi
index 366da7084a07..0e5387a639ce 100644
--- a/wizards/source/scriptforge/python/scriptforge.pyi
+++ b/wizards/source/scriptforge/python/scriptforge.pyi
@@ -6095,7 +6095,7 @@ class SFDocuments:
 in the user interface can be read or modified.
 """
 
-ChartType: Literal['Pi', 'Bar', 'Donut', 'Column', 'Area', 'Line', 
'CY', 'Bubble', 'Net']
+ChartType: Literal['Pie', 'Bar', 'Donut', 'Column', 'Area', 'Line', 
'XY', 'Bubble', 'Net']
 """ Get/set the chart type as a string that can assume one of the 
following values: "Pie", "Bar", 
 "Donut", "Column", "Area", "Line", "XY", "Bubble", "Net". """
 Deep: bool


core.git: Branch 'distro/collabora/co-24.04' - vcl/quartz

2024-10-02 Thread Patrick Luby (via logerrit)
 vcl/quartz/SystemFontList.cxx |   54 +++---
 1 file changed, 41 insertions(+), 13 deletions(-)

New commits:
commit 71a448f55a0826c0356d569091a446141bc05ba0
Author: Patrick Luby 
AuthorDate: Mon Sep 30 19:58:56 2024 -0400
Commit: Miklos Vajna 
CommitDate: Thu Oct 3 08:33:07 2024 +0200

tdf#163000 don't add any fonts with an 'hvgl' font table

macOS Sequoia added a new PingFangUI.ttc font file which
contains all of the PingFang font families. However, any
fonts loaded from this font file result in the following
failures:

- Skia renders font with wrong glyphs
- Export to PDF contain a damaged embedded font

Despite the fact that the fonts in this new font file have
a TrueType font type, they are missing a 'glyf' font table
and, instead, have a new, undefined 'hvgl' font table. See
the following link for more details about the new 'hvgl'
font table:

https://gitlab.freedesktop.org/freetype/freetype/-/issues/1281

Change-Id: I18170b1b226de86f79402ad0e45df8620c693f83
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/174305
Reviewed-by: Patrick Luby 
Tested-by: Jenkins
Reviewed-by: Jonathan Clark 
Reviewed-by: خالد حسني 
(cherry picked from commit a4e9584c554ea018691b2c97d38cce3d83f8ea9a)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/174334
Tested-by: Jenkins CollaboraOffice 
Reviewed-by: Miklos Vajna 

diff --git a/vcl/quartz/SystemFontList.cxx b/vcl/quartz/SystemFontList.cxx
index c04c8fdd1f72..738dc393f748 100644
--- a/vcl/quartz/SystemFontList.cxx
+++ b/vcl/quartz/SystemFontList.cxx
@@ -212,29 +212,57 @@ static void fontEnumCallBack( const void* pValue, void* 
pContext )
 {
 CTFontDescriptorRef pFD = static_cast(pValue);
 
-// tdf#163000 don't add any fonts in the system "reserved fonts" folder
+// tdf#163000 don't add any fonts with an 'hvgl' font table
 // macOS Sequoia added a new PingFangUI.ttc font file which
 // contains all of the PingFang font families. However, any
 // fonts loaded from this font file result in the following
 // failures:
 // - Skia renders font with wrong glyphs
 // - Export to PDF contain a damaged embedded font
-// macOS Sequoia still has separate, downloadable Type 3
-// bitmap fonts for the PingFang font family so ignore
-// any fonts in the PingFangUI.ttc font file and, just to
-// be safe, ignore any other font files in the system
-// "reserved fonts" folder that may be added in the future.
-CFURLRef pFontURL = 
static_cast(CTFontDescriptorCopyAttribute(pFD, kCTFontURLAttribute));
-if (pFontURL)
+// Despite the fact that the fonts in this new font file have
+// a TrueType font type, they are missing a 'glyf' font table
+// and, instead, have a new, undefined 'hvgl' font table. See
+// the following link for more details about the new 'hvgl'
+// font table:
+// https://gitlab.freedesktop.org/freetype/freetype/-/issues/1281
+CFNumberRef pFontFormat = 
static_cast(CTFontDescriptorCopyAttribute(pFD, 
kCTFontFormatAttribute));
+if (pFontFormat)
 {
 bool bSkipFont = false;
-CFStringRef pFontPath = CFURLCopyFileSystemPath(pFontURL, 
kCFURLPOSIXPathStyle);
-if (pFontPath)
+int nFontFormat;
+// At least for the PingFangUI.ttc font file, the font format is
+// different on macOS and iOS
+if (CFNumberGetValue(pFontFormat, kCFNumberIntType, &nFontFormat) && 
(nFontFormat == kCTFontFormatOpenTypeTrueType || nFontFormat == 
kCTFontFormatTrueType))
 {
-bSkipFont = CFStringHasPrefix(pFontPath, 
CFSTR("/System/Library/PrivateFrameworks/FontServices.framework/Resources/Reserved/"));
-CFRelease(pFontPath);
+CTFontRef pFont = CTFontCreateWithFontDescriptor(pFD, 0.0, 
nullptr);
+if (pFont)
+{
+CFArrayRef pFontTableTags = CTFontCopyAvailableTables(pFont, 
kCTFontTableOptionNoOptions);
+if (pFontTableTags)
+{
+bool bGlyfTableFound = false;
+bool bHvglTableFound = false;
+CFIndex nFontTableTagCount = 
CFArrayGetCount(pFontTableTags);
+for (CFIndex i = 0; i < nFontTableTagCount; i++)
+{
+CTFontTableTag nTag = 
reinterpret_cast(CFArrayGetValueAtIndex(pFontTableTags, i));
+if (nTag == kCTFontTableGlyf)
+{
+bGlyfTableFound = true;
+break;
+}
+else if (nTag == 'hvgl')
+{
+bHvglTableFound = true;
+}
+}
+bSkipFont = !bGlyfTableFound && bHvglTableFound;
+CFRelease(pFontTa

core.git: svgio/source

2024-10-02 Thread Andrea Gelmini (via logerrit)
 svgio/source/svgreader/svgstyleattributes.cxx |2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

New commits:
commit 76e8a1a2d719b23a9bfd5533e163a0a49328df0b
Author: Andrea Gelmini 
AuthorDate: Wed Oct 2 19:35:28 2024 +0200
Commit: Andrea Gelmini 
CommitDate: Thu Oct 3 08:33:23 2024 +0200

Fix typo

Change-Id: I48ef74823ee2574439c977098f412d6a885af57d
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/174403
Tested-by: Jenkins
Reviewed-by: Andrea Gelmini 

diff --git a/svgio/source/svgreader/svgstyleattributes.cxx 
b/svgio/source/svgreader/svgstyleattributes.cxx
index 49e35be73cba..219c0a20161e 100644
--- a/svgio/source/svgreader/svgstyleattributes.cxx
+++ b/svgio/source/svgreader/svgstyleattributes.cxx
@@ -908,7 +908,7 @@ namespace svgio::svgreader
 rMarkerTransform.identity();
 rClipRange.reset();
 
-// Set the current style attibutes to the marker before calling 
getMarkerPrimitives,
+// Set the current style attributes to the marker before calling 
getMarkerPrimitives,
 // which calls decomposeSvgNode to decompose the children of the 
marker.
 // If any children uses 'context-fill' or 'context-stroke',
 // then these style attributes will be used in add_fill or 
add_stroke


core.git: sw/qa sw/source

2024-10-02 Thread Jonathan Clark (via logerrit)
 sw/qa/uitest/data/tdf134166.fodt|  111 
 sw/qa/uitest/writer_tests8/tdf134166.py |   68 +++
 sw/source/uibase/app/docstyle.cxx   |4 +
 3 files changed, 183 insertions(+)

New commits:
commit 3937143065b00fc0ec5709a41c2135c19a11fc4b
Author: Jonathan Clark 
AuthorDate: Wed Oct 2 20:49:53 2024 -0600
Commit: Jonathan Clark 
CommitDate: Thu Oct 3 06:19:40 2024 +0200

tdf#134166 sw: Fixed RTL/LTR toolbar buttons not updating

This change fixes an intermittent issue causing the text direction
toolbar button states to not reflect page text flow setting changes.

Change-Id: Ia20283b7efd4402dfa3b4ea9532d2b8ca6b1c8e0
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/174414
Reviewed-by: Jonathan Clark 
Tested-by: Jenkins

diff --git a/sw/qa/uitest/data/tdf134166.fodt b/sw/qa/uitest/data/tdf134166.fodt
new file mode 100644
index ..4f3a4a98670c
--- /dev/null
+++ b/sw/qa/uitest/data/tdf134166.fodt
@@ -0,0 +1,111 @@
+
+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">
+ 
2024-10-02T17:34:58.5008261310P0DLibreOfficeDev/25.2.0.0.alpha0$Linux_X86_64
 
LibreOffice_project/6d949b587b192ca572c187c1131e2a8947269337
+ 
+  
+  
+  
+ 
+ 
+  
+   
+   
+
+   
+   
+  
+  
+   
+   
+  
+  
+   
+  
+  
+   
+  
+  
+  
+   
+
+ 
+
+   
+   
+
+ 
+
+   
+   
+
+ 
+
+   
+   
+
+ 
+
+   
+   
+
+ 
+
+   
+   
+
+ 
+
+   
+   
+
+ 
+
+   
+   
+
+ 
+
+   
+   
+
+ 
+
+   
+   
+
+ 
+
+   
+  
+  
+  
+  
+  
+ 
+  
+   
+  
+  
+   
+
+   
+   
+   
+  
+ 
+ 
+  
+ 
+ 
+  
+   
+
+
+
+
+
+   
+   Test
+  
+ 
+
\ No newline at end of file
diff --git a/sw/qa/uitest/writer_tests8/tdf134166.py 
b/sw/qa/uitest/writer_tests8/tdf134166.py
new file mode 100644
index ..9b8599a8e0a2
--- /dev/null
+++ b/sw/qa/uitest/writer_tests8/tdf134166.py
@@ -0,0 +1,68 @@
+# -*- 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.uihelper.common import get_url_for_data_file
+from uitest.uihelper.common import select_by_text
+from uitest.uihelper.common import select_pos
+import uno
+import unohelper
+from com.sun.star.util import URL
+from com.sun.star.frame import XStatusListener
+
+class ValueStatusListener(XStatusListener, unohelper.Base):
+def __init__(self, xContext, xModel, url):
+self.State = None
+self.url = URL()
+self.url.Co