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

2022-06-03 Thread Eike Rathke (via logerrit)
 sc/source/core/data/simpleformulacalc.cxx |2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

New commits:
commit 5d47d2a493b4b2aa928efc99186ab3e3e894374c
Author: Eike Rathke 
AuthorDate: Fri Jun 3 20:53:01 2022 +0200
Commit: Eike Rathke 
CommitDate: Sat Jun 4 00:41:11 2022 +0200

Function Wizard: increase display length of array results

So if the dialog is widened the Structure tab can display more
details.

Change-Id: I857ca525fea8badc229328ab4c822b7de0b2cc0b
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/135369
Reviewed-by: Eike Rathke 
Tested-by: Jenkins

diff --git a/sc/source/core/data/simpleformulacalc.cxx 
b/sc/source/core/data/simpleformulacalc.cxx
index 4b999f2ac09a..102373d5a94a 100644
--- a/sc/source/core/data/simpleformulacalc.cxx
+++ b/sc/source/core/data/simpleformulacalc.cxx
@@ -15,7 +15,7 @@
 #include 
 #include 
 
-#define DISPLAY_LEN 15
+#define DISPLAY_LEN 66
 
 ScSimpleFormulaCalculator::ScSimpleFormulaCalculator( ScDocument& rDoc, const 
ScAddress& rAddr,
 const OUString& rFormula, bool bMatrixFormula, 
formula::FormulaGrammar::Grammar eGram )


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

2022-06-03 Thread Eike Rathke (via logerrit)
 sc/source/core/data/simpleformulacalc.cxx |   11 +++
 1 file changed, 7 insertions(+), 4 deletions(-)

New commits:
commit 198ceb02bcd091f69b10e7ee5ca0d8e54119e9ff
Author: Eike Rathke 
AuthorDate: Fri Jun 3 21:18:04 2022 +0200
Commit: Eike Rathke 
CommitDate: Sat Jun 4 00:21:26 2022 +0200

Function Wizard: use actual array separators to truncate result

... instead of hard coded ',' and ';'. And truncate / append "..."
after separator, not at.

Change-Id: I62f8c00f108165102d3b6a8b73b82774b8973a67
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/135370
Reviewed-by: Eike Rathke 
Tested-by: Jenkins

diff --git a/sc/source/core/data/simpleformulacalc.cxx 
b/sc/source/core/data/simpleformulacalc.cxx
index 5959d08318d2..4b999f2ac09a 100644
--- a/sc/source/core/data/simpleformulacalc.cxx
+++ b/sc/source/core/data/simpleformulacalc.cxx
@@ -64,12 +64,15 @@ void ScSimpleFormulaCalculator::Calculate()
 
 if (mbLimitString)
 {
-size_t n = aStr.getLength();
-for (size_t i = DISPLAY_LEN; i < n; ++i)
+const sal_Unicode cCol = 
ScCompiler::GetNativeSymbol(ocArrayColSep)[0];
+const sal_Unicode cRow = 
ScCompiler::GetNativeSymbol(ocArrayRowSep)[0];
+const sal_Int32 n = aStr.getLength();
+for (sal_Int32 i = DISPLAY_LEN; i < n; ++i)
 {
-if (aStr[i] == ',' || aStr[i] == ';')
+const sal_Unicode c = aStr[i];
+if (c == cCol || c == cRow)
 {
-aStr.truncate(i);
+aStr.truncate(i+1);
 aStr.append("...");
 break;
 }


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

2022-06-03 Thread Xisco Fauli (via logerrit)
 sc/qa/unit/uicalc/uicalc.cxx |   24 
 1 file changed, 24 insertions(+)

New commits:
commit c2a4a7a94887b5ea24e9ba7cfa062842a89e1b4e
Author: Xisco Fauli 
AuthorDate: Fri Jun 3 20:39:44 2022 +0200
Commit: Xisco Fauli 
CommitDate: Fri Jun 3 23:09:00 2022 +0200

tdf#149378: sc_uicalc: Add unittest, follow-up

This commit also tests

- 6079bf6879c4baf144b68ef459d825412ecea697
"Add binary operators to ForceArrayReturn handling, tdf#149378
follow-up"

- a15ce15709acee3b46fb9f7d6836c57f6e1ef9a7
"Propagate ForceArrayReturn only for Value parameters, tdf#149378
follow-up"

- bac202275b1bf1abe4277daf35f74ff973c23483
"Propagate inline array only for Value parameters, tdf#149378 follow-up"

based on their commit description

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

diff --git a/sc/qa/unit/uicalc/uicalc.cxx b/sc/qa/unit/uicalc/uicalc.cxx
index 863221f090ff..32981fb3a0fe 100644
--- a/sc/qa/unit/uicalc/uicalc.cxx
+++ b/sc/qa/unit/uicalc/uicalc.cxx
@@ -2964,6 +2964,30 @@ CPPUNIT_TEST_FIXTURE(ScUiCalcTest, testTdf149378)
 // - Expected: {=MINVERSE(A1:C3)}
 // - Actual  : =MINVERSE(A1:C3)
 CPPUNIT_ASSERT_EQUAL(OUString("{=MINVERSE(A1:C3)}"), pDoc->GetFormula(0, 
0, 0));
+
+insertStringToCell(*pModelObj, "B1", "={1;2}");
+CPPUNIT_ASSERT_EQUAL(OUString("{={1;2}}"), pDoc->GetFormula(1, 0, 0));
+
+insertStringToCell(*pModelObj, "C1", "={1;2}+3");
+CPPUNIT_ASSERT_EQUAL(OUString("{={1;2}+3}"), pDoc->GetFormula(2, 0, 0));
+
+insertStringToCell(*pModelObj, "D1", "={1;2}+{3;4}");
+CPPUNIT_ASSERT_EQUAL(OUString("{={1;2}+{3;4}}"), pDoc->GetFormula(3, 0, 
0));
+
+insertStringToCell(*pModelObj, "E1", "={1;2}+A1");
+CPPUNIT_ASSERT_EQUAL(OUString("{={1;2}+A1}"), pDoc->GetFormula(4, 0, 0));
+
+insertStringToCell(*pModelObj, "F1", "={1;2}+A1:A2");
+CPPUNIT_ASSERT_EQUAL(OUString("={1;2}+A1:A2"), pDoc->GetFormula(5, 0, 0));
+
+insertStringToCell(*pModelObj, "G1", "=SUM(MUNIT(3))");
+CPPUNIT_ASSERT_EQUAL(OUString("=SUM(MUNIT(3))"), pDoc->GetFormula(6, 0, 
0));
+
+insertStringToCell(*pModelObj, "H1", "=SUM({1;2})");
+CPPUNIT_ASSERT_EQUAL(OUString("=SUM({1;2})"), pDoc->GetFormula(7, 0, 0));
+
+insertStringToCell(*pModelObj, "I1", "=ABS({-1;-2})");
+CPPUNIT_ASSERT_EQUAL(OUString("{=ABS({-1;-2})}"), pDoc->GetFormula(8, 0, 
0));
 }
 
 CPPUNIT_TEST_FIXTURE(ScUiCalcTest, testTdf126926)


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

2022-06-03 Thread Noel Grandin (via logerrit)
 unotools/source/config/useroptions.cxx |6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

New commits:
commit a3d4f7e8fb714aa987c542c8d6c8822a41818701
Author: Noel Grandin 
AuthorDate: Fri Jun 3 21:42:56 2022 +0200
Commit: Noel Grandin 
CommitDate: Fri Jun 3 23:03:07 2022 +0200

tdf#146988 Opening at cursor position doesn't work in large documents

regression from
commit 07021596acb3d104ba129d371b1ae0b79f67a6a4 (HEAD)
Date:   Sat Jun 12 18:57:51 2021 +0200
tdf#142242 Forename imported with trailing space

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

diff --git a/unotools/source/config/useroptions.cxx 
b/unotools/source/config/useroptions.cxx
index 61273bfbe9fb..fb8b24d9f05c 100644
--- a/unotools/source/config/useroptions.cxx
+++ b/unotools/source/config/useroptions.cxx
@@ -221,7 +221,7 @@ OUString SvtUserOptions::Impl::GetFullName () const
 sFullName += o3tl::trim(GetToken(UserOptToken::FathersName));
 if (!sFullName.isEmpty())
 sFullName += " ";
-sFullName += GetToken(UserOptToken::LastName);
+sFullName += o3tl::trim(GetToken(UserOptToken::LastName));
 }
 else
 {
@@ -230,14 +230,14 @@ OUString SvtUserOptions::Impl::GetFullName () const
 sFullName = GetToken(UserOptToken::LastName).trim();
 if (!sFullName.isEmpty())
 sFullName += " ";
-sFullName += GetToken(UserOptToken::FirstName);
+sFullName += o3tl::trim(GetToken(UserOptToken::FirstName));
 }
 else
 {
 sFullName = GetToken(UserOptToken::FirstName).trim();
 if (!sFullName.isEmpty())
 sFullName += " ";
-sFullName += GetToken(UserOptToken::LastName);
+sFullName += o3tl::trim(GetToken(UserOptToken::LastName));
 }
 }
 sFullName = sFullName.trim();


Re: Crash test update

2022-06-03 Thread Caolán McNamara
On Fri, 2022-06-03 at 19:35 +, crashtest wrote:
> Hi,
> 
> New crashtest update available at
>  d15c5ceea70aee7fb/>.
> 
> 4 files have crashed during import.
> 2 files have crashed during export.

Progress!, 4 bts give
1 SwObjectFormatterTextFrame::GetFirstObjWithMovedFwdAnchor
2 two FastSaxSerializer::endFastElement asserts
1 mark::FindFieldSep

Something somewhere along the line appears to have wiped out the
ModelToViewHelper::ModelToViewHelper crash seen frequently in the past
like
https://dev-builds.libreoffice.org/crashtest/b4bf19321ed9ce2d0e49341193690fef0c7085ea/backtraces/task1137-core.backtrace.txt




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

2022-06-03 Thread Aron Budea (via logerrit)
 vcl/source/window/layout.cxx |6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

New commits:
commit 08850dbead8a8a797965aaa97d43d639bc0814d3
Author: Aron Budea 
AuthorDate: Fri Jun 3 18:22:12 2022 +0200
Commit: Aron Budea 
CommitDate: Fri Jun 3 21:10:42 2022 +0200

Related: tdf#147844 still log the discrepancy

Change-Id: Iaed261c5b85ce507fb30b572eb08f09c89dda3e4
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/135367
Tested-by: Jenkins
Reviewed-by: Xisco Fauli 
Reviewed-by: Aron Budea 

diff --git a/vcl/source/window/layout.cxx b/vcl/source/window/layout.cxx
index 4c9b23dbdb94..7ee87733c503 100644
--- a/vcl/source/window/layout.cxx
+++ b/vcl/source/window/layout.cxx
@@ -285,11 +285,11 @@ void VclBox::setAllocation(const Size &rAllocation)
 // is sent as bitmap but it is rendered from only the visible part
 // when it gets negative, it shrinks instead of expands and it becomes 
invisible
 
-if( comphelper::LibreOfficeKit::isActive() )
+if (nExtraSpace < 0)
 {
-if (nExtraSpace < 0)
+SAL_WARN("vcl.layout", "nExtraSpace went negative for VclBox: " << 
GetHelpId());
+if (comphelper::LibreOfficeKit::isActive())
 {
-SAL_WARN("vcl.layout", "nExtraSpace went negative, setting to 
zero for VclBox: " << GetHelpId());
 nExtraSpace = 0;
 }
 }


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

2022-06-03 Thread Caolán McNamara (via logerrit)
 vcl/source/filter/itiff/itiff.cxx |4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

New commits:
commit 3b5f43a82309007cddec8a953cfb46b5ea1f3c9d
Author: Caolán McNamara 
AuthorDate: Fri Jun 3 15:53:24 2022 +0100
Commit: Caolán McNamara 
CommitDate: Fri Jun 3 20:48:12 2022 +0200

ofz#47781 Out of memory

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

diff --git a/vcl/source/filter/itiff/itiff.cxx 
b/vcl/source/filter/itiff/itiff.cxx
index 1a7e48d1a3e9..74c0b55b1b59 100644
--- a/vcl/source/filter/itiff/itiff.cxx
+++ b/vcl/source/filter/itiff/itiff.cxx
@@ -150,7 +150,9 @@ bool ImportTiffGraphicImport(SvStream& rTIFF, Graphic& 
rGraphic)
 }
 
 uint32_t nPixelsRequired;
-bool bOk = !o3tl::checked_multiply(w, h, nPixelsRequired) && 
nPixelsRequired <= SAL_MAX_INT32/4;
+constexpr size_t nMaxPixelsAllowed = SAL_MAX_INT32/4;
+// two buffers currently required, so limit further
+bool bOk = !o3tl::checked_multiply(w, h, nPixelsRequired) && 
nPixelsRequired <= nMaxPixelsAllowed / 2;
 if (!bOk)
 {
 SAL_WARN("filter.tiff", "skipping oversized tiff image " << w << " 
x " << h);


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

2022-06-03 Thread Xisco Fauli (via logerrit)
 sc/qa/unit/uicalc/uicalc.cxx |   16 
 1 file changed, 16 insertions(+)

New commits:
commit b72c0abac105d2c921e3e5d3e36d5cf2e5ccdbb2
Author: Xisco Fauli 
AuthorDate: Fri Jun 3 16:44:02 2022 +0200
Commit: Xisco Fauli 
CommitDate: Fri Jun 3 19:32:23 2022 +0200

tdf#149378: sc_uicalc: Add unittest

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

diff --git a/sc/qa/unit/uicalc/uicalc.cxx b/sc/qa/unit/uicalc/uicalc.cxx
index 6b8a312a7bd9..863221f090ff 100644
--- a/sc/qa/unit/uicalc/uicalc.cxx
+++ b/sc/qa/unit/uicalc/uicalc.cxx
@@ -2950,6 +2950,22 @@ CPPUNIT_TEST_FIXTURE(ScUiCalcTest, testTdf99386)
 CPPUNIT_ASSERT_EQUAL(OUString("This"), pDoc->GetString(ScAddress(1, 1, 
0)));
 }
 
+CPPUNIT_TEST_FIXTURE(ScUiCalcTest, testTdf149378)
+{
+mxComponent = loadFromDesktop("private:factory/scalc");
+ScModelObj* pModelObj = dynamic_cast(mxComponent.get());
+CPPUNIT_ASSERT(pModelObj);
+ScDocument* pDoc = pModelObj->GetDocument();
+CPPUNIT_ASSERT(pDoc);
+
+insertStringToCell(*pModelObj, "A1", "=MINVERSE(A1:C3)");
+
+// Without the fix in place, this test would have failed with
+// - Expected: {=MINVERSE(A1:C3)}
+// - Actual  : =MINVERSE(A1:C3)
+CPPUNIT_ASSERT_EQUAL(OUString("{=MINVERSE(A1:C3)}"), pDoc->GetFormula(0, 
0, 0));
+}
+
 CPPUNIT_TEST_FIXTURE(ScUiCalcTest, testTdf126926)
 {
 mxComponent = loadFromDesktop("private:factory/scalc");


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

2022-06-03 Thread Noel Grandin (via logerrit)
 include/svl/cryptosign.hxx |5 +++--
 include/svl/custritm.hxx   |5 +++--
 include/svl/instrm.hxx |2 +-
 include/svl/itemprop.hxx   |5 +++--
 include/svl/lockfilecommon.hxx |2 +-
 include/svl/macitem.hxx|9 +
 include/svl/outstrm.hxx|2 +-
 include/svl/style.hxx  |2 +-
 include/svl/urlbmk.hxx |5 +++--
 svl/source/inc/poolio.hxx  |5 +++--
 svl/source/items/macitem.cxx   |5 +++--
 svl/source/items/style.cxx |5 +++--
 svl/source/misc/lockfilecommon.cxx |5 +++--
 svl/source/misc/strmadpt.cxx   |   10 +-
 svl/source/numbers/numfmuno.cxx|   13 +++--
 svl/source/numbers/numfmuno.hxx|6 +++---
 svl/source/numbers/supservs.cxx|5 +++--
 svl/source/numbers/supservs.hxx|2 +-
 svl/source/passwordcontainer/passwordcontainer.hxx |   13 +++--
 svl/source/undo/undo.cxx   |9 +
 20 files changed, 64 insertions(+), 51 deletions(-)

New commits:
commit 5a6b4b4f288621772991269180aa3a2c01af
Author: Noel Grandin 
AuthorDate: Fri Jun 3 14:13:33 2022 +0200
Commit: Noel Grandin 
CommitDate: Fri Jun 3 18:32:32 2022 +0200

clang-tidy modernize-pass-by-value in svl

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

diff --git a/include/svl/cryptosign.hxx b/include/svl/cryptosign.hxx
index 5c971cc99f07..3bb682916edc 100644
--- a/include/svl/cryptosign.hxx
+++ b/include/svl/cryptosign.hxx
@@ -9,6 +9,7 @@
 
 #include 
 
+#include 
 #include 
 
 #include 
@@ -48,8 +49,8 @@ class SVL_DLLPUBLIC Signing
 {
 public:
 
-Signing(const css::uno::Reference& 
xCertificate) :
-m_xCertificate(xCertificate)
+Signing(css::uno::Reference xCertificate) :
+m_xCertificate(std::move(xCertificate))
 {
 }
 
diff --git a/include/svl/custritm.hxx b/include/svl/custritm.hxx
index d46fe011ad6c..90215aff45d3 100644
--- a/include/svl/custritm.hxx
+++ b/include/svl/custritm.hxx
@@ -23,6 +23,7 @@
 #include 
 #include 
 #include 
+#include 
 
 class SVL_DLLPUBLIC CntUnencodedStringItem: public SfxPoolItem
 {
@@ -33,8 +34,8 @@ public:
 CntUnencodedStringItem(sal_uInt16 which): SfxPoolItem(which)
 {}
 
-CntUnencodedStringItem(sal_uInt16 which, const OUString & rTheValue):
-SfxPoolItem(which), m_aValue(rTheValue)
+CntUnencodedStringItem(sal_uInt16 which, OUString aTheValue):
+SfxPoolItem(which), m_aValue(std::move(aTheValue))
 {}
 
 virtual bool operator ==(const SfxPoolItem & rItem) const override;
diff --git a/include/svl/instrm.hxx b/include/svl/instrm.hxx
index 6ddccfeaf3c5..66f30a107a05 100644
--- a/include/svl/instrm.hxx
+++ b/include/svl/instrm.hxx
@@ -53,7 +53,7 @@ class SVL_DLLPUBLIC SvInputStream final : public SvStream
 SVL_DLLPRIVATE virtual void SetSize(sal_uInt64) override;
 
 public:
-SvInputStream( css::uno::Reference< css::io::XInputStream > const & 
rTheStream );
+SvInputStream( css::uno::Reference< css::io::XInputStream > xTheStream );
 
 virtual ~SvInputStream() override;
 };
diff --git a/include/svl/itemprop.hxx b/include/svl/itemprop.hxx
index 12954a1324b0..08207f1b173e 100644
--- a/include/svl/itemprop.hxx
+++ b/include/svl/itemprop.hxx
@@ -27,6 +27,7 @@
 #include 
 #include 
 #include 
+#include 
 
 // values from com/sun/star/beans/PropertyAttribute
 #define PROPERTY_NONE 0
@@ -44,9 +45,9 @@ struct SfxItemPropertyMapEntry
 sal_uInt8   nMemberId;
 PropertyMoreFlags   nMoreFlags;
 
-SfxItemPropertyMapEntry(const OUString & _aName, sal_uInt16 _nWID, 
css::uno::Type const & _rType,
+SfxItemPropertyMapEntry(OUString _aName, sal_uInt16 _nWID, css::uno::Type 
const & _rType,
sal_Int16 _nFlags, sal_uInt8 const _nMemberId, 
PropertyMoreFlags _nMoreFlags = PropertyMoreFlags::NONE)
-: aName(  _aName )
+: aName(std::move( _aName ))
 , aType( _rType )
 , nWID(  _nWID )
 , nFlags(_nFlags )
diff --git a/include/svl/lockfilecommon.hxx b/include/svl/lockfilecommon.hxx
index 054e723ee01d..d71cb8262e92 100644
--- a/include/svl/lockfilecommon.hxx
+++ b/include/svl/lockfilecommon.hxx
@@ -53,7 +53,7 @@ protected:
 static OUString GenerateOwnLockFileURL(std::u16string_view aOrigURL, 
std::u16string_view aPrefix);
 
 public:
-LockFileCommon(const OUString& aLockFileURL);
+LockFileCommon(OUString aLockFileURL);
 virtual ~LockFileCommon();
 
 cons

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

2022-06-03 Thread Andrea Gelmini (via logerrit)
 desktop/source/deployment/gui/dp_gui_updatedialog.cxx |2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

New commits:
commit f0b7b388ae06d95007b69812bcf844ac9bed15c4
Author: Andrea Gelmini 
AuthorDate: Fri Jun 3 12:59:00 2022 +0200
Commit: Noel Grandin 
CommitDate: Fri Jun 3 18:32:13 2022 +0200

Fix typo in code

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

diff --git a/desktop/source/deployment/gui/dp_gui_updatedialog.cxx 
b/desktop/source/deployment/gui/dp_gui_updatedialog.cxx
index b1070cfe10ae..2861d77856ca 100644
--- a/desktop/source/deployment/gui/dp_gui_updatedialog.cxx
+++ b/desktop/source/deployment/gui/dp_gui_updatedialog.cxx
@@ -117,7 +117,7 @@ struct UpdateDialog::IgnoredUpdate {
 OUString sExtensionID;
 OUString sVersion;
 
-IgnoredUpdate( OUString axtensionID, OUString aersion );
+IgnoredUpdate( OUString aExtensionID, OUString aVersion );
 };
 
 


[Libreoffice-commits] core.git: download.lst external/libtiff

2022-06-03 Thread Caolán McNamara (via logerrit)
 download.lst|4 ++--
 external/libtiff/UnpackedTarball_libtiff.mk |1 -
 external/libtiff/ubsan.patch|   11 ---
 3 files changed, 2 insertions(+), 14 deletions(-)

New commits:
commit 4c3b44fd1e4473ba3e4bd02042849bd0cd876915
Author: Caolán McNamara 
AuthorDate: Fri Jun 3 14:09:11 2022 +0100
Commit: Caolán McNamara 
CommitDate: Fri Jun 3 18:03:12 2022 +0200

upgrade libtiff to 4.4.0

dropping ubsan.patch which was fixed upstream in this release

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

diff --git a/download.lst b/download.lst
index c1a76e0cb0ad..257c1248bd0e 100644
--- a/download.lst
+++ b/download.lst
@@ -208,8 +208,8 @@ export PIXMAN_SHA256SUM := 
6d200dec3740d9ec4ec8d1180e25779c00bc749f94278c8b9021f
 export PIXMAN_TARBALL := pixman-0.40.0.tar.gz
 export LIBPNG_SHA256SUM := 
505e70834d35383537b6491e7ae8641f1a4bed1876dbfe361201fc80868d88ca
 export LIBPNG_TARBALL := libpng-1.6.37.tar.xz
-export LIBTIFF_SHA256SUM := 
0e46e5acb087ce7d1ac53cf4f56a09b221537fc86dfc5daaad1c2e89e1b37ac8
-export LIBTIFF_TARBALL := tiff-4.3.0.tar.gz
+export LIBTIFF_SHA256SUM := 
49307b510048ccc7bc40f2cba6e8439182fe6e654057c1a1683139bf2ecb1dc1
+export LIBTIFF_TARBALL := tiff-4.4.0.tar.xz
 export POPPLER_SHA256SUM := 
7d3493056b5b86413e5c693c2cae02c5c06cd8e618d14c2c31e2c84b67b2313e
 export POPPLER_TARBALL := poppler-22.01.0.tar.xz
 export POPPLER_DATA_SHA256SUM := 
2cec05cd1bb03af98a8b06a1e22f6e6e1a65b1e2f3816cb3069bb0874825f08c
diff --git a/external/libtiff/UnpackedTarball_libtiff.mk 
b/external/libtiff/UnpackedTarball_libtiff.mk
index f874d6d61743..ee3d4ab6cb27 100644
--- a/external/libtiff/UnpackedTarball_libtiff.mk
+++ b/external/libtiff/UnpackedTarball_libtiff.mk
@@ -16,7 +16,6 @@ $(eval $(call gb_UnpackedTarball_set_patchlevel,libtiff,0))
 $(eval $(call gb_UnpackedTarball_add_patches,libtiff,\
 external/libtiff/libtiff.linknolibs.patch \
 external/libtiff/libtiff.16bitcielab.patch \
-external/libtiff/ubsan.patch \
 ))
 
 # vim: set noet sw=4 ts=4:
diff --git a/external/libtiff/ubsan.patch b/external/libtiff/ubsan.patch
deleted file mode 100644
index 853d069ad795..
--- a/external/libtiff/ubsan.patch
+++ /dev/null
@@ -1,11 +0,0 @@
 libtiff/tif_dirread.c
-+++ libtiff/tif_dirread.c
-@@ -4173,7 +4173,7 @@
- goto bad;
- }
- 
--memcpy(new_sampleinfo, tif->tif_dir.td_sampleinfo, 
old_extrasamples * sizeof(uint16_t));
-+if (old_extrasamples != 0) memcpy(new_sampleinfo, 
tif->tif_dir.td_sampleinfo, old_extrasamples * sizeof(uint16_t));
- _TIFFsetShortArray(&tif->tif_dir.td_sampleinfo, 
new_sampleinfo, tif->tif_dir.td_extrasamples);
- _TIFFfree(new_sampleinfo);
- }


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

2022-06-03 Thread Eike Rathke (via logerrit)
 formula/source/core/api/FormulaCompiler.cxx |   66 ++--
 formula/source/core/api/token.cxx   |2 
 2 files changed, 55 insertions(+), 13 deletions(-)

New commits:
commit 6079bf6879c4baf144b68ef459d825412ecea697
Author: Eike Rathke 
AuthorDate: Fri Jun 3 15:57:12 2022 +0200
Commit: Eike Rathke 
CommitDate: Fri Jun 3 17:21:22 2022 +0200

Add binary operators to ForceArrayReturn handling, tdf#149378 follow-up

So ={1;2} or =-{1;2} or ={1;2}+3 or ={1;2}+{3;4} or ={1;2}+A1 are
propagated. But ={1;2}+A1:A2 is not because the range reference
should be implicit intersection not to be forced to array mode
unless user says so.

This also adds low level ocPush with svMatrix returning always
ParamClass::ForceArrayReturn in FormulaToken::GetInForceArray() so
any derived like ScMatrixToken inherit that.

Change-Id: Ida24414a795d6609bf01e361f96438f9e7f7f66c
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/135360
Reviewed-by: Eike Rathke 
Tested-by: Jenkins

diff --git a/formula/source/core/api/FormulaCompiler.cxx 
b/formula/source/core/api/FormulaCompiler.cxx
index e74284ae89f2..4b6495826d48 100644
--- a/formula/source/core/api/FormulaCompiler.cxx
+++ b/formula/source/core/api/FormulaCompiler.cxx
@@ -2783,19 +2783,25 @@ formula::ParamClass 
FormulaCompiler::GetForceArrayParameter( const FormulaToken*
 
 void FormulaCompiler::ForceArrayOperator( FormulaTokenRef const & rCurr )
 {
-if (rCurr->GetInForceArray() != ParamClass::Unknown)
-// Already set, unnecessary to evaluate again. This happens by calls to
-// CurrentFactor::operator=() while descending through Factor() and
-// then ascending back (and down and up, ...),
-// CheckSetForceArrayParameter() and later PutCode().
+if (pCurrentFactorToken.get() == rCurr.get())
 return;
 
 const OpCode eOp = rCurr->GetOpCode();
 const StackVar eType = rCurr->GetType();
-bool bInlineArray = false;
-if (!(eOp != ocPush && (eType == svByte || eType == svJump))
-&& !(bInlineArray = (eOp == ocPush && eType == svMatrix)))
-return;
+const bool bInlineArray = (eOp == ocPush && eType == svMatrix);
+
+if (!bInlineArray)
+{
+if (rCurr->GetInForceArray() != ParamClass::Unknown)
+// Already set, unnecessary to evaluate again. This happens by 
calls to
+// CurrentFactor::operator=() while descending through Factor() and
+// then ascending back (and down and up, ...),
+// CheckSetForceArrayParameter() and later PutCode().
+return;
+
+if (!(eOp != ocPush && (eType == svByte || eType == svJump)))
+return;
+}
 
 // Return class for inline arrays and functions returning array/matrix.
 // It's somewhat unclear what Excel actually does there and in
@@ -2815,7 +2821,8 @@ void FormulaCompiler::ForceArrayOperator( FormulaTokenRef 
const & rCurr )
 
 if (bInlineArray)
 {
-// rCurr->SetInForceArray() can not be used with ocPush.
+// rCurr->SetInForceArray() can not be used with ocPush, but ocPush
+// with svMatrix has an implicit ParamClass::ForceArrayReturn.
 if (nCurrentFactorParam > 0 && pCurrentFactorToken
 && pCurrentFactorToken->GetInForceArray() == 
ParamClass::Unknown
 && GetForceArrayParameter( pCurrentFactorToken.get(), 
static_cast(nCurrentFactorParam - 1))
@@ -2828,15 +2835,50 @@ void FormulaCompiler::ForceArrayOperator( 
FormulaTokenRef const & rCurr )
 return;
 }
 
-if (!pCurrentFactorToken || (pCurrentFactorToken.get() == rCurr.get()))
+if (!pCurrentFactorToken)
 {
-if (!pCurrentFactorToken && mbMatrixFlag)
+if (mbMatrixFlag)
 {
 // An array/matrix formula acts as ForceArray on all top level
 // operators and function calls, so that can be inherited properly
 // below.
 rCurr->SetInForceArray( ParamClass::ForceArray);
 }
+else if (pc >= 2 && SC_OPCODE_START_BIN_OP <= eOp && eOp < 
SC_OPCODE_STOP_BIN_OP)
+{
+// Binary operators are not functions followed by arguments
+// and need some peeking into RPN to inspect their operands.
+// Note that array context is not forced if only one
+// of the operands is an array like "={1;2}+A1:A2" returns #VALUE!
+// if entered in column A and not input in array mode, because it
+// involves a range reference with an implicit intersection. Check
+// both arguments are arrays, or the other is ocPush without ranges
+// for "={1;2}+3" or "={1;2}+A1".
+// Note this does not catch "={1;2}+ABS(A1)" that could be forced
+// to array, user still has to close in array mode.
+// The IsMatrixFunction() is only necessary because not all
+// 

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

2022-06-03 Thread Roman Kuznetsov (via logerrit)
 basic/source/runtime/methods.cxx |   18 --
 1 file changed, 8 insertions(+), 10 deletions(-)

New commits:
commit f30af7b3516d783d717745b63134499ea0d049fc
Author: Roman Kuznetsov 
AuthorDate: Fri Jun 3 14:30:32 2022 +0200
Commit: Roman Kuznetsov 
CommitDate: Fri Jun 3 16:36:32 2022 +0200

tdf#147132 Flatten Basic function

Change-Id: I1e445a565dc9c45810e85b045e68db08a56207f9
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/135271
Tested-by: Jenkins
Reviewed-by: Roman Kuznetsov 

diff --git a/basic/source/runtime/methods.cxx b/basic/source/runtime/methods.cxx
index c6d12c3c033f..2761caba0309 100644
--- a/basic/source/runtime/methods.cxx
+++ b/basic/source/runtime/methods.cxx
@@ -771,17 +771,15 @@ void SbRtl_Hex(StarBASIC *, SbxArray & rPar, bool)
 {
 if (rPar.Count() < 2)
 {
-StarBASIC::Error( ERRCODE_BASIC_BAD_ARGUMENT );
-}
-else
-{
-SbxVariableRef pArg = rPar.Get(1);
-// converting value to unsigned and limit to 2 or 4 byte representation
-sal_uInt32 nVal = pArg->IsInteger() ?
-static_cast(pArg->GetInteger()) :
-static_cast(pArg->GetLong());
-rPar.Get(0)->PutString(OUString::number(nVal, 16).toAsciiUpperCase());
+return StarBASIC::Error( ERRCODE_BASIC_BAD_ARGUMENT );
 }
+
+SbxVariableRef pArg = rPar.Get(1);
+// converting value to unsigned and limit to 2 or 4 byte representation
+sal_uInt32 nVal = pArg->IsInteger() ?
+static_cast(pArg->GetInteger()) :
+static_cast(pArg->GetLong());
+rPar.Get(0)->PutString(OUString::number(nVal, 16).toAsciiUpperCase());
 }
 
 void SbRtl_FuncCaller(StarBASIC *, SbxArray & rPar, bool)


Re: [Libreoffice-qa] ESC meeting minutes: 2022-06-02

2022-06-03 Thread Xisco Fauli

Hello,

On 2/6/22 16:53, Miklos Vajna wrote:

* Under-loved areas of the codebase (Michael M)
  + got plenty of good feedback (Caolan)
  + got lots of a11y feedback, want to summarize in the wiki
https://wiki.documentfoundation.org/Development/Under-loved_areas
  + RTL summary for the wiki will be added (Hossein)
  + X-Forms feature is under-loved too
  + some people might use it and care (Miklos)
  + I added a list of commits per module (Michael)
  + is there a bugs/LOC metric ? 


I added a couple of files to 
https://wiki.documentfoundation.org/Development/Under-loved_areas#Commits_per_LOC_sheet 
with some stats


    * First file is pretty similar to Michael's but only counts the 
commits with a reference to a Bugzilla ticket in their message


    * Second file contains some data from Bugzilla about bugs reported 
in 2021 and their current status ( open, fixed or other )


if needed, I can get other type of information from Bugzilla.

I hope it helps.

Regards

--
Xisco Faulí
LibreOffice QA Team
IRC: x1sc0



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

2022-06-03 Thread Eike Rathke (via logerrit)
 formula/source/core/api/FormulaCompiler.cxx |4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

New commits:
commit a15ce15709acee3b46fb9f7d6836c57f6e1ef9a7
Author: Eike Rathke 
AuthorDate: Fri Jun 3 14:18:30 2022 +0200
Commit: Eike Rathke 
CommitDate: Fri Jun 3 15:34:54 2022 +0200

Propagate ForceArrayReturn only for Value parameters, tdf#149378 follow-up

So in SUM(MUNIT(3)) the SUM does not get ForceArrayReturn.

Same as in

commit bac202275b1bf1abe4277daf35f74ff973c23483
CommitDate: Fri Jun 3 13:08:11 2022 +0200

Propagate inline array only for Value parameters, tdf#149378 
follow-up

Change-Id: I60b17352c6e2f4fe608070c07f538456ed863156
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/135358
Reviewed-by: Eike Rathke 
Tested-by: Jenkins

diff --git a/formula/source/core/api/FormulaCompiler.cxx 
b/formula/source/core/api/FormulaCompiler.cxx
index cf2cc01b4584..e74284ae89f2 100644
--- a/formula/source/core/api/FormulaCompiler.cxx
+++ b/formula/source/core/api/FormulaCompiler.cxx
@@ -2885,8 +2885,8 @@ void FormulaCompiler::ForceArrayOperator( FormulaTokenRef 
const & rCurr )
 
 // Propagate a ForceArrayReturn to caller if the called function
 // returns one and the caller so far does not have a stronger array
-// mode set.
-if (pCurrentFactorToken->GetInForceArray() == ParamClass::Unknown)
+// mode set and expects a scalar value for this parameter.
+if (eParamType == ParamClass::Value && 
pCurrentFactorToken->GetInForceArray() == ParamClass::Unknown)
 {
 if (IsMatrixFunction( eOp))
 pCurrentFactorToken->SetInForceArray( eArrayReturn);


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

2022-06-03 Thread Stephan Bergmann (via logerrit)
 sot/source/sdstor/stgole.cxx |3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

New commits:
commit ae5b06e346ca01bfbc0370632750e5a7c6154e46
Author: Stephan Bergmann 
AuthorDate: Fri Jun 3 13:48:58 2022 +0200
Commit: Stephan Bergmann 
CommitDate: Fri Jun 3 15:11:05 2022 +0200

Use o3tl::make_unsigned, nStrLen is known to be non-negative here

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

diff --git a/sot/source/sdstor/stgole.cxx b/sot/source/sdstor/stgole.cxx
index bee4feb8842d..ac23f7a14555 100644
--- a/sot/source/sdstor/stgole.cxx
+++ b/sot/source/sdstor/stgole.cxx
@@ -22,6 +22,7 @@
 
 #include "stgelem.hxx"
 #include "stgole.hxx"
+#include 
 #include 
 
 / class StgInternalStream
@@ -116,7 +117,7 @@ bool StgCompObjStream::Load()
 
 std::unique_ptr p(new char[ nStrLen+1 ]);
 p[nStrLen] = 0;
-if (static_cast(ReadBytes( p.get(), nStrLen )) == 
nStrLen)
+if (ReadBytes( p.get(), nStrLen ) == o3tl::make_unsigned(nStrLen))
 {
 //The encoding here is "ANSI", which is pretty useless seeing 
as
 //the actual codepage used doesn't seem to be specified/stored


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

2022-06-03 Thread Stephan Bergmann (via logerrit)
 include/tools/multisel.hxx |7 +++--
 tools/source/memtools/multisel.cxx |   48 -
 2 files changed, 30 insertions(+), 25 deletions(-)

New commits:
commit 6af99a90d059446d028cb6fe94c7c74140f2ed02
Author: Stephan Bergmann 
AuthorDate: Fri Jun 3 13:44:20 2022 +0200
Commit: Stephan Bergmann 
CommitDate: Fri Jun 3 15:10:12 2022 +0200

Use more appropriate type for MultiSelection::nCurSubSel et al

(In MultiSelection::LastSelected, there is no need to set nCurSubSel (to a
potentially negative value) before setting bCurValid to false, as 
nCurSubSel is
only ever used after checking that bCurValid is true.)

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

diff --git a/include/tools/multisel.hxx b/include/tools/multisel.hxx
index a5c68ca0eb23..ea7a1343feeb 100644
--- a/include/tools/multisel.hxx
+++ b/include/tools/multisel.hxx
@@ -23,6 +23,7 @@
 #include 
 #include 
 
+#include 
 #include 
 #include 
 
@@ -34,14 +35,14 @@ private:
 std::vector< Range >
 aSels;  // array of SV-selections
 Range   aTotRange;  // total range of indexes
-sal_Int32   nCurSubSel; // index in aSels of current selected index
+std::size_t nCurSubSel; // index in aSels of current selected index
 sal_Int32   nCurIndex;  // current selected entry
 sal_Int32   nSelCount;  // number of selected indexes
 boolbCurValid;  // are nCurIndex and nCurSubSel valid
 
 TOOLS_DLLPRIVATE void   ImplClear();
-TOOLS_DLLPRIVATE sal_Int32  ImplFindSubSelection( sal_Int32 nIndex ) 
const;
-TOOLS_DLLPRIVATE void   ImplMergeSubSelections( sal_Int32 nPos1, 
sal_Int32 nPos2 );
+TOOLS_DLLPRIVATE std::size_tImplFindSubSelection( sal_Int32 nIndex ) 
const;
+TOOLS_DLLPRIVATE void   ImplMergeSubSelections( sal_Int32 nPos1, 
std::size_t nPos2 );
 
 public:
 MultiSelection();
diff --git a/tools/source/memtools/multisel.cxx 
b/tools/source/memtools/multisel.cxx
index c6dd9d8c3146..ff81f6c14ccc 100644
--- a/tools/source/memtools/multisel.cxx
+++ b/tools/source/memtools/multisel.cxx
@@ -17,6 +17,10 @@
  *   the License at http://www.apache.org/licenses/LICENSE-2.0 .
  */
 
+#include 
+
+#include 
+
 #include 
 #include 
 
@@ -29,20 +33,20 @@ void MultiSelection::ImplClear()
 aSels.clear();
 }
 
-sal_Int32 MultiSelection::ImplFindSubSelection( sal_Int32 nIndex ) const
+std::size_t MultiSelection::ImplFindSubSelection( sal_Int32 nIndex ) const
 {
 // iterate through the sub selections
-sal_Int32 n = 0;
+std::size_t n = 0;
 for ( ;
-  n < sal_Int32(aSels.size()) && nIndex > aSels[ n ].Max();
+  n < aSels.size() && nIndex > aSels[ n ].Max();
   ++n ) {} /* empty loop */
 return n;
 }
 
-void MultiSelection::ImplMergeSubSelections( sal_Int32 nPos1, sal_Int32 nPos2 )
+void MultiSelection::ImplMergeSubSelections( sal_Int32 nPos1, std::size_t 
nPos2 )
 {
 // didn't a sub selection at nPos2 exist?
-if ( nPos2 >= sal_Int32(aSels.size()) )
+if ( nPos2 >= aSels.size() )
 return;
 
 // did the sub selections touch each other?
@@ -141,12 +145,12 @@ bool MultiSelection::Select( sal_Int32 nIndex, bool 
bSelect )
 return false;
 
 // find the virtual target position
-sal_Int32 nSubSelPos = ImplFindSubSelection( nIndex );
+std::size_t nSubSelPos = ImplFindSubSelection( nIndex );
 
 if ( bSelect )
 {
 // is it included in the found sub selection?
-if ( nSubSelPos < sal_Int32(aSels.size()) && aSels[ nSubSelPos 
].Contains( nIndex ) )
+if ( nSubSelPos < aSels.size() && aSels[ nSubSelPos ].Contains( nIndex 
) )
 // already selected, nothing to do
 return false;
 
@@ -164,7 +168,7 @@ bool MultiSelection::Select( sal_Int32 nIndex, bool bSelect 
)
 ImplMergeSubSelections( nSubSelPos-1, nSubSelPos );
 }
 // is it at the beginning of the found sub selection
-else if (  nSubSelPos < sal_Int32(aSels.size())
+else if (  nSubSelPos < aSels.size()
 && aSels[ nSubSelPos ].Min() == (nIndex+1)
 )
 // expand the found sub selection
@@ -172,7 +176,7 @@ bool MultiSelection::Select( sal_Int32 nIndex, bool bSelect 
)
 else
 {
 // create a new sub selection
-if ( nSubSelPos < sal_Int32(aSels.size()) ) {
+if ( nSubSelPos < aSels.size() ) {
 aSels.insert( aSels.begin() + nSubSelPos, Range( nIndex, 
nIndex ) );
 } else {
 aSels.push_back( Range( nIndex, nIndex ) );
@@ -184,7 +188,7 @@ bool MultiSelection::Select( sal_Int32 nIndex, bool bSelect 
)
 else
 {
 // is it excluded from the found sub selection?
-if (  

[Libreoffice-commits] core.git: soltools/mkdepend

2022-06-03 Thread Stephan Bergmann (via logerrit)
 soltools/mkdepend/main.c |4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

New commits:
commit 628082158aecf3d5aeb8732d7ddf5dacc45e4d18
Author: Stephan Bergmann 
AuthorDate: Fri Jun 3 14:01:31 2022 +0200
Commit: Stephan Bergmann 
CommitDate: Fri Jun 3 15:09:09 2022 +0200

Revert "Better use size_t for malloc_size"

This reverts commit 652e4ee372e8939f48f69411b6326b237c6d9e4b.  Turns out on
Windows read (aka _read) actually has a parameter of type unsigned, not 
size_t,

(
"read"), so this started to cause

> 
C:/cygwin/home/tdf/jenkins/workspace/lo_tb_master_win64_dbg/soltools/mkdepend/main.c(504):
 error C2220: the following warning is treated as an error
> 
C:/cygwin/home/tdf/jenkins/workspace/lo_tb_master_win64_dbg/soltools/mkdepend/main.c(504):
 warning C4267: 'function': conversion from 'size_t' to 'unsigned int', 
possible loss of data

() for MSVC 
builds
targeting x64.

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

diff --git a/soltools/mkdepend/main.c b/soltools/mkdepend/main.c
index 58633c830115..b8b84b453476 100644
--- a/soltools/mkdepend/main.c
+++ b/soltools/mkdepend/main.c
@@ -473,7 +473,7 @@ struct filepointer *getfile(char *file)
 struct stat st;
 off_t   size_backup;
 ssize_t bytes_read;
-size_t  malloc_size;
+unsignedmalloc_size;
 
 content = (struct filepointer *)malloc(sizeof(struct filepointer));
 if ((fd = open(file, O_RDONLY)) < 0) {
@@ -486,7 +486,7 @@ struct filepointer *getfile(char *file)
 
 size_backup = st.st_size;
 malloc_size = size_backup;
-/* Since off_t usually is larger than size_t, need to test for
+/* Since off_t usually is larger than unsigned, need to test for
  * truncation.
  */
 if ( (off_t)malloc_size != size_backup )


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

2022-06-03 Thread Michael Stahl (via logerrit)
 sw/source/core/doc/docnew.cxx |6 ++
 1 file changed, 6 insertions(+)

New commits:
commit ff525d0d70ea9d189a430bde944b56d048b03e55
Author: Michael Stahl 
AuthorDate: Fri Jun 3 13:33:54 2022 +0200
Commit: Michael Stahl 
CommitDate: Fri Jun 3 15:08:39 2022 +0200

tdf#148309 sw_redlinehide: fix mail merge performance regression

The problem is that in the call to pTargetShell->EndAllAction(), the
cursor is on the node before the newly appended one that has the page
break, and only this node is formatted (via GetFormatted()), so no new
page frames are inserted in the layout, which then creates massive
performance problems later, particularly since the bugdoc contains
multiple at-page anchored flys.

(regression from commit 42448f48bb48a13d6618a181b12840db6d85c574)

Change-Id: I05cd2a515a7f67132ab1c8c6fa0d675252ea3a15
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/135356
Tested-by: Michael Stahl 
Reviewed-by: Michael Stahl 

diff --git a/sw/source/core/doc/docnew.cxx b/sw/source/core/doc/docnew.cxx
index 72798b019e15..1a9f7e868980 100644
--- a/sw/source/core/doc/docnew.cxx
+++ b/sw/source/core/doc/docnew.cxx
@@ -1099,6 +1099,11 @@ SwNodeIndex SwDoc::AppendDoc(const SwDoc& rSource, 
sal_uInt16 const nStartPageNu
 // set break on the last paragraph
 getIDocumentContentOperations().InsertPoolItem(SwPaM(aBreakPos),
 pageDesc, SetAttrMode::DEFAULT, pTargetShell->GetLayout());
+// tdf#148309 move to the last node - so that the "flush page 
break"
+// code below will format the frame of the node with the page 
break,
+// which is required for new page frames to be created!  Else 
layout
+// performance will be terrible.
+pTargetShell->SttEndDoc(false);
 
 // There is now a new empty text node on the new page. If it has
 // any marks, those are from the previous page: move them back
@@ -1129,6 +1134,7 @@ SwNodeIndex SwDoc::AppendDoc(const SwDoc& rSource, 
sal_uInt16 const nStartPageNu
 if ( !bDeletePrevious )
 {
 SAL_INFO( "sw.pageframe", "(Flush pagebreak AKA EndAllAction" 
);
+
assert(pTargetShell->GetCursor()->GetPoint()->nNode.GetNode().GetTextNode()->GetSwAttrSet().HasItem(RES_PAGEDESC));
 pTargetShell->EndAllAction();
 SAL_INFO( "sw.pageframe",  "Flush changes AKA EndAllAction)" );
 pTargetShell->StartAllAction();


[Libreoffice-commits] core.git: desktop/unx

2022-06-03 Thread Stephan Bergmann (via logerrit)
 desktop/unx/source/start.c |7 ---
 1 file changed, 4 insertions(+), 3 deletions(-)

New commits:
commit 9c130462fd9b3515c3c71428bfc109285ed6ea0b
Author: Stephan Bergmann 
AuthorDate: Fri Jun 3 10:25:26 2022 +0200
Commit: Stephan Bergmann 
CommitDate: Fri Jun 3 15:08:19 2022 +0200

Improve some C code mixing size_t and ssize_t

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

diff --git a/desktop/unx/source/start.c b/desktop/unx/source/start.c
index a83db69e5c66..f959565665cc 100644
--- a/desktop/unx/source/start.c
+++ b/desktop/unx/source/start.c
@@ -471,13 +471,14 @@ static sal_Bool send_args(int fd, rtl_uString const 
*pCwdPath)
 }
 
 nLen = rtl_string_getLength(pOut) + 1;
-bResult = (write(fd, rtl_string_getStr(pOut), nLen) == (ssize_t) nLen);
+ssize_t n = write(fd, rtl_string_getStr(pOut), nLen);
+bResult = (n >= 0 && (size_t) n == nLen);
 
 if ( bResult )
 {
 char resp[SAL_N_ELEMENTS("InternalIPC::ProcessingDone")];
-ssize_t n = read(fd, resp, SAL_N_ELEMENTS(resp));
-bResult = n == (ssize_t) SAL_N_ELEMENTS(resp)
+n = read(fd, resp, SAL_N_ELEMENTS(resp));
+bResult = n == SAL_N_ELEMENTS(resp)
 && (memcmp(
 resp, "InternalIPC::ProcessingDone",
 SAL_N_ELEMENTS(resp))


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

2022-06-03 Thread Noel Grandin (via logerrit)
 cui/source/customize/cfg.cxx  |   25 
 cui/source/customize/macropg.cxx  |5 ++--
 cui/source/customize/macropg_impl.hxx |2 -
 cui/source/dialogs/FontFeaturesDialog.cxx |5 ++--
 cui/source/dialogs/SpellAttrib.hxx|   13 ++--
 cui/source/dialogs/cuicharmap.cxx |5 ++--
 cui/source/dialogs/cuigaldlg.cxx  |9 
 cui/source/dialogs/hldocntp.cxx   |3 +-
 cui/source/dialogs/hyphen.cxx |5 ++--
 cui/source/dialogs/insdlg.cxx |5 ++--
 cui/source/dialogs/scriptdlg.cxx  |4 +--
 cui/source/inc/FontFeaturesDialog.hxx |2 -
 cui/source/inc/autocdlg.hxx   |7 +++---
 cui/source/inc/cfg.hxx|   12 +--
 cui/source/inc/cuigaldlg.hxx  |4 +--
 cui/source/inc/dbregister.hxx |2 -
 cui/source/inc/hyphen.hxx |2 -
 cui/source/inc/iconcdlg.hxx   |5 ++--
 cui/source/inc/insdlg.hxx |2 -
 cui/source/inc/scriptdlg.hxx  |2 -
 cui/source/inc/treeopt.hxx|   31 +++---
 cui/source/options/cfgchart.cxx   |5 ++--
 cui/source/options/cfgchart.hxx   |2 -
 cui/source/options/connpoolsettings.cxx   |   10 +
 cui/source/options/connpoolsettings.hxx   |4 +--
 cui/source/options/dbregister.cxx |5 ++--
 cui/source/options/dbregistersettings.hxx |5 ++--
 cui/source/options/optaboutconfig.cxx |   13 ++--
 cui/source/options/optlingu.cxx   |5 ++--
 cui/source/options/treeopt.cxx|9 
 cui/source/tabpages/autocdlg.cxx  |9 
 include/cui/cuicharmap.hxx|2 -
 32 files changed, 120 insertions(+), 99 deletions(-)

New commits:
commit 613467237fa2e9fe7c816d00127db9951c869c13
Author: Noel Grandin 
AuthorDate: Fri Jun 3 11:46:44 2022 +0200
Commit: Noel Grandin 
CommitDate: Fri Jun 3 15:04:41 2022 +0200

clang-tidy modernize-pass-by-value in cui

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

diff --git a/cui/source/customize/cfg.cxx b/cui/source/customize/cfg.cxx
index 546d66522140..4c8192b61283 100644
--- a/cui/source/customize/cfg.cxx
+++ b/cui/source/customize/cfg.cxx
@@ -24,6 +24,7 @@
 #include 
 #include 
 
+#include 
 #include 
 #include 
 #include 
@@ -272,16 +273,16 @@ void SvxConfigDialog::PageCreated(const OString &rId, 
SfxTabPage& rPage)
 uno::Reference< css::ui::XImageManager>* SaveInData::xDefaultImgMgr = nullptr;
 
 SaveInData::SaveInData(
-const uno::Reference< css::ui::XUIConfigurationManager >& xCfgMgr,
-const uno::Reference< css::ui::XUIConfigurationManager >& xParentCfgMgr,
+uno::Reference< css::ui::XUIConfigurationManager > xCfgMgr,
+uno::Reference< css::ui::XUIConfigurationManager > xParentCfgMgr,
 const OUString& aModuleId,
 bool isDocConfig )
 :
 bModified( false ),
 bDocConfig( isDocConfig ),
 bReadOnly( false ),
-m_xCfgMgr( xCfgMgr ),
-m_xParentCfgMgr( xParentCfgMgr ),
+m_xCfgMgr(std::move( xCfgMgr )),
+m_xParentCfgMgr(std::move( xParentCfgMgr )),
 m_aSeparatorSeq{ 
comphelper::makePropertyValue(ITEM_DESCRIPTOR_TYPE,

css::ui::ItemType::SEPARATOR_LINE) }
 {
@@ -1888,11 +1889,11 @@ SvxConfigEntry* 
SvxMainMenuOrganizerDialog::GetSelectedEntry()
 return weld::fromId(m_xMenuListBox->get_id(nSelected));
 }
 
-SvxConfigEntry::SvxConfigEntry( const OUString& rDisplayName,
-const OUString& rCommandURL, bool bPopup, bool 
bParentData )
+SvxConfigEntry::SvxConfigEntry( OUString aDisplayName,
+OUString aCommandURL, bool bPopup, bool 
bParentData )
 : nId( 1 )
-, aLabel(rDisplayName)
-, aCommand(rCommandURL)
+, aLabel(std::move(aDisplayName))
+, aCommand(std::move(aCommandURL))
 , bPopUp(bPopup)
 , bStrEdited( false )
 , bIsUserDefined( false )
@@ -2680,11 +2681,11 @@ SvxNewToolbarDialog::~SvxNewToolbarDialog()
 *
 
***/
 SvxIconSelectorDialog::SvxIconSelectorDialog(weld::Window *pWindow,
-const uno::Reference< css::ui::XImageManager >& rXImageManager,
-const uno::Reference< css::ui::XImageManager >& rXParentImageManager)
+uno::Reference< css::ui::XImageManager > xImageManager,
+uno::Reference< css::ui::XImageManager > xParentImageManager)
 : GenericDialogController(pWindow, "cui/ui/iconselectordialog.ui", 
"IconSelector")
-, m_xImageManager(rXImageManager)
-, m_xParentImageManager(rXParentImageManager)
+, m_xImageManager(std::move(xIma

[Libreoffice-commits] core.git: include/vcl vcl/inc vcl/source vcl/unx

2022-06-03 Thread Caolán McNamara (via logerrit)
 include/vcl/weld.hxx  |2 +-
 vcl/inc/salvtables.hxx|2 ++
 vcl/source/app/salvtables.cxx |   11 +++
 vcl/unx/gtk3/gtkinst.cxx  |   12 
 4 files changed, 26 insertions(+), 1 deletion(-)

New commits:
commit c8642c0ebe4ca16bc06b1b08f9419e4a1a94ba96
Author: Caolán McNamara 
AuthorDate: Fri Jun 3 11:10:45 2022 +0100
Commit: Caolán McNamara 
CommitDate: Fri Jun 3 14:53:34 2022 +0200

allow to dynamically show/hide notebook tabs

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

diff --git a/include/vcl/weld.hxx b/include/vcl/weld.hxx
index 528405643716..054b817975bd 100644
--- a/include/vcl/weld.hxx
+++ b/include/vcl/weld.hxx
@@ -477,11 +477,11 @@ public:
 }
 virtual void set_tab_label_text(const OString& rIdent, const OUString& 
rLabel) = 0;
 virtual OUString get_tab_label_text(const OString& rIdent) const = 0;
+virtual void set_show_tabs(bool bShow) = 0;
 virtual int get_n_pages() const = 0;
 virtual weld::Container* get_page(const OString& rIdent) const = 0;
 
 void connect_leave_page(const Link& rLink) { 
m_aLeavePageHdl = rLink; }
-
 void connect_enter_page(const Link& rLink) { 
m_aEnterPageHdl = rLink; }
 };
 
diff --git a/vcl/inc/salvtables.hxx b/vcl/inc/salvtables.hxx
index 9628744fb087..e7c637e93b96 100644
--- a/vcl/inc/salvtables.hxx
+++ b/vcl/inc/salvtables.hxx
@@ -1078,6 +1078,8 @@ public:
 
 virtual void set_tab_label_text(const OString& rIdent, const OUString& 
rText) override;
 
+virtual void set_show_tabs(bool bShow) override;
+
 virtual ~SalInstanceNotebook() override;
 };
 
diff --git a/vcl/source/app/salvtables.cxx b/vcl/source/app/salvtables.cxx
index ba759d0fa3d5..df7d70636ea8 100644
--- a/vcl/source/app/salvtables.cxx
+++ b/vcl/source/app/salvtables.cxx
@@ -2569,6 +2569,11 @@ void SalInstanceNotebook::set_tab_label_text(const 
OString& rIdent, const OUStri
 return m_xNotebook->SetPageText(m_xNotebook->GetPageId(rIdent), rText);
 }
 
+void SalInstanceNotebook::set_show_tabs(bool bShow)
+{
+m_xNotebook->set_property("show-tabs", OUString::boolean(bShow));
+}
+
 SalInstanceNotebook::~SalInstanceNotebook()
 {
 for (auto& rItem : m_aAddedPages)
@@ -2692,6 +2697,12 @@ public:
 return m_xNotebook->GetPageText(rIdent);
 }
 
+virtual void set_show_tabs(bool /*bShow*/) override
+{
+// if someone needs this they will have to to implement it in 
VerticalTabControl
+assert(false && "not implemented");
+}
+
 virtual ~SalInstanceVerticalNotebook() override
 {
 m_xNotebook->SetActivatePageHdl(Link());
diff --git a/vcl/unx/gtk3/gtkinst.cxx b/vcl/unx/gtk3/gtkinst.cxx
index 6536a0b3ffea..efc6c290d02c 100644
--- a/vcl/unx/gtk3/gtkinst.cxx
+++ b/vcl/unx/gtk3/gtkinst.cxx
@@ -9101,6 +9101,18 @@ public:
 }
 }
 
+virtual void set_show_tabs(bool bShow) override
+{
+if (m_bOverFlowBoxActive)
+{
+unsplit_notebooks();
+reset_split_data();
+}
+
+gtk_notebook_set_show_tabs(m_pNotebook, bShow);
+gtk_notebook_set_show_tabs(m_pOverFlowNotebook, bShow);
+}
+
 virtual void disable_notify_events() override
 {
 g_signal_handler_block(m_pNotebook, m_nSwitchPageSignalId);


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

2022-06-03 Thread Andrea Gelmini (via logerrit)
 cppcanvas/source/mtfrenderer/implrenderer.cxx |1 -
 1 file changed, 1 deletion(-)

New commits:
commit 4199a1d0da06b48c9b53afc59102064e86feb5f7
Author: Andrea Gelmini 
AuthorDate: Fri Jun 3 12:57:36 2022 +0200
Commit: Stephan Bergmann 
CommitDate: Fri Jun 3 14:14:40 2022 +0200

Remove duplicated include

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

diff --git a/cppcanvas/source/mtfrenderer/implrenderer.cxx 
b/cppcanvas/source/mtfrenderer/implrenderer.cxx
index 846194bcf141..c7d7defe1665 100644
--- a/cppcanvas/source/mtfrenderer/implrenderer.cxx
+++ b/cppcanvas/source/mtfrenderer/implrenderer.cxx
@@ -67,7 +67,6 @@
 #include "polypolyaction.hxx"
 #include "textaction.hxx"
 #include "transparencygroupaction.hxx"
-#include 
 #include 
 #include 
 #include 


[Libreoffice-commits] core.git: Branch 'distro/collabora/co-22.05' - sw/source sw/uiconfig

2022-06-03 Thread Miklos Vajna (via logerrit)
 sw/source/ui/misc/contentcontroldlg.cxx |   62 +++
 sw/source/uibase/inc/contentcontroldlg.hxx  |3 
 sw/uiconfig/swriter/ui/contentcontroldlg.ui |   87 
 3 files changed, 152 insertions(+)

New commits:
commit ff053bd7fe05edd55cab25200e2445487e726b08
Author: Miklos Vajna 
AuthorDate: Fri Jun 3 08:12:42 2022 +0200
Commit: Miklos Vajna 
CommitDate: Fri Jun 3 13:36:22 2022 +0200

sw content controls, date: add properties dialog

- add a dateframe to contentcontroldlg.ui, to be hidden for non-date
  content controls

- use a SwNumFormatTreeView to present a list of number formats, with
  a special "additional formats..." at the end that triggers a popup
  where a custom date format and language can be set

- set the format of that tree view in the SwContentControlDlg ctor

- update the SwContentControl from the tree view in
  SwContentControlDlg::OkHdl()

(cherry picked from commit b673b2b868d9d549d059db4c135d776b48977469)

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

diff --git a/sw/source/ui/misc/contentcontroldlg.cxx 
b/sw/source/ui/misc/contentcontroldlg.cxx
index 2d713b0091f4..84f440a6fa8f 100644
--- a/sw/source/ui/misc/contentcontroldlg.cxx
+++ b/sw/source/ui/misc/contentcontroldlg.cxx
@@ -21,12 +21,15 @@
 
 #include 
 #include 
+#include 
+#include 
 
 #include 
 #include 
 #include 
 #include 
 #include 
+#include 
 
 using namespace com::sun::star;
 
@@ -48,6 +51,8 @@ SwContentControlDlg::SwContentControlDlg(weld::Window* 
pParent, SwWrtShell& rWrt
 , m_xDeleteBtn(m_xBuilder->weld_button("remove"))
 , m_xMoveUpBtn(m_xBuilder->weld_button("moveup"))
 , m_xMoveDownBtn(m_xBuilder->weld_button("movedown"))
+, m_xDateFrame(m_xBuilder->weld_frame("dateframe"))
+, m_xDateFormat(new 
SwNumFormatTreeView(m_xBuilder->weld_tree_view("date_formats_treeview")))
 , m_xOk(m_xBuilder->weld_button("ok"))
 {
 m_xCheckedStateBtn->connect_clicked(LINK(this, SwContentControlDlg, 
SelectCharHdl));
@@ -116,6 +121,42 @@ SwContentControlDlg::SwContentControlDlg(weld::Window* 
pParent, SwWrtShell& rWrt
 m_xListItemsFrame->set_visible(false);
 m_xListItemButtons->set_visible(false);
 }
+
+if (m_pContentControl->GetDate())
+{
+m_xDateFormat->SetFormatType(SvNumFormatType::DATE);
+m_xDateFormat->SetShowLanguageControl(true);
+
+// Set height to double of the default.
+weld::TreeView& rTreeView = 
dynamic_cast(m_xDateFormat->get_widget());
+rTreeView.set_size_request(rTreeView.get_preferred_size().Width(),
+   rTreeView.get_height_rows(10));
+
+OUString sFormatString = m_pContentControl->GetDateFormat();
+OUString sLang = m_pContentControl->GetDateLanguage();
+if (!sFormatString.isEmpty() && !sLang.isEmpty())
+{
+SvNumberFormatter* pNumberFormatter = 
m_rWrtShell.GetNumberFormatter();
+LanguageType aLangType = LanguageTag(sLang).getLanguageType();
+sal_uInt32 nFormat = pNumberFormatter->GetEntryKey(sFormatString, 
aLangType);
+if (nFormat == NUMBERFORMAT_ENTRY_NOT_FOUND)
+{
+sal_Int32 nCheckPos = 0;
+SvNumFormatType nType;
+pNumberFormatter->PutEntry(sFormatString, nCheckPos, nType, 
nFormat,
+   
LanguageTag(sLang).getLanguageType());
+}
+
+if (aLangType != LANGUAGE_DONTKNOW && nFormat != 
NUMBERFORMAT_ENTRY_NOT_FOUND)
+{
+m_xDateFormat->SetDefFormat(nFormat);
+}
+}
+}
+else
+{
+m_xDateFrame->set_visible(false);
+}
 }
 
 SwContentControlDlg::~SwContentControlDlg() {}
@@ -159,6 +200,27 @@ IMPL_LINK_NOARG(SwContentControlDlg, OkHdl, weld::Button&, 
void)
 bChanged = true;
 }
 
+if (m_pContentControl->GetDate())
+{
+SvNumberFormatter* pNumberFormatter = m_rWrtShell.GetNumberFormatter();
+const SvNumberformat* pFormat = 
pNumberFormatter->GetEntry(m_xDateFormat->GetFormat());
+if (pFormat)
+{
+if (pFormat->GetFormatstring() != 
m_pContentControl->GetDateFormat())
+{
+m_pContentControl->SetDateFormat(pFormat->GetFormatstring());
+bChanged = true;
+}
+
+OUString aLanguage = 
LanguageTag(pFormat->GetLanguage()).getBcp47();
+if (aLanguage != m_pContentControl->GetDateLanguage())
+{
+m_pContentControl->SetDateLanguage(aLanguage);
+bChanged = true;
+}
+}
+}
+
 if (bChanged)
 {
 m_rWrtShell.GetDoc()->getIDocumentState().SetModified();
diff --git a/sw/so

[Libreoffice-commits] core.git: Branch 'distro/collabora/co-22.05' - sw/Library_swui.mk sw/source sw/uiconfig

2022-06-03 Thread Miklos Vajna (via logerrit)
 sw/Library_swui.mk  |1 
 sw/source/ui/misc/contentcontroldlg.cxx |   60 
 sw/source/uibase/inc/contentcontroldlg.hxx  |6 +
 sw/uiconfig/swriter/ui/contentcontroldlg.ui |  104 +++-
 4 files changed, 169 insertions(+), 2 deletions(-)

New commits:
commit b304829740dd04d26c310f1092a3f2e1180ab190
Author: Miklos Vajna 
AuthorDate: Thu Jun 2 08:21:14 2022 +0200
Commit: Miklos Vajna 
CommitDate: Fri Jun 3 13:36:05 2022 +0200

sw content controls, checkbox: add properties dialog

- add a new m_xCheckboxFrame to SwContentControlDlg that contains all
  the checkbox-related widgets

- hide this frame for non-checkbox content controls

- load the checked & unchecked states into entries to show their current
  value

- provide buttons to easily pick special characters using SvxCharacterMap

(cherry picked from commit f23b0d206e80fe740a45611d719fbd3ec81bcf57)

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

diff --git a/sw/Library_swui.mk b/sw/Library_swui.mk
index 61bd7537cd76..4c1d9614f56c 100644
--- a/sw/Library_swui.mk
+++ b/sw/Library_swui.mk
@@ -54,6 +54,7 @@ $(eval $(call gb_Library_use_libraries,swui,\
 comphelper \
 cppu \
 cppuhelper \
+cui \
 $(call gb_Helper_optional,DBCONNECTIVITY, \
 dbtools) \
 editeng \
diff --git a/sw/source/ui/misc/contentcontroldlg.cxx 
b/sw/source/ui/misc/contentcontroldlg.cxx
index 49157fdec606..2d713b0091f4 100644
--- a/sw/source/ui/misc/contentcontroldlg.cxx
+++ b/sw/source/ui/misc/contentcontroldlg.cxx
@@ -20,6 +20,7 @@
 #include 
 
 #include 
+#include 
 
 #include 
 #include 
@@ -34,6 +35,11 @@ SwContentControlDlg::SwContentControlDlg(weld::Window* 
pParent, SwWrtShell& rWrt
   "ContentControlDialog")
 , m_rWrtShell(rWrtShell)
 , 
m_xShowingPlaceHolderCB(m_xBuilder->weld_check_button("showing_place_holder"))
+, m_xCheckboxFrame(m_xBuilder->weld_frame("checkboxframe"))
+, m_xCheckedState(m_xBuilder->weld_entry("checkboxcheckedentry"))
+, m_xCheckedStateBtn(m_xBuilder->weld_button("btncheckboxchecked"))
+, m_xUncheckedState(m_xBuilder->weld_entry("checkboxuncheckedentry"))
+, m_xUncheckedStateBtn(m_xBuilder->weld_button("btncheckboxunchecked"))
 , m_xListItemsFrame(m_xBuilder->weld_frame("listitemsframe"))
 , m_xListItems(m_xBuilder->weld_tree_view("listitems"))
 , m_xListItemButtons(m_xBuilder->weld_box("listitembuttons"))
@@ -44,6 +50,8 @@ SwContentControlDlg::SwContentControlDlg(weld::Window* 
pParent, SwWrtShell& rWrt
 , m_xMoveDownBtn(m_xBuilder->weld_button("movedown"))
 , m_xOk(m_xBuilder->weld_button("ok"))
 {
+m_xCheckedStateBtn->connect_clicked(LINK(this, SwContentControlDlg, 
SelectCharHdl));
+m_xUncheckedStateBtn->connect_clicked(LINK(this, SwContentControlDlg, 
SelectCharHdl));
 m_xListItems->connect_changed(LINK(this, SwContentControlDlg, 
SelectionChangedHdl));
 m_xOk->connect_clicked(LINK(this, SwContentControlDlg, OkHdl));
 
@@ -81,6 +89,18 @@ SwContentControlDlg::SwContentControlDlg(weld::Window* 
pParent, SwWrtShell& rWrt
 m_xShowingPlaceHolderCB->set_state(eShowingPlaceHolder);
 m_xShowingPlaceHolderCB->save_state();
 
+if (m_pContentControl->GetCheckbox())
+{
+m_xCheckedState->set_text(m_pContentControl->GetCheckedState());
+m_xCheckedState->save_value();
+m_xUncheckedState->set_text(m_pContentControl->GetUncheckedState());
+m_xUncheckedState->save_value();
+}
+else
+{
+m_xCheckboxFrame->set_visible(false);
+}
+
 if (m_pContentControl->HasListItems())
 {
 for (const auto& rListItem : m_pContentControl->GetListItems())
@@ -115,6 +135,16 @@ IMPL_LINK_NOARG(SwContentControlDlg, OkHdl, weld::Button&, 
void)
 bChanged = true;
 }
 
+if (m_xCheckedState->get_value_changed_from_saved())
+{
+m_pContentControl->SetCheckedState(m_xCheckedState->get_text());
+}
+
+if (m_xUncheckedState->get_value_changed_from_saved())
+{
+m_pContentControl->SetUncheckedState(m_xUncheckedState->get_text());
+}
+
 std::vector aItems;
 for (int i = 0; i < m_xListItems->n_children(); ++i)
 {
@@ -137,6 +167,36 @@ IMPL_LINK_NOARG(SwContentControlDlg, OkHdl, weld::Button&, 
void)
 m_xDialog->response(RET_OK);
 }
 
+IMPL_LINK(SwContentControlDlg, SelectCharHdl, weld::Button&, rButton, void)
+{
+SvxCharacterMap aMap(m_xDialog.get(), nullptr, nullptr);
+sal_UCS4 cBullet = 0;
+sal_Int32 nIndex = 0;
+if (&rButton == m_xCheckedStateBtn.get())
+{
+cBullet = 
m_pContentControl->GetCheckedState().iterateCodePoints(&nIndex);
+}
+else if (&rButton == m_xUncheckedStateBtn.get())
+{
+cBullet = 
m_pContentCont

[Libreoffice-commits] core.git: Branch 'distro/collabora/co-22.05' - sw/inc sw/qa sw/source

2022-06-03 Thread Miklos Vajna (via logerrit)
 sw/inc/swmodule.hxx|1 
 sw/qa/extras/tiledrendering/tiledrendering.cxx |  370 ++---
 sw/source/uibase/app/swmodul1.cxx  |5 
 3 files changed, 102 insertions(+), 274 deletions(-)

New commits:
commit 3acc12203e1edecfeac565807acc6826311f79fe
Author: Miklos Vajna 
AuthorDate: Wed Jun 1 11:28:49 2022 +0200
Commit: Miklos Vajna 
CommitDate: Fri Jun 3 13:35:49 2022 +0200

CppunitTest_sw_tiledrendering: use CPPUNIT_TEST_FIXTURE()

Which changes the order of the tests in the suite, so testRedlineColors
runs later and the global list of redline authors now contains
unexpected entries, leading to an assertion failure.

Fix this by clearing the redline author list at the start of each test.

(cherry picked from commit 2de53e222fa9126422ff69dde3c585349958d494)

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

diff --git a/sw/inc/swmodule.hxx b/sw/inc/swmodule.hxx
index c5ea28017b41..c1c267e4a0a9 100644
--- a/sw/inc/swmodule.hxx
+++ b/sw/inc/swmodule.hxx
@@ -199,6 +199,7 @@ public:
 // Redlining.
 std::size_t GetRedlineAuthor();
 OUString const &GetRedlineAuthor(std::size_t nPos);
+void ClearRedlineAuthors();
 /// See SwXTextDocument::getTrackedChangeAuthors().
 voidGetRedlineAuthorInfo(tools::JsonWriter& rJsonWriter);
 std::size_t InsertRedlineAuthor(const OUString& rAuthor);
diff --git a/sw/qa/extras/tiledrendering/tiledrendering.cxx 
b/sw/qa/extras/tiledrendering/tiledrendering.cxx
index bdcaf03c55a7..80125d1c31d5 100644
--- a/sw/qa/extras/tiledrendering/tiledrendering.cxx
+++ b/sw/qa/extras/tiledrendering/tiledrendering.cxx
@@ -68,6 +68,8 @@
 #include 
 #include 
 #include 
+#include 
+#include 
 
 constexpr OUStringLiteral DATA_DIRECTORY = 
u"/sw/qa/extras/tiledrendering/data/";
 
@@ -84,189 +86,8 @@ public:
 SwTiledRenderingTest();
 virtual void setUp() override;
 virtual void tearDown() override;
-void testRegisterCallback();
-void testPostKeyEvent();
-void testPostMouseEvent();
-void testSetTextSelection();
-void testGetTextSelection();
-void testGetTextSelectionLineLimit();
-void testSetGraphicSelection();
-void testResetSelection();
-void testInsertShape();
-void testSearch();
-void testSearchViewArea();
-void testSearchTextFrame();
-void testSearchTextFrameWrapAround();
-void testDocumentSizeChanged();
-void testSearchAll();
-void testSearchAllNotifications();
-void testPageDownInvalidation();
-void testPartHash();
-void testViewCursors();
-void testShapeViewCursors();
-void testMissingInvalidation();
-void testViewCursorVisibility();
-void testViewCursorCleanup();
-void testViewLock();
-void testTextEditViewInvalidations();
-void testUndoInvalidations();
-void testUndoLimiting();
-void testUndoReordering();
-void testUndoReorderingRedo();
-void testUndoReorderingMulti();
-void testUndoShapeLimiting();
-void testUndoDispatch();
-void testUndoRepairDispatch();
-void testShapeTextUndoShells();
-void testShapeTextUndoGroupShells();
-void testTrackChanges();
-void testTrackChangesCallback();
-void testRedlineUpdateCallback();
-void testSetViewGraphicSelection();
-void testCreateViewGraphicSelection();
-void testCreateViewTextSelection();
-void testRedlineColors();
-void testCommentEndTextEdit();
-void testCommentInsert();
-void testCursorPosition();
-void testPaintCallbacks();
-void testUndoRepairResult();
-void testRedoRepairResult();
-void testDisableUndoRepair();
-void testAllTrackedChanges();
-void testDocumentRepair();
-void testPageHeader();
-void testPageFooter();
-void testTdf115088();
-void testRedlineField();
-void testIMESupport();
-void testIMEFormattingAtEndOfParagraph();
-void testIMEFormattingAfterHeader();
-void testSplitNodeRedlineCallback();
-void testDeleteNodeRedlineCallback();
-void testVisCursorInvalidation();
-void testDeselectCustomShape();
-void testSemiTransparent();
-void testHighlightNumbering();
-void testHighlightNumbering_shd();
-void testPilcrowRedlining();
-void testClipText();
-void testAnchorTypes();
-void testLanguageStatus();
-void testRedlineNotificationDuringSave();
-void testHyperlink();
-void testFieldmark();
-void testDropDownFormFieldButton();
-void testDropDownFormFieldButtonEditing();
-void testDropDownFormFieldButtonNoSelection();
-void testDropDownFormFieldButtonNoItem();
-void testTablePaintInvalidate();
-void testSpellOnlineRenderParameter();
-void testExtTextInputReadOnly();
-void testBulletDeleteInvalidation();
-v

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

2022-06-03 Thread Stephan Bergmann (via logerrit)
 hwpfilter/source/hbox.cxx |2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

New commits:
commit 949f2e0624e798c4ee841585fb38e7d4b693e1d8
Author: Stephan Bergmann 
AuthorDate: Fri Jun 3 10:27:55 2022 +0200
Commit: Stephan Bergmann 
CommitDate: Fri Jun 3 13:26:37 2022 +0200

No need for a cast here when comparing against const int DATE_SIZE = 40

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

diff --git a/hwpfilter/source/hbox.cxx b/hwpfilter/source/hbox.cxx
index 59b0285926fb..ea8d46e5f59e 100644
--- a/hwpfilter/source/hbox.cxx
+++ b/hwpfilter/source/hbox.cxx
@@ -148,7 +148,7 @@ hchar_string DateCode::GetString()
 format[DATE_SIZE - 1] = 0;
 fmt = format[0] ? format : defaultform;
 
-for (; *fmt && (static_cast(ret.size()) < DATE_SIZE); fmt++)
+for (; *fmt && (ret.size() < DATE_SIZE); fmt++)
 {
 form = add_zero ? "%02d" : "%d";
 


[Libreoffice-commits] core.git: soltools/mkdepend

2022-06-03 Thread Stephan Bergmann (via logerrit)
 soltools/mkdepend/main.c |4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

New commits:
commit 652e4ee372e8939f48f69411b6326b237c6d9e4b
Author: Stephan Bergmann 
AuthorDate: Fri Jun 3 11:40:45 2022 +0200
Commit: Stephan Bergmann 
CommitDate: Fri Jun 3 13:23:49 2022 +0200

Better use size_t for malloc_size

...as both malloc and read, to which this is passed, take arguments of type
size_t, not unsigned

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

diff --git a/soltools/mkdepend/main.c b/soltools/mkdepend/main.c
index b8b84b453476..58633c830115 100644
--- a/soltools/mkdepend/main.c
+++ b/soltools/mkdepend/main.c
@@ -473,7 +473,7 @@ struct filepointer *getfile(char *file)
 struct stat st;
 off_t   size_backup;
 ssize_t bytes_read;
-unsignedmalloc_size;
+size_t  malloc_size;
 
 content = (struct filepointer *)malloc(sizeof(struct filepointer));
 if ((fd = open(file, O_RDONLY)) < 0) {
@@ -486,7 +486,7 @@ struct filepointer *getfile(char *file)
 
 size_backup = st.st_size;
 malloc_size = size_backup;
-/* Since off_t usually is larger than unsigned, need to test for
+/* Since off_t usually is larger than size_t, need to test for
  * truncation.
  */
 if ( (off_t)malloc_size != size_backup )


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

2022-06-03 Thread Stephan Bergmann (via logerrit)
 unotools/source/misc/datetime.cxx |   35 +++
 1 file changed, 19 insertions(+), 16 deletions(-)

New commits:
commit 95573221d0597951a63fb73b1bd343d2ab5aeee0
Author: Stephan Bergmann 
AuthorDate: Fri Jun 3 09:35:05 2022 +0200
Commit: Stephan Bergmann 
CommitDate: Fri Jun 3 13:22:33 2022 +0200

Fix type of impl_getISO8601TimeToken etc. string index parameters

...after 6fc3dfd3f1b5cb13101299df42444f2ff0493846 "use more string_view"

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

diff --git a/unotools/source/misc/datetime.cxx 
b/unotools/source/misc/datetime.cxx
index db7216ffa268..c620307a9629 100644
--- a/unotools/source/misc/datetime.cxx
+++ b/unotools/source/misc/datetime.cxx
@@ -28,6 +28,7 @@
 #include 
 #include 
 #include 
+#include 
 #include 
 
 namespace
@@ -100,15 +101,15 @@ namespace
 //   o_strInt:output; integer part of token
 //   o_bFraction: output; was there a fractional part?
 //   o_strFrac:   output; fractional part of token
-bool impl_getISO8601TimeToken(std::u16string_view i_str, sal_Int32 &nPos, 
OUString &resInt, bool &bFraction, OUString &resFrac)
+bool impl_getISO8601TimeToken(std::u16string_view i_str, std::size_t 
&nPos, OUString &resInt, bool &bFraction, OUString &resFrac)
 {
 bFraction = false;
 // all tokens are of length 2
-const sal_Int32 nEndPos = nPos + 2;
+const std::size_t nEndPos = nPos + 2;
 const sal_Unicode c0 = '0';
 const sal_Unicode c9 = '9';
 const sal_Unicode sep = ':';
-for (;nPos < nEndPos && nPos < static_cast(i_str.size()); 
++nPos)
+for (;nPos < nEndPos && nPos < i_str.size(); ++nPos)
 {
 const sal_Unicode c = i_str[nPos];
 if (c == sep)
@@ -117,13 +118,15 @@ namespace
 return false;
 resInt += OUStringChar(c);
 }
-if (nPos == static_cast(i_str.size()) || i_str[nPos] == sep)
+if (nPos == 0)
+return false;
+if (nPos == i_str.size() || i_str[nPos] == sep)
 return true;
 if (i_str[nPos] == ',' || i_str[nPos] == '.')
 {
 bFraction = true;
 ++nPos;
-for (; nPos < static_cast(i_str.size()); ++nPos)
+for (; nPos < i_str.size(); ++nPos)
 {
 const sal_Unicode c = i_str[nPos];
 if (c == 'Z' || c == '+' || c == '-')
@@ -138,7 +141,7 @@ namespace
 return false;
 resFrac += OUStringChar(c);
 }
-OSL_ENSURE(nPos == static_cast(i_str.size()), 
"impl_getISO8601TimeToken internal error; expected to be at end of string");
+OSL_ENSURE(nPos == i_str.size(), "impl_getISO8601TimeToken 
internal error; expected to be at end of string");
 return true;
 }
 if (i_str[nPos] == 'Z' || i_str[nPos] == '+' || i_str[nPos] == '-')
@@ -149,12 +152,12 @@ namespace
 else
 return false;
 }
-bool getISO8601TimeToken(std::u16string_view i_str, sal_Int32 &io_index, 
OUString &o_strInt, bool &o_bFraction, OUString &o_strFrac)
+bool getISO8601TimeToken(std::u16string_view i_str, std::size_t &io_index, 
OUString &o_strInt, bool &o_bFraction, OUString &o_strFrac)
 {
 OUString resInt;
 OUString resFrac;
 bool bFraction = false;
-sal_Int32 index = io_index;
+std::size_t index = io_index;
 if(!impl_getISO8601TimeToken(i_str, index, resInt, bFraction, resFrac))
 return false;
 else
@@ -166,7 +169,7 @@ namespace
 return true;
 }
 }
-bool getISO8601TimeZoneToken(std::u16string_view i_str, sal_Int32 
&io_index, OUString &o_strInt)
+bool getISO8601TimeZoneToken(std::u16string_view i_str, std::size_t 
&io_index, OUString &o_strInt)
 {
 const sal_Unicode c0 = '0';
 const sal_Unicode c9 = '9';
@@ -181,7 +184,7 @@ namespace
 {
 ++io_index;
 o_strInt.clear();
-for (; io_index < static_cast(i_str.size()); ++io_index)
+for (; io_index < i_str.size(); ++io_index)
 {
 const sal_Unicode c = i_str[io_index];
 if ((c < c0 || c > c9) && c != sep)
@@ -375,7 +378,7 @@ bool ISO8601parseTime(std::u16string_view aTimeStr, 
css::util::Time& rTime)
 sal_Int32 nSec = 0;
 sal_Int32 nNanoSec = 0;
 
-sal_Int32 n = 0;
+std::size_t n = 0;
 OUString tokInt;
 OUString tokFrac;
 OUString tokTz;
@@ -385,7 +388,7 @@ bool ISO8601parseTime(std::u16string_view aTimeStr, 
css::util::Time& rTime)
 if (!bSuccess)
 return false;
 
-if ( bFrac && n < static_cast(aTimeStr.size()))
+if ( bFrac && n < aTimeStr.size())
 {
 // is it jun

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

2022-06-03 Thread Eike Rathke (via logerrit)
 formula/source/core/api/FormulaCompiler.cxx |5 -
 1 file changed, 4 insertions(+), 1 deletion(-)

New commits:
commit bac202275b1bf1abe4277daf35f74ff973c23483
Author: Eike Rathke 
AuthorDate: Fri Jun 3 12:01:13 2022 +0200
Commit: Eike Rathke 
CommitDate: Fri Jun 3 13:08:11 2022 +0200

Propagate inline array only for Value parameters, tdf#149378 follow-up

So in SUM({1;2}) the SUM does not inherit it, but in ABS({-1;-2})
the ABS still does. This was always off, but so far didn't matter.

Change-Id: I00dfcd4b71b8dea943475bb5a593224312258e31
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/135349
Reviewed-by: Eike Rathke 
Tested-by: Jenkins

diff --git a/formula/source/core/api/FormulaCompiler.cxx 
b/formula/source/core/api/FormulaCompiler.cxx
index 560377d0d5d5..cf2cc01b4584 100644
--- a/formula/source/core/api/FormulaCompiler.cxx
+++ b/formula/source/core/api/FormulaCompiler.cxx
@@ -2816,7 +2816,10 @@ void FormulaCompiler::ForceArrayOperator( 
FormulaTokenRef const & rCurr )
 if (bInlineArray)
 {
 // rCurr->SetInForceArray() can not be used with ocPush.
-if (pCurrentFactorToken && pCurrentFactorToken->GetInForceArray() == 
ParamClass::Unknown)
+if (nCurrentFactorParam > 0 && pCurrentFactorToken
+&& pCurrentFactorToken->GetInForceArray() == 
ParamClass::Unknown
+&& GetForceArrayParameter( pCurrentFactorToken.get(), 
static_cast(nCurrentFactorParam - 1))
+== ParamClass::Value)
 {
 // Propagate to caller as if a function returning an array/matrix
 // was called (see also below).


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

2022-06-03 Thread Caolán McNamara (via logerrit)
 include/vcl/tabctrl.hxx|3 +
 vcl/source/control/tabctrl.cxx |   70 +++--
 2 files changed, 56 insertions(+), 17 deletions(-)

New commits:
commit 6697257931f8e9ed76b2c6a32b310456c94f2848
Author: Caolán McNamara 
AuthorDate: Fri Jun 3 10:01:37 2022 +0100
Commit: Caolán McNamara 
CommitDate: Fri Jun 3 12:27:48 2022 +0200

implement "show-tabs" for TabControl

defaults to the current status of "true"

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

diff --git a/include/vcl/tabctrl.hxx b/include/vcl/tabctrl.hxx
index 1597845df562..40fdd54f285c 100644
--- a/include/vcl/tabctrl.hxx
+++ b/include/vcl/tabctrl.hxx
@@ -57,6 +57,7 @@ protected:
 sal_uInt16  mnActPageId;
 sal_uInt16  mnCurPageId;
 boolmbFormat;
+boolmbShowTabs;
 boolmbRestoreHelpId;
 boolmbSmallInvalidate;
 boolmbLayoutDirty;
@@ -188,6 +189,8 @@ public:
 
 virtual void queue_resize(StateChangedType eReason = 
StateChangedType::Layout) override;
 
+virtual bool set_property(const OString &rKey, const OUString &rValue) 
override;
+
 virtual void DumpAsPropertyTree(tools::JsonWriter&) override;
 };
 
diff --git a/vcl/source/control/tabctrl.cxx b/vcl/source/control/tabctrl.cxx
index a379679ba37d..762587210f52 100644
--- a/vcl/source/control/tabctrl.cxx
+++ b/vcl/source/control/tabctrl.cxx
@@ -105,6 +105,7 @@ void TabControl::ImplInit( vcl::Window* pParent, WinBits 
nStyle )
 mnActPageId = 0;
 mnCurPageId = 0;
 mbFormat= true;
+mbShowTabs  = true;
 mbRestoreHelpId = false;
 mbSmallInvalidate   = false;
 mpTabCtrlData.reset(new ImplTabCtrlData);
@@ -576,10 +577,15 @@ tools::Rectangle TabControl::ImplGetTabRect( sal_uInt16 
nItemPos, tools::Long nW
 if (aRect.IsEmpty())
 return aRect;
 
+// with show-tabs of true (the usual) the page rect is from under the
+// visible tab to the bottom of the TabControl, otherwise it extends
+// from the top of the TabControl
+tools::Long nTabBottom = mbShowTabs ? aRect.Bottom() : 0;
+
 tools::Long nW = nWidth-TAB_OFFSET*2;
-tools::Long nH = nHeight-aRect.Bottom()-TAB_OFFSET*2;
+tools::Long nH = nHeight - nTabBottom - TAB_OFFSET*2;
 return (nW > 0 && nH > 0)
-? tools::Rectangle( Point( TAB_OFFSET, aRect.Bottom()+TAB_OFFSET 
), Size( nW, nH ) )
+? tools::Rectangle( Point( TAB_OFFSET, nTabBottom + TAB_OFFSET ), 
Size( nW, nH ) )
 : tools::Rectangle();
 }
 
@@ -1122,7 +1128,7 @@ void TabControl::Paint( vcl::RenderContext& 
rRenderContext, const tools::Rectang
 
 if (rRenderContext.IsNativeControlSupported(ControlType::TabPane, 
ControlPart::Entire))
 {
-const bool bPaneWithHeader = 
rRenderContext.IsNativeControlSupported(ControlType::TabPane, 
ControlPart::TabPaneWithHeader);
+const bool bPaneWithHeader = mbShowTabs && 
rRenderContext.IsNativeControlSupported(ControlType::TabPane, 
ControlPart::TabPaneWithHeader);
 tools::Rectangle aHeaderRect(aRect.Left(), 0, aRect.Right(), 
aRect.Top());
 if (bPaneWithHeader)
 {
@@ -1161,7 +1167,7 @@ void TabControl::Paint( vcl::RenderContext& 
rRenderContext, const tools::Rectang
 rRenderContext.SetLineColor(rStyleSettings.GetLightColor());
 else
 rRenderContext.SetLineColor(COL_BLACK);
-if (pCurItem && !pCurItem->maRect.IsEmpty())
+if (mbShowTabs && pCurItem && !pCurItem->maRect.IsEmpty())
 {
 aCurRect = pCurItem->maRect;
 rRenderContext.DrawLine(aRect.TopLeft(), Point(aCurRect.Left() - 
2, aRect.Top()));
@@ -1203,7 +1209,7 @@ void TabControl::Paint( vcl::RenderContext& 
rRenderContext, const tools::Rectang
 }
 }
 
-if (!mpTabCtrlData->maItemList.empty() && mpTabCtrlData->mpListBox == 
nullptr)
+if (mbShowTabs && !mpTabCtrlData->maItemList.empty() && 
mpTabCtrlData->mpListBox == nullptr)
 {
 // Some native toolkits (GTK+) draw tabs right-to-left, with an
 // overlap between adjacent tabs
@@ -1344,14 +1350,29 @@ void TabControl::GetFocus()
 {
 if( ! mpTabCtrlData->mpListBox )
 {
-ImplShowFocus();
-SetInputContext( InputContext( GetFont() ) );
+if (mbShowTabs)
+{
+ImplShowFocus();
+SetInputContext( InputContext( GetFont() ) );
+}
+else
+{
+// no tabs, focus first thing in current page
+ImplTabItem* pItem = ImplGetItem(GetCurPageId());
+if (pItem && pItem->mpTabPage)
+{
+vcl::Window* pFirstChild = 
pItem->mpTa

[Libreoffice-commits] core.git: officecfg/registry

2022-06-03 Thread Seth Chaiklin (via logerrit)
 officecfg/registry/data/org/openoffice/Office/UI/DrawImpressCommands.xcu |
2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

New commits:
commit 73dde4733fdf66408d9ed6b048dfab4f77f088d8
Author: Seth Chaiklin 
AuthorDate: Fri Jun 3 05:22:10 2022 +0200
Commit: Adolfo Jayme Barrientos 
CommitDate: Fri Jun 3 12:01:16 2022 +0200

tdf#149437 "Equally" -> "Evenly" for Table Row Distribution

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

diff --git 
a/officecfg/registry/data/org/openoffice/Office/UI/DrawImpressCommands.xcu 
b/officecfg/registry/data/org/openoffice/Office/UI/DrawImpressCommands.xcu
index 5edacb65f23e..8f8dba845c1a 100644
--- a/officecfg/registry/data/org/openoffice/Office/UI/DrawImpressCommands.xcu
+++ b/officecfg/registry/data/org/openoffice/Office/UI/DrawImpressCommands.xcu
@@ -1964,7 +1964,7 @@
   
   
 
-  Distribute Rows Equally 
+  Distribute Rows Evenly
 
 
   1


Re: [libreoffice-accessibility] Re: ESC meeting minutes: 2022-05-26

2022-06-03 Thread Caolán McNamara
On Tue, 2022-05-31 at 09:41 -0500, Devin Prater wrote:
> A lot of toolbar widgets in Writer don't seem to be accessible, like
> the ones to create forms and such.

I created a sub category to capture the theme that various widgets have
accessibility failings, your toolbar case, the extension dialog and
related cases of the earlier mentioned possible base/math problems.



[Libreoffice-commits] core.git: dbaccess/source desktop/source

2022-06-03 Thread Noel Grandin (via logerrit)
 dbaccess/source/core/api/CacheSet.cxx|4 +--
 dbaccess/source/core/api/KeySet.cxx  |   12 +--
 dbaccess/source/core/api/OptimisticSet.cxx   |4 +--
 dbaccess/source/ui/dlg/directsql.cxx |2 -
 dbaccess/source/ui/querydesign/QueryDesignView.cxx   |9 
 dbaccess/source/ui/uno/copytablewizard.cxx   |2 -
 desktop/source/app/cmdlineargs.cxx   |2 -
 desktop/source/deployment/gui/dp_gui_updateinstalldialog.cxx |2 -
 desktop/source/deployment/registry/dp_registry.cxx   |2 -
 9 files changed, 20 insertions(+), 19 deletions(-)

New commits:
commit c1965859c05ccd13859198fe1479167afb4efc7c
Author: Noel Grandin 
AuthorDate: Fri Jun 3 10:17:13 2022 +0200
Commit: Noel Grandin 
CommitDate: Fri Jun 3 11:34:19 2022 +0200

elide some makeStringAndClear() class

when we are passing the result to a string_view, it is pointless.

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

diff --git a/dbaccess/source/core/api/CacheSet.cxx 
b/dbaccess/source/core/api/CacheSet.cxx
index 366a727be58d..9774877e6255 100644
--- a/dbaccess/source/core/api/CacheSet.cxx
+++ b/dbaccess/source/core/api/CacheSet.cxx
@@ -167,7 +167,7 @@ void OCacheSet::insertRow( const ORowSetRow& 
_rInsertRow,const connectivity::OSQ
 aSql[aSql.getLength() - 1] = ')';
 aValues[aValues.getLength() - 1] = ')';
 
-aSql.append(aValues.makeStringAndClear());
+aSql.append(aValues);
 // now create end execute the prepared statement
 {
 Reference< XPreparedStatement > 
xPrep(m_xConnection->prepareStatement(aSql.makeStringAndClear()));
@@ -282,7 +282,7 @@ void OCacheSet::updateRow(const ORowSetRow& _rInsertRow 
,const ORowSetRow& _rOri
 {
 aCondition.setLength(aCondition.getLength()-5);
 
-aSql.append(" WHERE " + aCondition.makeStringAndClear());
+aSql.append(" WHERE " + aCondition);
 }
 else
 ::dbtools::throwSQLException(
diff --git a/dbaccess/source/core/api/KeySet.cxx 
b/dbaccess/source/core/api/KeySet.cxx
index 577088aaad33..338d4d7f87aa 100644
--- a/dbaccess/source/core/api/KeySet.cxx
+++ b/dbaccess/source/core/api/KeySet.cxx
@@ -512,15 +512,15 @@ void OKeySet::updateRow(const ORowSetRow& _rInsertRow 
,const ORowSetRow& _rOrigi
 aSql.append(" WHERE ");
 if(!sKeyCondition.isEmpty() && !sIndexCondition.isEmpty())
 {
-aSql.append(sKeyCondition.makeStringAndClear() + 
sIndexCondition.makeStringAndClear());
+aSql.append(sKeyCondition + sIndexCondition);
 }
 else if(!sKeyCondition.isEmpty())
 {
-aSql.append(sKeyCondition.makeStringAndClear());
+aSql.append(sKeyCondition);
 }
 else if(!sIndexCondition.isEmpty())
 {
-aSql.append(sIndexCondition.makeStringAndClear());
+aSql.append(sIndexCondition);
 }
 aSql.setLength(aSql.getLength()-5); // remove the last AND
 }
@@ -620,7 +620,7 @@ void OKeySet::insertRow( const ORowSetRow& 
_rInsertRow,const connectivity::OSQLT
 
 aSql[aSql.getLength() - 1] = ')';
 aValues[aValues.getLength() - 1] = ')';
-aSql.append(aValues.makeStringAndClear());
+aSql.append(aValues);
 // now create,fill and execute the prepared statement
 executeInsert(_rInsertRow,aSql.makeStringAndClear(),u"",bRefetch);
 }
@@ -723,7 +723,7 @@ void OKeySet::executeInsert( const ORowSetRow& 
_rInsertRow,const OUString& i_sSQ
 if(!sMaxStmt.isEmpty())
 {
 sMaxStmt[sMaxStmt.getLength()-1] = ' ';
-OUString sStmt = "SELECT " + sMaxStmt.makeStringAndClear() + "FROM 
";
+OUString sStmt = "SELECT " + sMaxStmt + "FROM ";
 OUString sCatalog,sSchema,sTable;
 
::dbtools::qualifiedNameComponents(m_xConnection->getMetaData(),m_sUpdateTableName,sCatalog,sSchema,sTable,::dbtools::EComposeRule::InDataManipulation);
 sStmt += ::dbtools::composeTableNameForSelect( m_xConnection, 
sCatalog, sSchema, sTable );
@@ -884,7 +884,7 @@ void OKeySet::deleteRow(const ORowSetRow& _rDeleteRow,const 
connectivity::OSQLTa
 }
 }
 }
-aSql.append(sIndexCondition.makeStringAndClear());
+aSql.append(sIndexCondition);
 aSql.setLength(aSql.getLength()-5);
 
 // now create end execute the prepared statement
diff --git a/dbaccess/source/core/api/OptimisticSet.cxx 
b/dbaccess/source/core/api/OptimisticSet.cxx
index a95384eed2b7..d1d70955f674 100644
--- a/dbaccess/source/core/api/OptimisticSet.cxx
+++ b/dbaccess/source/core/api/OptimisticSet.cxx
@@ -544,8 +544,8 @@ void 
OptimisticSet::fillMissingValues(ORowSetValueVector::Vector& io_aRow) const
 OUString sCatalog,sSchema,sTable;
  

Re: [libreoffice-accessibility] Re: ESC meeting minutes: 2022-05-26

2022-06-03 Thread Caolán McNamara
On Tue, 2022-05-31 at 16:24 +0200, Christophe Strobbe wrote:
> Hi Michael, Caolán, all,
> ...
> (2) With regard to document formats, continue improving PDF/UA
> conformance for exported PDF documents. ...  (Institutions that have
> been established to monitor compliance with the EU's Web
> Accessibility Directive often simply check for PDF/UA conformance as
> a substitute for a real accessibility check.)

thanks, that's a very interesting insight wrt the a11y+pdf category



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

2022-06-03 Thread Stephan Bergmann (via logerrit)
 desktop/source/deployment/dp_persmap.cxx |6 +-
 1 file changed, 5 insertions(+), 1 deletion(-)

New commits:
commit 1fc5b6c9bd138d974f1d5fc3546b702bc4fc568c
Author: Stephan Bergmann 
AuthorDate: Fri Jun 3 10:20:33 2022 +0200
Commit: Stephan Bergmann 
CommitDate: Fri Jun 3 11:20:25 2022 +0200

Use more appropriate index variable type

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

diff --git a/desktop/source/deployment/dp_persmap.cxx 
b/desktop/source/deployment/dp_persmap.cxx
index 222a6cf99c03..652e5d2ea5ff 100644
--- a/desktop/source/deployment/dp_persmap.cxx
+++ b/desktop/source/deployment/dp_persmap.cxx
@@ -17,6 +17,10 @@
  *   the License at http://www.apache.org/licenses/LICENSE-2.0 .
  */
 
+#include 
+
+#include 
+
 #include 
 #include 
 #include 
@@ -175,7 +179,7 @@ void PersistentMap::readAll()
 if( nBytesRead != sizeof(aHeaderBytes))
 return;
 // check header magic
-for( int i = 0; i < int(sizeof(PmapMagic)); ++i)
+for( std::size_t i = 0; i < sizeof(PmapMagic); ++i)
 if( aHeaderBytes[i] != PmapMagic[i])
 return;
 


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

2022-06-03 Thread Roman Kuznetsov (via logerrit)
 basic/source/runtime/methods.cxx |   49 +++
 1 file changed, 24 insertions(+), 25 deletions(-)

New commits:
commit 66fe1fa945a161b2f617ab3576ddef23d84148f8
Author: Roman Kuznetsov 
AuthorDate: Fri Jun 3 09:11:28 2022 +0200
Commit: Mike Kaganski 
CommitDate: Fri Jun 3 10:17:02 2022 +0200

tdf#147132 Flatten Basic function

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

diff --git a/basic/source/runtime/methods.cxx b/basic/source/runtime/methods.cxx
index 122e87947ee0..c6d12c3c033f 100644
--- a/basic/source/runtime/methods.cxx
+++ b/basic/source/runtime/methods.cxx
@@ -733,41 +733,40 @@ void SbRtl_FileLen(StarBASIC *, SbxArray & rPar, bool)
 {
 if (rPar.Count() < 2)
 {
-StarBASIC::Error( ERRCODE_BASIC_BAD_ARGUMENT );
+return StarBASIC::Error( ERRCODE_BASIC_BAD_ARGUMENT );
 }
-else
+
+SbxVariableRef pArg = rPar.Get(1);
+OUString aStr( pArg->GetOUString() );
+sal_Int32 nLen = 0;
+if( hasUno() )
 {
-SbxVariableRef pArg = rPar.Get(1);
-OUString aStr( pArg->GetOUString() );
-sal_Int32 nLen = 0;
-if( hasUno() )
+const uno::Reference< ucb::XSimpleFileAccess3 >& xSFI = 
getFileAccess();
+if( xSFI.is() )
 {
-const uno::Reference< ucb::XSimpleFileAccess3 >& xSFI = 
getFileAccess();
-if( xSFI.is() )
+try
 {
-try
-{
-nLen = xSFI->getSize( getFullPath( aStr ) );
-}
-catch(const Exception & )
-{
-StarBASIC::Error( ERRCODE_IO_GENERAL );
-}
+nLen = xSFI->getSize( getFullPath( aStr ) );
+}
+catch(const Exception & )
+{
+StarBASIC::Error( ERRCODE_IO_GENERAL );
 }
 }
-else
-{
-DirectoryItem aItem;
-(void)DirectoryItem::get( getFullPath( aStr ), aItem );
-FileStatus aFileStatus( osl_FileStatus_Mask_FileSize );
-(void)aItem.getFileStatus( aFileStatus );
-nLen = static_cast(aFileStatus.getFileSize());
-}
-rPar.Get(0)->PutLong(nLen);
 }
+else
+{
+DirectoryItem aItem;
+(void)DirectoryItem::get( getFullPath( aStr ), aItem );
+FileStatus aFileStatus( osl_FileStatus_Mask_FileSize );
+(void)aItem.getFileStatus( aFileStatus );
+nLen = static_cast(aFileStatus.getFileSize());
+}
+rPar.Get(0)->PutLong(nLen);
 }
 
 
+
 void SbRtl_Hex(StarBASIC *, SbxArray & rPar, bool)
 {
 if (rPar.Count() < 2)


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

2022-06-03 Thread Gülşah Köse (via logerrit)
 drawinglayer/source/processor2d/vclpixelprocessor2d.cxx |7 ---
 1 file changed, 4 insertions(+), 3 deletions(-)

New commits:
commit a658129012f1d183f95f8bf5dd6d7ff6926cd495
Author: Gülşah Köse 
AuthorDate: Thu May 26 11:03:41 2022 +0300
Commit: Gülşah Köse 
CommitDate: Fri Jun 3 10:15:56 2022 +0200

tdf#136787 Add control to create 1-bit B&W bitmap while creating mask.

Glow effect creates half transparent pixels on shadow. Creating 1-bit
B&W bitmap mask treates that half transparent pixels as black.
We control 1-bit B&W bitmap creation when we have half transparent
pixels.

Change-Id: Iaf298a0e5ffeeb6637fe5d3f56cf4f8e30a203e4
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/134981
Tested-by: Jenkins
Reviewed-by: Gülşah Köse 

diff --git a/drawinglayer/source/processor2d/vclpixelprocessor2d.cxx 
b/drawinglayer/source/processor2d/vclpixelprocessor2d.cxx
index 70b5331f1f79..362d0ddf9cab 100644
--- a/drawinglayer/source/processor2d/vclpixelprocessor2d.cxx
+++ b/drawinglayer/source/processor2d/vclpixelprocessor2d.cxx
@@ -981,11 +981,12 @@ namespace
nTransparency defines minimal transparency level.
 */
 AlphaMask ProcessAndBlurAlphaMask(const Bitmap& rMask, double 
fErodeDilateRadius,
-  double fBlurRadius, sal_uInt8 nTransparency)
+  double fBlurRadius, sal_uInt8 nTransparency,
+  bool bConvertTo1Bit = true)
 {
 // Only completely white pixels on the initial mask must be considered for 
transparency. Any
 // other color must be treated as black. This creates 1-bit B&W bitmap.
-BitmapEx mask(rMask.CreateMask(COL_WHITE));
+BitmapEx mask(bConvertTo1Bit ? rMask.CreateMask(COL_WHITE) : rMask);
 
 // Scaling down increases performance without noticeable quality loss. 
Additionally,
 // current blur implementation can only handle blur radius between 2 and 
254.
@@ -1177,7 +1178,7 @@ void VclPixelProcessor2D::processShadowPrimitive2D(const 
primitive2d::ShadowPrim
 
 BitmapEx bitmapEx = mpOutputDevice->GetBitmapEx(aRect.TopLeft(), 
aRect.GetSize());
 
-AlphaMask mask = ProcessAndBlurAlphaMask(bitmapEx.GetAlpha(), 0, 
fBlurRadius, 0);
+AlphaMask mask = ProcessAndBlurAlphaMask(bitmapEx.GetAlpha(), 0, 
fBlurRadius, 0, false);
 
 const basegfx::BColor aShadowColor(
 
maBColorModifierStack.getModifiedColor(rCandidate.getShadowColor()));


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

2022-06-03 Thread Noel Grandin (via logerrit)
 sc/source/core/tool/compiler.cxx  |5 ++--
 sc/source/core/tool/interpr2.cxx  |4 +--
 sc/source/core/tool/interpr7.cxx  |2 -
 sc/source/core/tool/reffind.cxx   |2 -
 sc/source/core/tool/webservicelink.cxx|2 -
 sc/source/filter/dif/difexp.cxx   |   26 +++---
 sc/source/filter/excel/xehelper.cxx   |3 +-
 sc/source/filter/oox/pagesettings.cxx |3 +-
 sc/source/filter/xml/XMLTrackedChangesContext.cxx |4 +--
 sc/source/ui/app/inputhdl.cxx |2 -
 sc/source/ui/docshell/docsh.cxx   |2 -
 sc/source/ui/miscdlgs/crnrdlg.cxx |4 +--
 sc/source/ui/view/output2.cxx |2 -
 13 files changed, 37 insertions(+), 24 deletions(-)

New commits:
commit e0b72bea05ae685fb0e91b90d2fd319bfd6f4c21
Author: Noel Grandin 
AuthorDate: Fri Jun 3 08:46:09 2022 +0200
Commit: Noel Grandin 
CommitDate: Fri Jun 3 10:11:38 2022 +0200

elide some makeStringAndClear() class

when we are passing the result to a string_view, it is pointless.

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

diff --git a/sc/source/core/tool/compiler.cxx b/sc/source/core/tool/compiler.cxx
index cd050ef794a4..34accc2593df 100644
--- a/sc/source/core/tool/compiler.cxx
+++ b/sc/source/core/tool/compiler.cxx
@@ -4249,7 +4249,8 @@ void ScCompiler::AutoCorrectParsedSymbol()
 else
 nRefs--;
 }
-aSymbol = aSym.makeStringAndClear() + aTmp1;
+aSymbol = aSym + aTmp1;
+aSym.setLength(0);
 }
 else
 bColons = false;
@@ -4286,7 +4287,7 @@ void ScCompiler::AutoCorrectParsedSymbol()
 while ( *p && rtl::isAsciiDigit( *p ) )
 aStr2.append(*p++);
 aRef[j] = OUString( p );
-aRef[j] += aStr2.makeStringAndClear();
+aRef[j] += aStr2;
 if ( bColons || aRef[j] != aOld )
 {
 bChanged = true;
diff --git a/sc/source/core/tool/interpr2.cxx b/sc/source/core/tool/interpr2.cxx
index fda54fcf898f..31c42a4b728a 100644
--- a/sc/source/core/tool/interpr2.cxx
+++ b/sc/source/core/tool/interpr2.cxx
@@ -3463,7 +3463,7 @@ void ScInterpreter::ScBahtText()
 if( fBaht > 0.0 )
 aBlock.insert( 0, UTF8_TH_1E6 );
 
-aText.insert(0, aBlock.makeStringAndClear());
+aText.insert(0, aBlock);
 }
 if (!aText.isEmpty())
 aText.append( UTF8_TH_BAHT );
@@ -3483,7 +3483,7 @@ void ScInterpreter::ScBahtText()
 if( bMinus )
 aText.insert( 0, UTF8_TH_MINUS );
 
-PushString( OStringToOUString(aText.makeStringAndClear(), 
RTL_TEXTENCODING_UTF8) );
+PushString( OStringToOUString(aText, RTL_TEXTENCODING_UTF8) );
 }
 
 void ScInterpreter::ScGetPivotData()
diff --git a/sc/source/core/tool/interpr7.cxx b/sc/source/core/tool/interpr7.cxx
index 7b2a7a7a563a..315afed32284 100644
--- a/sc/source/core/tool/interpr7.cxx
+++ b/sc/source/core/tool/interpr7.cxx
@@ -444,7 +444,7 @@ void ScInterpreter::ScEncodeURL()
 aUrlBuf.append(convertedChar);
 }
 }
-PushString( OUString::fromUtf8( aUrlBuf.makeStringAndClear() ) );
+PushString( OUString::fromUtf8( aUrlBuf ) );
 }
 
 void ScInterpreter::ScDebugVar()
diff --git a/sc/source/core/tool/reffind.cxx b/sc/source/core/tool/reffind.cxx
index 00df3e2fdb5d..1d930dadf554 100644
--- a/sc/source/core/tool/reffind.cxx
+++ b/sc/source/core/tool/reffind.cxx
@@ -324,7 +324,7 @@ void ScRefFinder::ToggleRel( sal_Int32 nStartPos, sal_Int32 
nEndPos )
 nLoopStart = nEEnd;
 }
 
-OUString aTotal = maFormula.subView(0, nStartPos) + 
aResult.makeStringAndClear();
+OUString aTotal = maFormula.subView(0, nStartPos) + aResult;
 if (nEndPos < maFormula.getLength()-1)
 aTotal += maFormula.subView(nEndPos+1);
 
diff --git a/sc/source/core/tool/webservicelink.cxx 
b/sc/source/core/tool/webservicelink.cxx
index 12fe4785ebca..9bd14de22092 100644
--- a/sc/source/core/tool/webservicelink.cxx
+++ b/sc/source/core/tool/webservicelink.cxx
@@ -66,7 +66,7 @@ sfx2::SvBaseLink::UpdateResult 
ScWebServiceLink::DataChanged(const OUString&, co
 
 xStream->closeInput();
 
-aResult = OStringToOUString(aBuffer.makeStringAndClear(), 
RTL_TEXTENCODING_UTF8);
+aResult = OStringToOUString(aBuffer, RTL_TEXTENCODING_UTF8);
 bHasResult = true;
 
 //  Something happened...
diff --git a/sc/source/filter/dif/difexp.cxx b/sc/source/filter/dif/difexp.cxx
index 4e5984f9e943..89bafd754114 100644
--- a/sc/source/filter/dif/difexp.cxx
+++ b/sc/source/filter/dif/difexp.cxx
@@ -111,7 +111,8 @@ void ScFormatFilterPluginImpl::ScExportDif( SvStream& rOut, 
ScDocument* pDoc,
 

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

2022-06-03 Thread Stephan Bergmann (via logerrit)
 stoc/source/inspect/introspection.cxx |   17 -
 1 file changed, 8 insertions(+), 9 deletions(-)

New commits:
commit 2e197356f8473d3b7ac56ec8e471ff61d9feeba1
Author: Stephan Bergmann 
AuthorDate: Fri Jun 3 09:30:23 2022 +0200
Commit: Stephan Bergmann 
CommitDate: Fri Jun 3 10:08:57 2022 +0200

Use more appropriate index variable types

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

diff --git a/stoc/source/inspect/introspection.cxx 
b/stoc/source/inspect/introspection.cxx
index 0b27ac0b1fe3..1a92d5b4cc34 100644
--- a/stoc/source/inspect/introspection.cxx
+++ b/stoc/source/inspect/introspection.cxx
@@ -1644,7 +1644,6 @@ css::uno::Reference 
Implementation::inspect(
 std::vector>& rInterfaces2 = pAccess->aInterfaceSeq2;
 std::vector& rMapTypeArray = pAccess->maMapTypeSeq;
 std::vector& rPropertyConceptArray = 
pAccess->maPropertyConceptSeq;
-sal_Int32 i;
 
 // References to important data from pAccess
 sal_Int32& rPropCount = pAccess->mnPropCount;
@@ -1662,7 +1661,7 @@ css::uno::Reference 
Implementation::inspect(
 {
 SupportedClassSeq.resize( nTypeCount );
 
-for( i = 0 ; i < static_cast(nTypeCount) ; i++ )
+for( size_t i = 0 ; i < nTypeCount ; i++ )
 SupportedClassSeq[i] = reflection->forName( 
SupportedTypesSeq[i].getTypeName() );
 }
 
@@ -1684,7 +1683,7 @@ css::uno::Reference 
Implementation::inspect(
 if( bFast )
 pAccess->mpOrgPropertyHandleArray.reset( new sal_Int32[ nLen ] 
);
 
-for( i = 0 ; i < nLen ; i++ )
+for( sal_Int32 i = 0 ; i < nLen ; i++ )
 {
 // Put property in its own list
 pAccess->checkPropertyArraysSize( rPropCount );
@@ -1742,7 +1741,7 @@ css::uno::Reference 
Implementation::inspect(
 bool bFoundXInterface = false;
 
 size_t nClassCount = SupportedClassSeq.size();
-for( sal_Int32 nIdx = 0 ; nIdx < static_cast(nClassCount); 
nIdx++ )
+for( size_t nIdx = 0 ; nIdx < nClassCount; nIdx++ )
 {
 Reference xImplClass2 = SupportedClassSeq[nIdx];
 while( xImplClass2.is() )
@@ -1835,13 +1834,13 @@ css::uno::Reference 
Implementation::inspect(
 };
 std::unique_ptr pMethodTypes( new 
MethodType[ nSourceMethodCount ] );
 std::unique_ptr pLocalMethodConcepts( new 
sal_Int32[ nSourceMethodCount ] );
-for( i = 0 ; i < nSourceMethodCount ; i++ )
+for( sal_Int32 i = 0 ; i < nSourceMethodCount ; i++ )
 {
 pMethodTypes[ i ] = STANDARD_METHOD;
 pLocalMethodConcepts[ i ] = 0;
 }
 
-for( i = 0 ; i < nSourceMethodCount ; i++ )
+for( sal_Int32 i = 0 ; i < nSourceMethodCount ; i++ )
 {
 // Address method
 const Reference& rxMethod_i = 
pSourceMethods[i];
@@ -2111,7 +2110,7 @@ css::uno::Reference 
Implementation::inspect(
 
 // A set method could still exist without a corresponding 
get method,
 // this must be a write-only property
-for( i = 0 ; i < nSourceMethodCount ; i++ )
+for( sal_Int32 i = 0 ; i < nSourceMethodCount ; i++ )
 {
 // Address method
 const Reference& rxMethod_i = 
pSourceMethods[i];
@@ -2202,7 +2201,7 @@ css::uno::Reference 
Implementation::inspect(
 // How many methods in the method sequence
 sal_Int32 nExportedMethodCount = 0;
 sal_Int32 nSupportedListenerCount = 0;
-for( i = 0 ; i < nSourceMethodCount ; i++ )
+for( sal_Int32 i = 0 ; i < nSourceMethodCount ; i++ )
 {
 if( pMethodTypes[ i ] != INVALID_METHOD )
 {
@@ -2220,7 +2219,7 @@ css::uno::Reference 
Implementation::inspect(
 pAccess->maSupportedListenerSeq.resize( 
nSupportedListenerCount + iAllSupportedListener );
 
 // Write in methods
-for( i = 0 ; i < nSourceMethodCount ; i++ )
+for( sal_Int32 i = 0 ; i < nSourceMethodCount ; i++ )
 {
 if( pMethodTypes[ i ] != INVALID_METHOD )
 {


[Libreoffice-commits] core.git: vcl/source vcl/unx

2022-06-03 Thread Noel Grandin (via logerrit)
 vcl/source/control/field.cxx|   10 ++
 vcl/source/filter/ipdf/pdfdocument.cxx  |9 +
 vcl/source/gdi/mtfxmldump.cxx   |2 +-
 vcl/source/gdi/pdfwriter_impl.cxx   |   27 +--
 vcl/source/treelist/imap2.cxx   |   19 ++-
 vcl/source/window/window.cxx|4 ++--
 vcl/unx/generic/fontmanager/fontconfig.cxx  |2 +-
 vcl/unx/generic/fontmanager/fontmanager.cxx |   10 +-
 vcl/unx/generic/print/psputil.cxx   |2 +-
 vcl/unx/generic/printer/jobdata.cxx |   27 ++-
 vcl/unx/generic/printer/ppdparser.cxx   |2 +-
 vcl/unx/gtk3/fpicker/SalGtkFilePicker.cxx   |2 +-
 12 files changed, 64 insertions(+), 52 deletions(-)

New commits:
commit 4f4e3f3aae0b733283b549fdde586d8409b0c552
Author: Noel Grandin 
AuthorDate: Fri Jun 3 08:33:49 2022 +0200
Commit: Noel Grandin 
CommitDate: Fri Jun 3 10:02:42 2022 +0200

elide some makeStringAndClear() class

when we are passing the result to a string_view, it is pointless.

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

diff --git a/vcl/source/control/field.cxx b/vcl/source/control/field.cxx
index 0e0093714f5a..90aef01f115f 100644
--- a/vcl/source/control/field.cxx
+++ b/vcl/source/control/field.cxx
@@ -23,6 +23,7 @@
 #include 
 
 #include 
+#include 
 #include 
 
 #include 
@@ -307,9 +308,10 @@ bool ImplNumericGetValue( const OUString& rStr, sal_Int64& 
rValue,
 // Convert fractional strings
 if (bFrac) {
 // Convert to fraction
-sal_Int64 nWholeNum = aStr1.makeStringAndClear().toInt64();
-sal_Int64 nNum = aStrNum.makeStringAndClear().toInt64();
-sal_Int64 nDenom = aStrDenom.makeStringAndClear().toInt64();
+sal_Int64 nWholeNum = o3tl::toInt64(aStr1);
+aStr1.setLength(0);
+sal_Int64 nNum = o3tl::toInt64(aStrNum);
+sal_Int64 nDenom = o3tl::toInt64(aStrDenom);
 if (nDenom == 0) return false; // Division by zero
 double nFrac2Dec = nWholeNum + static_cast(nNum)/nDenom; // 
Convert to double for floating point precision
 OUStringBuffer aStrFrac;
@@ -336,7 +338,7 @@ bool ImplNumericGetValue( const OUString& rStr, sal_Int64& 
rValue,
 if (aStr2.getLength() < nDecDigits)
 string::padToLength(aStr2, nDecDigits, '0');
 
-aStr  = aStr1.makeStringAndClear() + aStr2.makeStringAndClear();
+aStr = aStr1 + aStr2;
 
 // check range
 nValue = aStr.toInt64();
diff --git a/vcl/source/filter/ipdf/pdfdocument.cxx 
b/vcl/source/filter/ipdf/pdfdocument.cxx
index 3a65d06a1540..493826e38f8f 100644
--- a/vcl/source/filter/ipdf/pdfdocument.cxx
+++ b/vcl/source/filter/ipdf/pdfdocument.cxx
@@ -139,7 +139,7 @@ sal_Int32 PDFDocument::WriteSignatureObject(const OUString& 
rDescription, bool b
 // Reserve space for the PKCS#7 object.
 OStringBuffer aContentFiller(MAX_SIGNATURE_CONTENT_LENGTH);
 comphelper::string::padToLength(aContentFiller, 
MAX_SIGNATURE_CONTENT_LENGTH, '0');
-aSigBuffer.append(aContentFiller.makeStringAndClear());
+aSigBuffer.append(aContentFiller);
 aSigBuffer.append(">\n/Type/Sig/SubFilter");
 if (bAdES)
 aSigBuffer.append("/ETSI.CAdES.detached");
@@ -164,7 +164,7 @@ sal_Int32 PDFDocument::WriteSignatureObject(const OUString& 
rDescription, bool b
 // should be enough.
 OStringBuffer aByteRangeFiller;
 comphelper::string::padToLength(aByteRangeFiller, 100, ' ');
-aSigBuffer.append(aByteRangeFiller.makeStringAndClear());
+aSigBuffer.append(aByteRangeFiller);
 // Finish the Sig obj.
 aSigBuffer.append(" /Filter/Adobe.PPKMS");
 
@@ -269,7 +269,7 @@ sal_Int32 
PDFDocument::WriteAppearanceObject(tools::Rectangle& rSignatureRectang
 assert(pPage && "aContentStreams is only filled if there was a pPage");
 OStringBuffer aBuffer;
 aCopier.copyPageResources(pPage, aBuffer);
-aEditBuffer.WriteOString(aBuffer.makeStringAndClear());
+aEditBuffer.WriteOString(aBuffer);
 }
 
 aEditBuffer.WriteCharPtr("/BBox[0 0 ");
@@ -2138,7 +2138,8 @@ bool PDFNumberElement::Read(SvStream& rStream)
 {
 rStream.SeekRel(-1);
 m_nLength = rStream.Tell() - m_nOffset;
-m_fValue = aBuf.makeStringAndClear().toDouble();
+m_fValue = o3tl::toDouble(aBuf);
+aBuf.setLength(0);
 SAL_INFO("vcl.filter", "PDFNumberElement::Read: m_fValue is '" << 
m_fValue << "'");
 return true;
 }
diff --git a/vcl/source/gdi/mtfxmldump.cxx b/vcl/source/gdi/mtfxmldump.cxx
index 26e1afd7a6c4..2dc7e7b9d3e1 100644
--- a/vcl/source/gdi/mtfxmldump.cxx
+++ b/vcl/source/gdi/mtfxmldump.cxx
@@ -818,7 +818,7 @@ void MetafileXmlDump::writeXml(const GDIMetaFile& 
rMetaFile, tools::XmlWriter& r
   

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

2022-06-03 Thread Stephan Bergmann (via logerrit)
 writerfilter/source/dmapper/DomainMapper.cxx   |6 +++---
 writerfilter/source/dmapper/PropertyMap.cxx|   10 +-
 writerfilter/source/rtftok/rtfdocumentimpl.cxx |5 +
 3 files changed, 9 insertions(+), 12 deletions(-)

New commits:
commit d7c9a269a45ccb7fb8f87ed666a6358eb6712a38
Author: Stephan Bergmann 
AuthorDate: Fri Jun 3 09:21:56 2022 +0200
Commit: Stephan Bergmann 
CommitDate: Fri Jun 3 10:01:36 2022 +0200

No need to static_cast these const Id (aka sal_uInt32) values

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

diff --git a/writerfilter/source/dmapper/DomainMapper.cxx 
b/writerfilter/source/dmapper/DomainMapper.cxx
index 5d2549f6a9c8..c449296e5e2c 100644
--- a/writerfilter/source/dmapper/DomainMapper.cxx
+++ b/writerfilter/source/dmapper/DomainMapper.cxx
@@ -627,7 +627,7 @@ void DomainMapper::lcl_attribute(Id nName, Value & val)
 }
 break;
 case NS_ooxml::LN_CT_PageSz_orient:
-CT_PageSz.orient = (nIntValue != 
static_cast(NS_ooxml::LN_Value_ST_PageOrientation_portrait));
+CT_PageSz.orient = (nIntValue != 
NS_ooxml::LN_Value_ST_PageOrientation_portrait);
 break;
 case NS_ooxml::LN_CT_PageSz_w:
 {
@@ -998,7 +998,7 @@ void DomainMapper::lcl_attribute(Id nName, Value & val)
 pSectionContext->SetdxaLnn( nIntValue );
 break;
 case NS_ooxml::LN_CT_LineNumber_restart:
-aSettings.bRestartAtEachPage = nIntValue == 
static_cast(NS_ooxml::LN_Value_ST_LineNumberRestart_newPage);
+aSettings.bRestartAtEachPage = nIntValue == 
NS_ooxml::LN_Value_ST_LineNumberRestart_newPage;
 OSL_ENSURE(pSectionContext, "SectionContext unavailable!");
 if( pSectionContext )
 pSectionContext->SetLnc( nIntValue );
@@ -1995,7 +1995,7 @@ void DomainMapper::sprmWithProps( Sprm& rSprm, const 
PropertyMapPtr& rContext )
 {
 //continuous break only allowed if it is not the only section break
 SectionPropertyMap* pLastContext = 
m_pImpl->GetLastSectionContext();
-if ( nIntValue != 
static_cast(NS_ooxml::LN_Value_ST_SectionMark_continuous) || 
pLastContext || m_pImpl->GetParaSectpr() )
+if ( nIntValue != NS_ooxml::LN_Value_ST_SectionMark_continuous || 
pLastContext || m_pImpl->GetParaSectpr() )
 pSectionContext->SetBreakType( nIntValue );
 }
 break;
diff --git a/writerfilter/source/dmapper/PropertyMap.cxx 
b/writerfilter/source/dmapper/PropertyMap.cxx
index 4c9b84c3755e..e1814a8ce1d5 100644
--- a/writerfilter/source/dmapper/PropertyMap.cxx
+++ b/writerfilter/source/dmapper/PropertyMap.cxx
@@ -1565,7 +1565,7 @@ void SectionPropertyMap::CloseSectionGroup( 
DomainMapper_Impl& rDM_Impl )
 }
 }
 
-if (m_nBreakType == 
static_cast(NS_ooxml::LN_Value_ST_SectionMark_continuous)
+if (m_nBreakType == NS_ooxml::LN_Value_ST_SectionMark_continuous
 && !rDM_Impl.IsInComments())
 {
 //todo: insert a section or access the already inserted section
@@ -1671,7 +1671,7 @@ void SectionPropertyMap::CloseSectionGroup( 
DomainMapper_Impl& rDM_Impl )
 // If the section is of type "New column" (0x01), then simply insert a 
column break.
 // But only if there actually are columns on the page, otherwise a column 
break
 // seems to be handled like a page break by MSO.
-else if (m_nBreakType == 
static_cast(NS_ooxml::LN_Value_ST_SectionMark_nextColumn)
+else if (m_nBreakType == NS_ooxml::LN_Value_ST_SectionMark_nextColumn
 && m_nColumnCount > 1 && !rDM_Impl.IsInComments())
 {
 try
@@ -1845,7 +1845,7 @@ void SectionPropertyMap::CloseSectionGroup( 
DomainMapper_Impl& rDM_Impl )
 // Handle page breaks with odd/even page numbering. We need to use 
an extra page style for setting the page style
 // to left/right, because if we set it to the normal style, we'd 
set it to "First Page"/"Default Style", which would
 // break them (all default pages would be only left or right).
-if ( m_nBreakType == 
static_cast(NS_ooxml::LN_Value_ST_SectionMark_evenPage) || 
m_nBreakType == 
static_cast(NS_ooxml::LN_Value_ST_SectionMark_oddPage) )
+if ( m_nBreakType == NS_ooxml::LN_Value_ST_SectionMark_evenPage || 
m_nBreakType == NS_ooxml::LN_Value_ST_SectionMark_oddPage )
 {
 OUString* pageStyle = m_bTitlePage ? &m_sFirstPageStyleName : 
&m_sFollowPageStyleName;
 OUString evenOddStyleName = rDM_Impl.GetUnusedPageStyleName();
@@ -1875,9 +1875,9 @@ void SectionPropertyMap::CloseSectionGroup( 
DomainMapper_Impl& rDM_Impl )
 evenOddStyle->setPropertyValue( "FooterIsOn", uno::Any( false 
) );

[Libreoffice-commits] core.git: helpcontent2

2022-06-03 Thread Adolfo Jayme Barrientos (via logerrit)
 helpcontent2 |2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

New commits:
commit 10292a359673f57dffcfb26f7d1946788fb04827
Author: Adolfo Jayme Barrientos 
AuthorDate: Fri Jun 3 02:53:24 2022 -0500
Commit: Gerrit Code Review 
CommitDate: Fri Jun 3 09:53:24 2022 +0200

Update git submodules

* Update helpcontent2 from branch 'master'
  to cfdb19246c3675fa8672cd07dfb577949768771e
  - Unnecessary

Have you benchmarked all computers in the world?

Change-Id: I8d818b9b7debd519001b6e1ec061b982481a5f5b

  - Fix remaining typo

Change-Id: Id5c5100a25ce41c6cf4d5fbceaee23c68b3d8106

diff --git a/helpcontent2 b/helpcontent2
index 1252663b4ac9..cfdb19246c36 16
--- a/helpcontent2
+++ b/helpcontent2
@@ -1 +1 @@
-Subproject commit 1252663b4ac9c1f1220b56f855629734f745944a
+Subproject commit cfdb19246c3675fa8672cd07dfb577949768771e


[Libreoffice-commits] help.git: 2 commits - source/text

2022-06-03 Thread Adolfo Jayme Barrientos (via logerrit)
 source/text/shared/guide/palette_files.xhp |4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

New commits:
commit cfdb19246c3675fa8672cd07dfb577949768771e
Author: Adolfo Jayme Barrientos 
AuthorDate: Fri Jun 3 02:52:41 2022 -0500
Commit: Adolfo Jayme Barrientos 
CommitDate: Fri Jun 3 02:52:41 2022 -0500

Unnecessary

Have you benchmarked all computers in the world?

Change-Id: I8d818b9b7debd519001b6e1ec061b982481a5f5b

diff --git a/source/text/shared/guide/palette_files.xhp 
b/source/text/shared/guide/palette_files.xhp
index f94080619..144382fe9 100644
--- a/source/text/shared/guide/palette_files.xhp
+++ b/source/text/shared/guide/palette_files.xhp
@@ -62,7 +62,7 @@
 Choose Format - Area, and then click the 
Colors tab.
 
 
-Click the Add color palette via extensions 
button. A dialog with all available color palettes in the %PRODUCTNAME 
extension site will appear in a few seconds.
+Click the Add color palette via extensions 
button. A dialog with all available color palettes in the %PRODUCTNAME 
extension site will appear.
 
 
 Locate the color list that you want to load, and then click 
Install.
commit 7ba359feca6b1b95affddee4eadeff6c25af528a
Author: Adolfo Jayme Barrientos 
AuthorDate: Fri Jun 3 02:51:42 2022 -0500
Commit: Adolfo Jayme Barrientos 
CommitDate: Fri Jun 3 02:51:42 2022 -0500

Fix remaining typo

Change-Id: Id5c5100a25ce41c6cf4d5fbceaee23c68b3d8106

diff --git a/source/text/shared/guide/palette_files.xhp 
b/source/text/shared/guide/palette_files.xhp
index 4c2b4f28a..f94080619 100644
--- a/source/text/shared/guide/palette_files.xhp
+++ b/source/text/shared/guide/palette_files.xhp
@@ -38,7 +38,7 @@
 To load a color palette:
 
 Directly from the Extension Manager
-If you have a 
custom palette available as an extension, use the Extension Manager to load the 
palette in %PRODUCTAME:
+If you have a 
custom palette available as an extension, use the Extension Manager to load the 
palette in %PRODUCTNAME:
 
 
 Open the 
Extension Manager.


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

2022-06-03 Thread Miklos Vajna (via logerrit)
 sw/source/ui/misc/contentcontroldlg.cxx |   62 +++
 sw/source/uibase/inc/contentcontroldlg.hxx  |3 
 sw/uiconfig/swriter/ui/contentcontroldlg.ui |   87 
 3 files changed, 152 insertions(+)

New commits:
commit b673b2b868d9d549d059db4c135d776b48977469
Author: Miklos Vajna 
AuthorDate: Fri Jun 3 08:12:42 2022 +0200
Commit: Miklos Vajna 
CommitDate: Fri Jun 3 09:10:23 2022 +0200

sw content controls, date: add properties dialog

- add a dateframe to contentcontroldlg.ui, to be hidden for non-date
  content controls

- use a SwNumFormatTreeView to present a list of number formats, with
  a special "additional formats..." at the end that triggers a popup
  where a custom date format and language can be set

- set the format of that tree view in the SwContentControlDlg ctor

- update the SwContentControl from the tree view in
  SwContentControlDlg::OkHdl()

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

diff --git a/sw/source/ui/misc/contentcontroldlg.cxx 
b/sw/source/ui/misc/contentcontroldlg.cxx
index 2d713b0091f4..84f440a6fa8f 100644
--- a/sw/source/ui/misc/contentcontroldlg.cxx
+++ b/sw/source/ui/misc/contentcontroldlg.cxx
@@ -21,12 +21,15 @@
 
 #include 
 #include 
+#include 
+#include 
 
 #include 
 #include 
 #include 
 #include 
 #include 
+#include 
 
 using namespace com::sun::star;
 
@@ -48,6 +51,8 @@ SwContentControlDlg::SwContentControlDlg(weld::Window* 
pParent, SwWrtShell& rWrt
 , m_xDeleteBtn(m_xBuilder->weld_button("remove"))
 , m_xMoveUpBtn(m_xBuilder->weld_button("moveup"))
 , m_xMoveDownBtn(m_xBuilder->weld_button("movedown"))
+, m_xDateFrame(m_xBuilder->weld_frame("dateframe"))
+, m_xDateFormat(new 
SwNumFormatTreeView(m_xBuilder->weld_tree_view("date_formats_treeview")))
 , m_xOk(m_xBuilder->weld_button("ok"))
 {
 m_xCheckedStateBtn->connect_clicked(LINK(this, SwContentControlDlg, 
SelectCharHdl));
@@ -116,6 +121,42 @@ SwContentControlDlg::SwContentControlDlg(weld::Window* 
pParent, SwWrtShell& rWrt
 m_xListItemsFrame->set_visible(false);
 m_xListItemButtons->set_visible(false);
 }
+
+if (m_pContentControl->GetDate())
+{
+m_xDateFormat->SetFormatType(SvNumFormatType::DATE);
+m_xDateFormat->SetShowLanguageControl(true);
+
+// Set height to double of the default.
+weld::TreeView& rTreeView = 
dynamic_cast(m_xDateFormat->get_widget());
+rTreeView.set_size_request(rTreeView.get_preferred_size().Width(),
+   rTreeView.get_height_rows(10));
+
+OUString sFormatString = m_pContentControl->GetDateFormat();
+OUString sLang = m_pContentControl->GetDateLanguage();
+if (!sFormatString.isEmpty() && !sLang.isEmpty())
+{
+SvNumberFormatter* pNumberFormatter = 
m_rWrtShell.GetNumberFormatter();
+LanguageType aLangType = LanguageTag(sLang).getLanguageType();
+sal_uInt32 nFormat = pNumberFormatter->GetEntryKey(sFormatString, 
aLangType);
+if (nFormat == NUMBERFORMAT_ENTRY_NOT_FOUND)
+{
+sal_Int32 nCheckPos = 0;
+SvNumFormatType nType;
+pNumberFormatter->PutEntry(sFormatString, nCheckPos, nType, 
nFormat,
+   
LanguageTag(sLang).getLanguageType());
+}
+
+if (aLangType != LANGUAGE_DONTKNOW && nFormat != 
NUMBERFORMAT_ENTRY_NOT_FOUND)
+{
+m_xDateFormat->SetDefFormat(nFormat);
+}
+}
+}
+else
+{
+m_xDateFrame->set_visible(false);
+}
 }
 
 SwContentControlDlg::~SwContentControlDlg() {}
@@ -159,6 +200,27 @@ IMPL_LINK_NOARG(SwContentControlDlg, OkHdl, weld::Button&, 
void)
 bChanged = true;
 }
 
+if (m_pContentControl->GetDate())
+{
+SvNumberFormatter* pNumberFormatter = m_rWrtShell.GetNumberFormatter();
+const SvNumberformat* pFormat = 
pNumberFormatter->GetEntry(m_xDateFormat->GetFormat());
+if (pFormat)
+{
+if (pFormat->GetFormatstring() != 
m_pContentControl->GetDateFormat())
+{
+m_pContentControl->SetDateFormat(pFormat->GetFormatstring());
+bChanged = true;
+}
+
+OUString aLanguage = 
LanguageTag(pFormat->GetLanguage()).getBcp47();
+if (aLanguage != m_pContentControl->GetDateLanguage())
+{
+m_pContentControl->SetDateLanguage(aLanguage);
+bChanged = true;
+}
+}
+}
+
 if (bChanged)
 {
 m_rWrtShell.GetDoc()->getIDocumentState().SetModified();
diff --git a/sw/source/uibase/inc/contentcontroldlg.hxx 
b/sw/source/uibase/inc/contentcontroldlg.hxx
index d4f90