[Libreoffice-commits] core.git: 2 commits - include/o3tl solenv/gdb

2022-08-31 Thread Noel Grandin (via logerrit)
 include/o3tl/sorted_vector.hxx |3 +++
 solenv/gdb/libreoffice/sw.py   |8 +++-
 2 files changed, 10 insertions(+), 1 deletion(-)

New commits:
commit 739f3bb7228fa8c33029af46093b4646f848814b
Author: Noel Grandin 
AuthorDate: Wed Aug 31 15:29:20 2022 +0200
Commit: Noel Grandin 
CommitDate: Thu Sep 1 08:58:01 2022 +0200

improve the SwContentIndex debug pretty printer

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

diff --git a/solenv/gdb/libreoffice/sw.py b/solenv/gdb/libreoffice/sw.py
index e669320fb41a..fc5ff62dad0e 100644
--- a/solenv/gdb/libreoffice/sw.py
+++ b/solenv/gdb/libreoffice/sw.py
@@ -46,8 +46,14 @@ class SwContentIndexPrinter(object):
 self.value = value
 
 def to_string(self):
+pNode = self.value['m_pContentNode']
+nodeindex = 'none'
+if pNode:
+node = pNode.dereference()
+block = node['m_pBlock'].dereference();
+nodeindex = block['nStart'] + node['m_nOffset']
 offset = self.value['m_nIndex']
-return "%s (offset %d)" % (self.typename, offset)
+return "%s (node %d offset %d)" % (self.typename, nodeindex, offset)
 
 class SwPaMPrinter(object):
 '''Prints SwPaM.'''
commit 019501e6827e176c70480822725f7fc7b6a59de4
Author: Noel Grandin 
AuthorDate: Wed Aug 31 11:35:45 2022 +0200
Commit: Noel Grandin 
CommitDate: Thu Sep 1 08:57:43 2022 +0200

cid#1500502,cid#1500623,cid#1500659 Resource leak

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

diff --git a/include/o3tl/sorted_vector.hxx b/include/o3tl/sorted_vector.hxx
index 13c0b25f8f0e..0f31bc517651 100644
--- a/include/o3tl/sorted_vector.hxx
+++ b/include/o3tl/sorted_vector.hxx
@@ -328,6 +328,7 @@ public:
 {
 Value tmp(const_cast(x));
 auto ret = super_sorted_vector::find(tmp);
+// coverity[ resource_leak : FALSE] - this is only a pretend 
unique_ptr, to avoid allocating a temporary
 tmp.release();
 return ret;
 }
@@ -338,6 +339,7 @@ public:
 {
 Value tmp(const_cast(x));
 auto ret = super_sorted_vector::upper_bound(tmp);
+// coverity[ resource_leak : FALSE] - this is only a pretend 
unique_ptr, to avoid allocating a temporary
 tmp.release();
 return ret;
 }
@@ -348,6 +350,7 @@ public:
 {
 Value tmp(const_cast(x));
 auto ret = super_sorted_vector::lower_bound(tmp);
+// coverity[ resource_leak : FALSE] - this is only a pretend 
unique_ptr, to avoid allocating a temporary
 tmp.release();
 return ret;
 }


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

2022-08-31 Thread Miklos Vajna (via logerrit)
 connectivity/source/drivers/writer/WTable.cxx |3 ---
 connectivity/source/inc/writer/WTable.hxx |6 +++---
 2 files changed, 3 insertions(+), 6 deletions(-)

New commits:
commit 50e743f210f35178b8c21628b023d50bf03e54f9
Author: Miklos Vajna 
AuthorDate: Wed Aug 31 20:03:50 2022 +0200
Commit: Miklos Vajna 
CommitDate: Thu Sep 1 08:34:24 2022 +0200

connectivity: use default member initializers in OWriterTable

It's less code and does the same.

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

diff --git a/connectivity/source/drivers/writer/WTable.cxx 
b/connectivity/source/drivers/writer/WTable.cxx
index 42b65173e09c..555cdd8dd0c4 100644
--- a/connectivity/source/drivers/writer/WTable.cxx
+++ b/connectivity/source/drivers/writer/WTable.cxx
@@ -171,9 +171,6 @@ OWriterTable::OWriterTable(sdbcx::OCollection* _pTables, 
OWriterConnection* _pCo
 : OWriterTable_BASE(_pTables, _pConnection, Name, Type, OUString() 
/*Description*/,
 OUString() /*SchemaName*/, OUString() /*CatalogName*/)
 , m_pWriterConnection(_pConnection)
-, m_nStartCol(0)
-, m_nDataCols(0)
-, m_bHasHeaders(false)
 {
 }
 
diff --git a/connectivity/source/inc/writer/WTable.hxx 
b/connectivity/source/inc/writer/WTable.hxx
index 90cdc2494411..38add348d242 100644
--- a/connectivity/source/inc/writer/WTable.hxx
+++ b/connectivity/source/inc/writer/WTable.hxx
@@ -40,9 +40,9 @@ class OWriterTable : public OWriterTable_BASE
 private:
 css::uno::Reference m_xTable;
 OWriterConnection* m_pWriterConnection;
-sal_Int32 m_nStartCol;
-sal_Int32 m_nDataCols;
-bool m_bHasHeaders;
+sal_Int32 m_nStartCol = 0;
+sal_Int32 m_nDataCols = 0;
+bool m_bHasHeaders = false;
 
 void fillColumns();
 


[Libreoffice-commits] core.git: sw/CppunitTest_sw_core_layout.mk sw/layoutwriter_setup.mk vcl/CppunitTest_vcl_pdfexport.mk vcl/CppunitTest_vcl_text.mk vcl/source vcl/unx

2022-08-31 Thread Caolán McNamara (via logerrit)
 sw/CppunitTest_sw_core_layout.mk   |2 +-
 sw/layoutwriter_setup.mk   |2 +-
 vcl/CppunitTest_vcl_pdfexport.mk   |2 +-
 vcl/CppunitTest_vcl_text.mk|5 +
 vcl/source/gdi/impglyphitem.cxx|8 +---
 vcl/source/outdev/font.cxx |   10 +++---
 vcl/unx/generic/fontmanager/fontconfig.cxx |7 +--
 7 files changed, 25 insertions(+), 11 deletions(-)

New commits:
commit 790b5c3cc3b6627c41696a0cccae88358a6fd1b6
Author: Caolán McNamara 
AuthorDate: Wed Aug 31 20:12:55 2022 +0100
Commit: Stephan Bergmann 
CommitDate: Thu Sep 1 08:11:18 2022 +0200

change ABORT_ON_NON_APPLICATION_FONT_USE to NON_APPLICATION_FONT_USE=...

with =abort to crash and burn if there is font/glyph fallback, and
lesser =deny to just restrict to the bundled fonts for the test.

Change-Id: I0a8f7046260c24f3bf24ec3a91489924486fb844
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/139132
Reviewed-by: Stephan Bergmann 
Tested-by: Stephan Bergmann 

diff --git a/sw/CppunitTest_sw_core_layout.mk b/sw/CppunitTest_sw_core_layout.mk
index 80dc1530fdb3..8d8458ea8c4e 100644
--- a/sw/CppunitTest_sw_core_layout.mk
+++ b/sw/CppunitTest_sw_core_layout.mk
@@ -74,7 +74,7 @@ $(eval $(call gb_CppunitTest_use_uiconfigs,sw_core_layout, \
 # assert if font/glyph fallback occurs
 $(call gb_CppunitTest_get_target,sw_core_layout): \
 EXTRA_ENV_VARS := \
-SAL_ABORT_ON_NON_APPLICATION_FONT_USE=1
+SAL_NON_APPLICATION_FONT_USE=abort
 
 $(eval $(call gb_CppunitTest_use_more_fonts,sw_core_layout))
 
diff --git a/sw/layoutwriter_setup.mk b/sw/layoutwriter_setup.mk
index 9d10fa9ac2c6..683ca04f4a9f 100644
--- a/sw/layoutwriter_setup.mk
+++ b/sw/layoutwriter_setup.mk
@@ -85,7 +85,7 @@ $(call gb_CppunitTest_get_target,sw_layoutwriter$(1)): \
 # assert if font/glyph fallback occurs
 $(call gb_CppunitTest_get_target,sw_layoutwriter$(1)): \
 EXTRA_ENV_VARS := \
-SAL_ABORT_ON_NON_APPLICATION_FONT_USE=1
+SAL_NON_APPLICATION_FONT_USE=abort
 
 $(eval $(call gb_CppunitTest_use_more_fonts,sw_layoutwriter$(1)))
 
diff --git a/vcl/CppunitTest_vcl_pdfexport.mk b/vcl/CppunitTest_vcl_pdfexport.mk
index 1810d69042e0..b43d14ee9857 100644
--- a/vcl/CppunitTest_vcl_pdfexport.mk
+++ b/vcl/CppunitTest_vcl_pdfexport.mk
@@ -46,7 +46,7 @@ $(eval $(call gb_CppunitTest_use_configuration,vcl_pdfexport))
 # assert if font/glyph fallback occurs
 $(call gb_CppunitTest_get_target,vcl_pdfexport): \
 EXTRA_ENV_VARS := \
-SAL_ABORT_ON_NON_APPLICATION_FONT_USE=1
+SAL_NON_APPLICATION_FONT_USE=abort
 
 $(eval $(call gb_CppunitTest_use_more_fonts,vcl_pdfexport))
 
diff --git a/vcl/CppunitTest_vcl_text.mk b/vcl/CppunitTest_vcl_text.mk
index 4ffa3b1990ca..cf091ba88c25 100644
--- a/vcl/CppunitTest_vcl_text.mk
+++ b/vcl/CppunitTest_vcl_text.mk
@@ -61,6 +61,11 @@ $(eval $(call gb_CppunitTest_use_components,vcl_text,\
 
 $(eval $(call gb_CppunitTest_use_configuration,vcl_text))
 
+# only allow bundled fonts, but don't abort if font/glyph fallback occurs
+$(call gb_CppunitTest_get_target,vcl_text): \
+EXTRA_ENV_VARS := \
+SAL_NON_APPLICATION_FONT_USE=deny
+
 $(eval $(call gb_CppunitTest_use_more_fonts,vcl_text))
 
 # vim: set noet sw=4 ts=4:
diff --git a/vcl/source/gdi/impglyphitem.cxx b/vcl/source/gdi/impglyphitem.cxx
index 53f9b1d18b9a..7bed1391c0d5 100644
--- a/vcl/source/gdi/impglyphitem.cxx
+++ b/vcl/source/gdi/impglyphitem.cxx
@@ -363,14 +363,16 @@ SalLayoutGlyphsCache::GetLayoutGlyphs(VclPtr outputDevice, c
 // part being underlined. Doing this for any two segments allows 
this optimization
 // even when the prefix of the string would use a different font.
 // TODO: Can those font differences be ignored?
-// Writer layouts tests enable 
SAL_ABORT_ON_NON_APPLICATION_FONT_USE in order
+// Writer layouts tests enable SAL_NON_APPLICATION_FONT_USE=abort 
in order
 // to make PrintFontManager::Substitute() abort if font fallback 
happens. When
 // laying out the entire string the chance this happens increases 
(e.g. testAbi11870
 // normally calls this function only for a part of a string, but 
this optimization
 // lays out the entire string and causes a fallback). Since this 
optimization
 // does not change result of this function, simply disable it for 
those tests.
-static bool bAbortOnFontSubstitute
-= getenv("SAL_ABORT_ON_NON_APPLICATION_FONT_USE") != nullptr;
+static const bool bAbortOnFontSubstitute = [] {
+const char* pEnv = getenv("SAL_NON_APPLICATION_FONT_USE");
+return pEnv && strcmp(pEnv, "abort") == 0;
+}();
 if (mLastSubstringKey.has_value() && !bAbortOnFontSubstitute)
 {
 sal_Int32 pos = nIndex;
diff --git a/vcl/source/outdev/font.cxx b/vcl/s

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

2022-08-31 Thread Andrea Gelmini (via logerrit)
 vcl/qa/cppunit/pdfexport/pdfexport.cxx |2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

New commits:
commit c54c576a5043dc5a0cc01f8c71897373516ae091
Author: Andrea Gelmini 
AuthorDate: Wed Aug 31 22:53:48 2022 +0200
Commit: Julien Nabet 
CommitDate: Thu Sep 1 07:21:49 2022 +0200

Fix typo

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

diff --git a/vcl/qa/cppunit/pdfexport/pdfexport.cxx 
b/vcl/qa/cppunit/pdfexport/pdfexport.cxx
index 4b25202bb2d4..4df845e45ed7 100644
--- a/vcl/qa/cppunit/pdfexport/pdfexport.cxx
+++ b/vcl/qa/cppunit/pdfexport/pdfexport.cxx
@@ -3605,7 +3605,7 @@ CPPUNIT_TEST_FIXTURE(PdfExportTest, testTdf139627)
 CPPUNIT_ASSERT_GREATER(aRect[jeh].getMinX(), aRect[tatweel].getMaxX());
 // Checking left gap
 // Kashida fails to reach to rehmim before the series of patches starting
-// with 3901e029bd39575f700e69a73818565d62226a23. The visible sypotom is
+// with 3901e029bd39575f700e69a73818565d62226a23. The visible symptom is
 // a gap in the left of Kashida.
 // CPPUNIT_ASSERT_LESS(aRect[rehmim].getMaxX(), aRect[tatweel].getMinX());
 


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

2022-08-31 Thread Caolán McNamara (via logerrit)
 vcl/qa/cppunit/complextext.cxx |   10 ++
 1 file changed, 2 insertions(+), 8 deletions(-)

New commits:
commit 22795263e6743005c4f7df3e0dcedd933ed133b4
Author: Caolán McNamara 
AuthorDate: Wed Aug 31 19:54:41 2022 +0100
Commit: خالد حسني 
CommitDate: Thu Sep 1 05:29:43 2022 +0200

use VirtualDevice, not WorkWindow, in test

like

commit 8ca13426ca50a9466f552ac1e2f062920003d5ea
Date:   Tue Aug 30 16:28:38 2022 +0300

Workaround interdependency of tests

Change-Id: Ic550f1cae45ff3145a3a25785499bf0d226e4940
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/139131
Tested-by: Jenkins
Reviewed-by: خالد حسني 

diff --git a/vcl/qa/cppunit/complextext.cxx b/vcl/qa/cppunit/complextext.cxx
index d052564d638b..77b9444d1c74 100644
--- a/vcl/qa/cppunit/complextext.cxx
+++ b/vcl/qa/cppunit/complextext.cxx
@@ -240,12 +240,9 @@ void VclComplexTextTest::testCaret()
 #if HAVE_MORE_FONTS
 // Test caret placement in fonts *without* ligature carets in GDEF table.
 
-ScopedVclPtrInstance pWin(static_cast(nullptr));
-CPPUNIT_ASSERT( pWin );
-
 vcl::Font aFont("DejaVu Sans", "Book", Size(0, 200));
 
-OutputDevice *pOutDev = pWin->GetOutDev();
+ScopedVclPtrInstance pOutDev;
 pOutDev->SetFont( aFont );
 
 OUString aText;
@@ -321,10 +318,7 @@ void VclComplexTextTest::testGdefCaret()
 #if HAVE_MORE_FONTS
 // Test caret placement in fonts *with* ligature carets in GDEF table.
 
-ScopedVclPtrInstance pWin(static_cast(nullptr));
-CPPUNIT_ASSERT( pWin );
-
-OutputDevice *pOutDev = pWin->GetOutDev();
+ScopedVclPtrInstance pOutDev;
 
 vcl::Font aFont;
 OUString aText;


Re: Minutes from the UX/design meeting 2022-Aug-31

2022-08-31 Thread Kohei Yoshida

On 31.08.2022 15:28, Mike Kaganski wrote:

Hi Heiko,

On 31.08.2022 21:57, Heiko Tietze wrote:
Since we should avoid cross-posting on mailing lists I wonder if 
anyone at the @dev and @qa list wants to follow these minutes - 
without reading the design list (which is very quite).


I read them, and I am not subscribed to the design list.


I do too, with interest.

Kohei


Re: [Libreoffice-qa] Minutes from the UX/design meeting 2022-Aug-31

2022-08-31 Thread Thorsten Behrens
Mike Kaganski wrote:
> I read them, and I am not subscribed to the design list.
> 
Same here. Worth keeping, IMO.

Cheers,

-- Thorsten


signature.asc
Description: PGP signature


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

2022-08-31 Thread Khaled Hosny (via logerrit)
 vcl/source/font/FeatureCollector.cxx |   41 +++
 1 file changed, 23 insertions(+), 18 deletions(-)

New commits:
commit 3e544b6938ee509a4f6df4c2e2996d71ce072506
Author: Khaled Hosny 
AuthorDate: Wed Aug 31 23:35:24 2022 +0200
Commit: خالد حسني 
CommitDate: Thu Sep 1 00:33:20 2022 +0200

FeatureCollector: check for alternates only in GSUB

hb_ot_layout_lookup_get_glyph_alternates() does not take a table ta and
GSUB table is assumed, but if we are checking GPOS table then we will
passing a lookup index from a different table and the result will be
garbage (e.g. think Inter’s kern feature has 8 alternate glyphs).

Change-Id: I78d5eb8304aee3321f492d15e3fc10db47cdc628
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/139138
Tested-by: خالد حسني 
Reviewed-by: خالد حسني 

diff --git a/vcl/source/font/FeatureCollector.cxx 
b/vcl/source/font/FeatureCollector.cxx
index 9430a7833e12..134462e0ed44 100644
--- a/vcl/source/font/FeatureCollector.cxx
+++ b/vcl/source/font/FeatureCollector.cxx
@@ -162,29 +162,34 @@ void FeatureCollector::collectForTable(hb_tag_t aTableTag)
 }
 }
 
-// Collect lookups in this feature, and input glyphs for each
-// lookup, and calculate the max number of alternates they have.
-unsigned int nLookups = hb_ot_layout_feature_get_lookups(
-m_pHbFace, aTableTag, nFeatureIdx, 0, nullptr, nullptr);
-std::vector aLookups(nLookups);
-hb_ot_layout_feature_get_lookups(m_pHbFace, aTableTag, 
nFeatureIdx, 0, &nLookups,
- aLookups.data());
 unsigned int nAlternates = 0;
-hb_set_t* pGlyphs = hb_set_create();
-for (unsigned int nLookupIdx : aLookups)
+if (aTableTag == HB_OT_TAG_GSUB)
 {
-hb_set_clear(pGlyphs);
-hb_ot_layout_lookup_collect_glyphs(m_pHbFace, aTableTag, 
nLookupIdx, nullptr,
-   pGlyphs, nullptr, nullptr);
-hb_codepoint_t nGlyphIdx = HB_SET_VALUE_INVALID;
-while (hb_set_next(pGlyphs, &nGlyphIdx))
+// Collect lookups in this feature, and input glyphs for each
+// lookup, and calculate the max number of alternates they 
have.
+unsigned int nLookups = hb_ot_layout_feature_get_lookups(
+m_pHbFace, aTableTag, nFeatureIdx, 0, nullptr, nullptr);
+std::vector aLookups(nLookups);
+hb_ot_layout_feature_get_lookups(m_pHbFace, aTableTag, 
nFeatureIdx, 0, &nLookups,
+ aLookups.data());
+
+hb_set_t* pGlyphs = hb_set_create();
+for (unsigned int nLookupIdx : aLookups)
 {
-nAlternates = std::max(
-nAlternates, hb_ot_layout_lookup_get_glyph_alternates(
- m_pHbFace, nLookupIdx, nGlyphIdx, 0, 
nullptr, nullptr));
+hb_set_clear(pGlyphs);
+hb_ot_layout_lookup_collect_glyphs(m_pHbFace, aTableTag, 
nLookupIdx, nullptr,
+   pGlyphs, nullptr, 
nullptr);
+hb_codepoint_t nGlyphIdx = HB_SET_VALUE_INVALID;
+while (hb_set_next(pGlyphs, &nGlyphIdx))
+{
+nAlternates
+= std::max(nAlternates,
+   
hb_ot_layout_lookup_get_glyph_alternates(
+   m_pHbFace, nLookupIdx, nGlyphIdx, 
0, nullptr, nullptr));
+}
 }
+hb_set_destroy(pGlyphs);
 }
-hb_set_destroy(pGlyphs);
 
 // Append the alternates to the feature parameters, keeping any
 // existing ones calculated from cvXX features above.


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

2022-08-31 Thread Khaled Hosny (via logerrit)
 sw/source/core/txtnode/fntcache.cxx |4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

New commits:
commit 912f238343b99d89766c9ddde3f211454a59ae0c
Author: Khaled Hosny 
AuthorDate: Wed Aug 31 21:27:25 2022 +0200
Commit: خالد حسني 
CommitDate: Wed Aug 31 23:41:38 2022 +0200

tdf#150710: Don’t draw kashida when drawing bullet

Passing the KashidaArray to the DrawText() calls for bullet drawing has
the undesired effect of drawing the Kashida’s in bullet color and
without overlap so they look wider than the regularly drawn ones. This
is a regression from:

commit 3901e029bd39575f700e69a73818565d62226a23
Author: Khaled Hosny 
Date:   Mon Aug 8 22:08:37 2022 +0200

tdf#104921: Cleanup Kashida insertion logic

Change-Id: I0c521249a9ffdd6b0cc273f0742bdeec53975a42
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/139133
Tested-by: Jenkins
Reviewed-by: خالد حسني 

diff --git a/sw/source/core/txtnode/fntcache.cxx 
b/sw/source/core/txtnode/fntcache.cxx
index 5e1a04fe7160..fa17f0617f13 100644
--- a/sw/source/core/txtnode/fntcache.cxx
+++ b/sw/source/core/txtnode/fntcache.cxx
@@ -1351,7 +1351,7 @@ void SwFntObj::DrawText( SwDrawTextInfo &rInf )
 rInf.GetOut().DrawTextArray( aTextOriginPos, rInf.GetText(),
  aKernArray, aKashidaArray, sal_Int32(rInf.GetIdx()), 
1 );
 if( bBullet )
-rInf.GetOut().DrawTextArray( aTextOriginPos, *pStr, 
aKernArray, aKashidaArray,
+rInf.GetOut().DrawTextArray( aTextOriginPos, *pStr, 
aKernArray, {},
  rInf.GetIdx() ? 1 : 0, 1 );
 }
 else
@@ -1513,7 +1513,7 @@ void SwFntObj::DrawText( SwDrawTextInfo &rInf )
 }
 }
 rInf.GetOut().DrawTextArray( aTextOriginPos, 
aBulletOverlay, aKernArray,
- aKashidaArray, nTmpIdx , nLen 
);
+ {}, nTmpIdx , nLen );
 pTmpFont->SetColor( aPreviousColor );
 
 pTmpFont->SetUnderline(aPreviousUnderline);


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

2022-08-31 Thread Michael Weghorn (via logerrit)
 winaccessibility/inc/AccObject.hxx  |4 
 winaccessibility/inc/AccObjectWinManager.hxx|1 
 winaccessibility/source/service/AccObject.cxx   |   15 ---
 winaccessibility/source/service/AccObjectWinManager.cxx |   79 
 4 files changed, 99 deletions(-)

New commits:
commit 7d873ed7043c4f7d671d443bcf92369b5fe37224
Author: Michael Weghorn 
AuthorDate: Wed Aug 31 16:06:20 2022 +0100
Commit: Michael Weghorn 
CommitDate: Wed Aug 31 23:38:11 2022 +0200

wina11y: Drop unused member and methods related to selection

Those were only used by
`AccObjectWinManager::UpdateAccSelection`,
which has been dropped in
Change-Id I49bfddb636721d9142a88b7ce1eb3ee3a2f9c695
("wina11y: Drop unused AccObjectWinManager::UpdateAccSelection").

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

diff --git a/winaccessibility/inc/AccObject.hxx 
b/winaccessibility/inc/AccObject.hxx
index 0b34f076b5d6..707d307242bc 100644
--- a/winaccessibility/inc/AccObject.hxx
+++ b/winaccessibility/inc/AccObject.hxx
@@ -48,7 +48,6 @@ class AccEventListener;
 class AccObjectManagerAgent;
 class AccObject;
 
-typedef std::map IAccSelectionList;
 typedef std::vector IAccChildList;
 
 
@@ -63,7 +62,6 @@ private:
 AccObject*  m_pParentObj;
 IAccChildList   m_childrenList;
 ::rtl::Reference  m_pListener;
-IAccSelectionList   m_selectionList;
 
 css::uno::Reference < css::accessibility::XAccessible > m_xAccRef;
 css::uno::Reference < css::accessibility::XAccessibleAction > 
m_xAccActionRef;
@@ -126,8 +124,6 @@ public:
 void  setFocus();
 void  unsetFocus();
 
-void  AddSelect(long index, AccObject* accObj);
-IAccSelectionList& GetSelection();
 void  setLocalizedResourceString();
 };
 
diff --git a/winaccessibility/source/service/AccObject.cxx 
b/winaccessibility/source/service/AccObject.cxx
index 7b3f1e6fc1db..1f7dc5df224d 100644
--- a/winaccessibility/source/service/AccObject.cxx
+++ b/winaccessibility/source/service/AccObject.cxx
@@ -953,21 +953,6 @@ bool AccObject::UpdateAccessibleInfoFromUnoToMSAA()
 return true;
 }
 
-/*
-   * Add a child selected element.
-   * @param pAccObj Child object pointer.
-   * @return
-   */
-void AccObject::AddSelect( long index, AccObject* accObj)
-{
-m_selectionList.emplace(index,accObj);
-}
-
-IAccSelectionList& AccObject::GetSelection()
-{
-return m_selectionList;
-}
-
 
 /**
* Set self to focus object in parent child list
commit 58649c1db48b888f7ce4946ca92895fa0bc63349
Author: Michael Weghorn 
AuthorDate: Wed Aug 31 15:50:36 2022 +0100
Commit: Michael Weghorn 
CommitDate: Wed Aug 31 23:37:56 2022 +0200

wina11y: Drop unused AccObjectWinManager::UpdateAccSelection

It was already unused when it was added in

commit a18bdb3bc05e761704cc345a66a9d642bc4f4a0a
Date:   Thu Nov 14 08:18:05 2013 +

Integrate branch of IAccessible2

`CMAccessible::get_accSelection` already queries
information on demand.

The dropped method looks like another one of the methods that
could be used for manual bookkeeping of information
instead of querying them from the underlying UNO
interfaces on demand. But retrieving them on demand
seems preferable, s.a. the commit message in

commit fcf4a26275d7503835f9aa23cb94938809840300
Author: Michael Weghorn 
Date:   Wed Jan 5 13:41:53 2022 +
tdf#146306 wina11y: Retrieve accessible desc on demand

> Querying up-to-date values from the underlying
> UNO interfaces on demand instead of doing extra
> manual bookkeeping in the winaccessibility code
> may be possible for more a11y attributes in addition
> to the accessible description handled in this commit,
> but each one will have to be looked at separately.

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

diff --git a/winaccessibility/inc/AccObjectWinManager.hxx 
b/winaccessibility/inc/AccObjectWinManager.hxx
index f1adfb0dc9d0..6ca9319f82a0 100644
--- a/winaccessibility/inc/AccObjectWinManager.hxx
+++ b/winaccessibility/inc/AccObjectWinManager.hxx
@@ -96,7 +96,6 @@ private:
 static void InsertAccChildNode(AccObject* pCurObj,AccObject* 
pParentObj,HWND pWnd);
 static void DeleteAccChildNode(AccObject* pChild);
 void   DeleteFromHwndXAcc(css::accessibility::XAccessible const * 
pXAcc );
-int  UpdateAccSelection(css::accessibility::XAccessible* pXAcc);
 
 ::rtl::Reference CreateAccEventListener(
 css::accessibility::XAccessible* pXAcc);
diff --git a/winaccessibility/source/service/AccObjectWinManager.cxx 
b/winaccessibility/source/service/A

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

2022-08-31 Thread Mike Kaganski (via logerrit)
 sc/source/ui/docshell/docsh.cxx |8 
 1 file changed, 4 insertions(+), 4 deletions(-)

New commits:
commit 0fa5b4e03ed981cd79ac9af57e616714fc41b685
Author: Mike Kaganski 
AuthorDate: Wed Aug 31 17:40:26 2022 +0300
Commit: Mike Kaganski 
CommitDate: Wed Aug 31 23:13:31 2022 +0200

tdf#150714: [API-CHANGE] change CSV default encoding to UTF-8

Makes import and export use UTF-8 instead of Windows-1252
when executed from API without options.

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

diff --git a/sc/source/ui/docshell/docsh.cxx b/sc/source/ui/docshell/docsh.cxx
index 1ded35299ae1..c2795c70673b 100644
--- a/sc/source/ui/docshell/docsh.cxx
+++ b/sc/source/ui/docshell/docsh.cxx
@@ -1272,9 +1272,9 @@ bool ScDocShell::ConvertFrom( SfxMedium& rMedium )
 if ( !bOptInit )
 {
 //  default for ascii import (from API without options):
-//  ISO8859-1/MS_1252 encoding, comma, double quotes
+//  UTF-8 encoding, comma, double quotes
 
-aOptions.SetCharSet( RTL_TEXTENCODING_MS_1252 );
+aOptions.SetCharSet(RTL_TEXTENCODING_UTF8);
 aOptions.SetFieldSeps( OUString(',') );
 aOptions.SetTextSep( '"' );
 }
@@ -2458,9 +2458,9 @@ bool ScDocShell::ConvertTo( SfxMedium &rMed )
 if ( sItStr.isEmpty() )
 {
 //  default for ascii export (from API without options):
-//  ISO8859-1/MS_1252 encoding, comma, double quotes
+//  UTF-8 encoding, comma, double quotes
 
-ScImportOptions aDefOptions( ',', '"', RTL_TEXTENCODING_MS_1252 );
+ScImportOptions aDefOptions(',', '"', RTL_TEXTENCODING_UTF8);
 sItStr = aDefOptions.BuildString();
 }
 


[Libreoffice-commits] core.git: Branch 'private/tvajngerl/staging' - 432 commits - accessibility/source avmedia/Library_avmediagst.mk avmedia/source basctl/source basegfx/CppunitTest_basegfx.mk basegf

2022-08-31 Thread Tomaž Vajngerl (via logerrit)
Rebased ref, commits from common ancestor:
commit d2818f4da2267a6b7823fda314ac7484a90dc24b
Author: Tomaž Vajngerl 
AuthorDate: Thu Nov 12 10:01:20 2020 +0100
Commit: Tomaž Vajngerl 
CommitDate: Wed Aug 31 23:09:11 2022 +0200

basegfx: added Length class as the base unit for length

Change-Id: I1d4790b60dd784e8b2e2e438274f3ebd6db4b60c

diff --git a/basegfx/CppunitTest_basegfx.mk b/basegfx/CppunitTest_basegfx.mk
index 88f4966262f2..98d3a5d41926 100644
--- a/basegfx/CppunitTest_basegfx.mk
+++ b/basegfx/CppunitTest_basegfx.mk
@@ -45,6 +45,7 @@ $(eval $(call gb_CppunitTest_add_exception_objects,basegfx,\
 basegfx/test/clipstate \
 basegfx/test/genericclipper \
 basegfx/test/VectorTest \
+basegfx/test/LengthUnitTest \
 ))
 
 # vim: set noet sw=4 ts=4:
diff --git a/basegfx/test/LengthUnitTest.cxx b/basegfx/test/LengthUnitTest.cxx
new file mode 100644
index ..421e98934c90
--- /dev/null
+++ b/basegfx/test/LengthUnitTest.cxx
@@ -0,0 +1,135 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ */
+
+#include 
+
+#include 
+#include 
+
+class LengthTest : public CppUnit::TestFixture
+{
+public:
+void testBasic()
+{
+gfx::Length cm = 1_cm + 5_cm - 2_cm;
+CPPUNIT_ASSERT_DOUBLES_EQUAL(4.0, cm.as_cm(), 1e-4);
+CPPUNIT_ASSERT_DOUBLES_EQUAL(0.04, cm.as_m(), 1e-4);
+CPPUNIT_ASSERT_DOUBLES_EQUAL(40.0, cm.as_mm(), 1e-4);
+CPPUNIT_ASSERT_EQUAL(sal_Int64(144), cm.raw());
+
+gfx::Length cm2 = 5_cm * 2;
+CPPUNIT_ASSERT_EQUAL(sal_Int64(360), cm2.raw());
+CPPUNIT_ASSERT_DOUBLES_EQUAL(10.0, cm2.as_cm(), 1e-4);
+
+// 1 km - 50 m = 950 m = 95000 cm
+gfx::Length cm3 = 10_cm - 5000_cm;
+CPPUNIT_ASSERT_EQUAL(sal_Int64(342), cm3.raw());
+CPPUNIT_ASSERT_DOUBLES_EQUAL(95000.0, cm3.as_cm(), 1e-4);
+
+gfx::Length cm4(1_cm);
+cm4 /= 2;
+CPPUNIT_ASSERT_EQUAL(sal_Int64(18), cm4.raw());
+CPPUNIT_ASSERT_DOUBLES_EQUAL(0.5, cm4.as_cm(), 1e-4);
+
+// (635 * 20) + 3 * (635 * 15) = 41275EMU
+gfx::Length pt = 1_pt + 3_px;
+CPPUNIT_ASSERT_DOUBLES_EQUAL(3.25, pt.as_pt(), 1e-4);
+CPPUNIT_ASSERT_DOUBLES_EQUAL(65.0, pt.as_twip(), 1e-4);
+CPPUNIT_ASSERT_DOUBLES_EQUAL(0.0451, pt.as_in(), 1e-4);
+CPPUNIT_ASSERT_EQUAL(sal_Int64(41275), pt.raw());
+
+gfx::Length inch = 1_in; // 1440 * 635
+CPPUNIT_ASSERT_DOUBLES_EQUAL(1440.0, inch.as_twip(), 1e-4);
+CPPUNIT_ASSERT_DOUBLES_EQUAL(96.0, inch.as_px(), 1e-4);
+CPPUNIT_ASSERT_DOUBLES_EQUAL(1.0, inch.as_in(), 1e-4);
+CPPUNIT_ASSERT_DOUBLES_EQUAL(914400.0, inch.as_emu(), 1e-4);
+CPPUNIT_ASSERT_EQUAL(sal_Int64(914400), inch.raw());
+
+// Conversion
+sal_Int64 asNumber(17_pt);
+asNumber += sal_Int64(1_pt);
+gfx::Length asLength = gfx::Length::emu(asNumber);
+CPPUNIT_ASSERT_EQUAL(sal_Int64(18 * 635 * 20), asLength.raw());
+
+gfx::Length maximum = gfx::Length::emu(SAL_MAX_INT64);
+CPPUNIT_ASSERT_DOUBLES_EQUAL(256204778801.5, maximum.as_m(), 1e-1);
+// 256204778 km
+CPPUNIT_ASSERT_EQUAL(sal_Int64(SAL_MAX_INT64), maximum.raw());
+
+gfx::Length minimum = gfx::Length::emu(SAL_MIN_INT64);
+CPPUNIT_ASSERT_DOUBLES_EQUAL(-256204778801.5, minimum.as_m(), 1e-1);
+CPPUNIT_ASSERT_DOUBLES_EQUAL(double(SAL_MIN_INT64), minimum.as_emu(), 
1e-1);
+CPPUNIT_ASSERT_EQUAL(sal_Int64(SAL_MIN_INT64), minimum.raw());
+
+// 27 emu + 33 emu + 360 emu = 420
+gfx::Length emus = 27_emu + 33_emu + 1_hmm;
+CPPUNIT_ASSERT_EQUAL(sal_Int64(420), emus.raw());
+
+//  Creation from number
+int number = 10;
+auto asCm = gfx::Length::cm(number);
+CPPUNIT_ASSERT_DOUBLES_EQUAL(10.0, asCm.as_cm(), 1e-4);
+CPPUNIT_ASSERT_EQUAL(sal_Int64(360), asCm.raw());
+
+auto asMm = gfx::Length::mm(number);
+CPPUNIT_ASSERT_DOUBLES_EQUAL(10.0, asMm.as_mm(), 1e-4);
+CPPUNIT_ASSERT_EQUAL(sal_Int64(36), asMm.raw());
+
+auto asInch = gfx::Length::in(number);
+CPPUNIT_ASSERT_DOUBLES_EQUAL(10.0, asInch.as_in(), 1e-4);
+CPPUNIT_ASSERT_EQUAL(sal_Int64(9144000), asInch.raw());
+
+auto aa = gfx::Length::hmm(10.1);
+CPPUNIT_ASSERT_EQUAL(sal_Int64(3600), aa.raw());
+
+auto bb = gfx::Length::hmm(10.1);
+CPPUNIT_ASSERT_EQUAL(sal_Int64(3636), bb.raw());
+}
+
+void testInRange()
+{
+gfx::Range2DL aRange(1_cm, 2_cm, 2_cm, 30_mm);
+CPPUNIT_ASSERT_EQUAL(1_cm, aRange.getMinX());
+CPPUNIT_ASSERT_EQUAL(2_cm, aRange.getMaxX());
+  

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

2022-08-31 Thread Caolán McNamara (via logerrit)
 vcl/source/gdi/impgraph.cxx |6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

New commits:
commit f887c9beee0da27acec3abf683d8031b2385ff5f
Author: Caolán McNamara 
AuthorDate: Wed Aug 31 12:38:00 2022 +0100
Commit: Caolán McNamara 
CommitDate: Wed Aug 31 22:23:16 2022 +0200

cid#1500610 Explicit null dereferenced

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

diff --git a/vcl/source/gdi/impgraph.cxx b/vcl/source/gdi/impgraph.cxx
index b790b4d40c14..31980b1d1beb 100644
--- a/vcl/source/gdi/impgraph.cxx
+++ b/vcl/source/gdi/impgraph.cxx
@@ -842,7 +842,7 @@ void ImpGraphic::setValuesForPrefSize(const Size& rPrefSize)
 
 // #108077# Push through pref size to animation object,
 // will be lost on copy otherwise
-if (isAnimated())
+if (mpAnimation)
 {
 const_cast< BitmapEx& 
>(mpAnimation->GetBitmapEx()).SetPrefSize(rPrefSize);
 }
@@ -932,7 +932,7 @@ void ImpGraphic::setValuesForPrefMapMod(const MapMode& 
rPrefMapMode)
 {
 // #108077# Push through pref mapmode to animation object,
 // will be lost on copy otherwise
-if (isAnimated())
+if (mpAnimation)
 {
 
const_cast(mpAnimation->GetBitmapEx()).SetPrefMapMode(rPrefMapMode);
 }
@@ -1235,7 +1235,7 @@ bool ImpGraphic::swapOutGraphic(SvStream& rStream)
 maVectorGraphicData->getBinaryDataContainer().getData(),
 maVectorGraphicData->getBinaryDataContainer().getSize());
 }
-else if (isAnimated())
+else if (mpAnimation)
 {
 rStream.WriteInt32(sal_Int32(GraphicContentType::Animation));
 WriteAnimation(rStream, *mpAnimation);


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

2022-08-31 Thread Caolán McNamara (via logerrit)
 vcl/source/edit/textundo.cxx |1 +
 1 file changed, 1 insertion(+)

New commits:
commit 5cb20b2084cf2270ba2c8f15fd899e2575696bad
Author: Caolán McNamara 
AuthorDate: Wed Aug 31 12:27:29 2022 +0100
Commit: Caolán McNamara 
CommitDate: Wed Aug 31 22:21:59 2022 +0200

cid#1500647 silence Resource leak

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

diff --git a/vcl/source/edit/textundo.cxx b/vcl/source/edit/textundo.cxx
index 9bc85b73911d..e53e60e5d5af 100644
--- a/vcl/source/edit/textundo.cxx
+++ b/vcl/source/edit/textundo.cxx
@@ -174,6 +174,7 @@ void TextUndoDelPara::Redo()
 auto it = ::std::find_if( rDocNodes.begin(), rDocNodes.end(),
   [&] (std::unique_ptr const & p) { 
return p.get() == mpNode; } );
 assert(it != rDocNodes.end());
+// coverity[leaked_storage : FALSE] - ownership transferred to this with 
mbDelObject
 it->release();
 GetDoc()->GetNodes().erase( it );
 


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

2022-08-31 Thread Caolán McNamara (via logerrit)
 include/vcl/glyphitemcache.hxx  |2 ++
 vcl/source/gdi/impglyphitem.cxx |   16 
 2 files changed, 14 insertions(+), 4 deletions(-)

New commits:
commit 8b8810343dc25eb44c2a5500648b9afbc94ab7b8
Author: Caolán McNamara 
AuthorDate: Wed Aug 31 16:50:08 2022 +0100
Commit: Caolán McNamara 
CommitDate: Wed Aug 31 22:21:33 2022 +0200

glyph cache considered artificial italic the same as regular

The "true" font metrics are the same so it matches, though the
result when rendered is different. Do the same with artificial
emboldening too.

seen with Bahnschrift font from tdf#103596 and tdf#108497

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

diff --git a/include/vcl/glyphitemcache.hxx b/include/vcl/glyphitemcache.hxx
index 7541718f1135..6c151ffaabaf 100644
--- a/include/vcl/glyphitemcache.hxx
+++ b/include/vcl/glyphitemcache.hxx
@@ -76,6 +76,8 @@ private:
 MapMode mapMode;
 bool rtl;
 bool disabledLigatures; // because of fixed pitch
+bool artificialItalic;
+bool artificialBold;
 vcl::text::ComplexTextLayoutFlags layoutMode;
 LanguageType digitLanguage;
 size_t hashValue;
diff --git a/vcl/source/gdi/impglyphitem.cxx b/vcl/source/gdi/impglyphitem.cxx
index df35d5a5fe37..53f9b1d18b9a 100644
--- a/vcl/source/gdi/impglyphitem.cxx
+++ b/vcl/source/gdi/impglyphitem.cxx
@@ -484,7 +484,11 @@ SalLayoutGlyphsCache::CachedGlyphsKey::CachedGlyphsKey(
 {
 const LogicalFontInstance* fi = outputDevice->GetFontInstance();
 fi->GetScale(&fontScaleX, &fontScaleY);
-disabledLigatures = fi->GetFontSelectPattern().GetPitch() == PITCH_FIXED;
+
+const vcl::font::FontSelectPattern& rFSD = fi->GetFontSelectPattern();
+disabledLigatures = rFSD.GetPitch() == PITCH_FIXED;
+artificialItalic = rFSD.GetItalic() != ITALIC_NONE && 
fontMetric.GetItalic() == ITALIC_NONE;
+artificialBold = rFSD.GetWeight() > WEIGHT_MEDIUM && 
fontMetric.GetWeight() <= WEIGHT_MEDIUM;
 
 hashValue = 0;
 o3tl::hash_combine(hashValue, vcl::text::FirstCharsStringHash()(text));
@@ -502,6 +506,8 @@ SalLayoutGlyphsCache::CachedGlyphsKey::CachedGlyphsKey(
 o3tl::hash_combine(hashValue, mapMode.GetHashValue());
 o3tl::hash_combine(hashValue, rtl);
 o3tl::hash_combine(hashValue, disabledLigatures);
+o3tl::hash_combine(hashValue, artificialItalic);
+o3tl::hash_combine(hashValue, artificialBold);
 o3tl::hash_combine(hashValue, layoutMode);
 o3tl::hash_combine(hashValue, digitLanguage.get());
 }
@@ -510,9 +516,11 @@ inline bool 
SalLayoutGlyphsCache::CachedGlyphsKey::operator==(const CachedGlyphs
 {
 return hashValue == other.hashValue && index == other.index && len == 
other.len
&& logicWidth == other.logicWidth && mapMode == other.mapMode && 
rtl == other.rtl
-   && disabledLigatures == other.disabledLigatures && layoutMode == 
other.layoutMode
-   && digitLanguage == other.digitLanguage && fontScaleX == 
other.fontScaleX
-   && fontScaleY == other.fontScaleY && 
fontMetric.EqualIgnoreColor(other.fontMetric)
+   && disabledLigatures == other.disabledLigatures
+   && artificialItalic == other.artificialItalic && artificialBold == 
other.artificialBold
+   && layoutMode == other.layoutMode && digitLanguage == 
other.digitLanguage
+   && fontScaleX == other.fontScaleX && fontScaleY == other.fontScaleY
+   && fontMetric.EqualIgnoreColor(other.fontMetric)
&& vcl::text::FastStringCompareEqual()(text, other.text);
 // Slower things last in the comparison.
 }


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

2022-08-31 Thread Maxim Monastirsky (via logerrit)
 sc/source/ui/drawfunc/drtxtob.cxx|2 +-
 sc/source/ui/view/editsh.cxx |2 +-
 sd/source/ui/view/drtxtob.cxx|2 +-
 sw/source/uibase/shells/annotsh.cxx  |2 +-
 sw/source/uibase/shells/drwtxtex.cxx |2 +-
 sw/source/uibase/shells/textsh1.cxx  |2 +-
 6 files changed, 6 insertions(+), 6 deletions(-)

New commits:
commit a72861e3be5b89544ae943c0c5cc6d43e8e70a7d
Author: Maxim Monastirsky 
AuthorDate: Wed Aug 31 16:55:41 2022 +0300
Commit: Maxim Monastirsky 
CommitDate: Wed Aug 31 21:53:56 2022 +0200

tdf#150506 Execution parameter confused with slot state

Regression of a6eddceda5d376cd73922123a3bb3a5683307c41
("rename some SID to FN_PARAM").

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

diff --git a/sc/source/ui/drawfunc/drtxtob.cxx 
b/sc/source/ui/drawfunc/drtxtob.cxx
index 3e8a7f975f23..ec796f4a8521 100644
--- a/sc/source/ui/drawfunc/drtxtob.cxx
+++ b/sc/source/ui/drawfunc/drtxtob.cxx
@@ -450,7 +450,7 @@ void ScDrawTextObjectBar::GetState( SfxItemSet& rSet )
 EditView& rEditView = pOutView->GetEditView();
 bIsLookUpWord = GetStatusValueForThesaurusFromContext( aStatusVal, 
nLang, rEditView );
 }
-rSet.Put( SfxStringItem( FN_PARAM_THES_WORD_REPLACE, aStatusVal ) );
+rSet.Put( SfxStringItem( SID_THES, aStatusVal ) );
 
 // disable thesaurus main menu and context menu entry if there is 
nothing to look up
 bool bCanDoThesaurus = ScModule::HasThesaurusLanguage( nLang );
diff --git a/sc/source/ui/view/editsh.cxx b/sc/source/ui/view/editsh.cxx
index dbfd28404fd7..0fd33f62ed6d 100644
--- a/sc/source/ui/view/editsh.cxx
+++ b/sc/source/ui/view/editsh.cxx
@@ -817,7 +817,7 @@ void ScEditShell::GetState( SfxItemSet& rSet )
 LanguageTypenLang = LANGUAGE_NONE;
 bool bIsLookUpWord = pActiveView &&
 GetStatusValueForThesaurusFromContext(aStatusVal, 
nLang, *pActiveView);
-rSet.Put( SfxStringItem( FN_PARAM_THES_WORD_REPLACE, 
aStatusVal ) );
+rSet.Put( SfxStringItem( SID_THES, aStatusVal ) );
 
 // disable thesaurus context menu entry if there is 
nothing to look up
 bool bCanDoThesaurus = ScModule::HasThesaurusLanguage( 
nLang );
diff --git a/sd/source/ui/view/drtxtob.cxx b/sd/source/ui/view/drtxtob.cxx
index b3f53c7a6860..b10af08289fa 100644
--- a/sd/source/ui/view/drtxtob.cxx
+++ b/sd/source/ui/view/drtxtob.cxx
@@ -415,7 +415,7 @@ void TextObjectBar::GetAttrState( SfxItemSet& rSet )
 OUStringaStatusVal;
 LanguageTypenLang = LANGUAGE_NONE;
 bool bIsLookUpWord = 
GetStatusValueForThesaurusFromContext( aStatusVal, nLang, rEditView );
-rSet.Put( SfxStringItem( FN_PARAM_THES_WORD_REPLACE, 
aStatusVal ) );
+rSet.Put( SfxStringItem( SID_THES, aStatusVal ) );
 
 // disable "Thesaurus" context menu entry if there is 
nothing to look up
 uno::Reference< linguistic2::XThesaurus > xThes( 
LinguMgr::GetThesaurus() );
diff --git a/sw/source/uibase/shells/annotsh.cxx 
b/sw/source/uibase/shells/annotsh.cxx
index 26d3d7f67513..3dcfc6a4a346 100644
--- a/sw/source/uibase/shells/annotsh.cxx
+++ b/sw/source/uibase/shells/annotsh.cxx
@@ -1399,7 +1399,7 @@ void SwAnnotationShell::GetLinguState(SfxItemSet &rSet)
 OUStringaStatusVal;
 LanguageTypenLang = LANGUAGE_NONE;
 bool bIsLookUpWord = GetStatusValueForThesaurusFromContext( 
aStatusVal, nLang, pOLV->GetEditView() );
-rSet.Put( SfxStringItem( FN_PARAM_THES_WORD_REPLACE, 
aStatusVal ) );
+rSet.Put( SfxStringItem( SID_THES, aStatusVal ) );
 
 // disable "Thesaurus" context menu entry if there is nothing 
to look up
 uno::Reference< linguistic2::XThesaurus >  xThes( 
::GetThesaurus() );
diff --git a/sw/source/uibase/shells/drwtxtex.cxx 
b/sw/source/uibase/shells/drwtxtex.cxx
index 0891d65c57d8..1a5f3a8665d4 100644
--- a/sw/source/uibase/shells/drwtxtex.cxx
+++ b/sw/source/uibase/shells/drwtxtex.cxx
@@ -703,7 +703,7 @@ void SwDrawTextShell::GetState(SfxItemSet& rSet)
 LanguageType nLang = LANGUAGE_NONE;
 bool bIsLookUpWord
 = GetStatusValueForThesaurusFromContext(aStatusVal, nLang, 
pOLV->GetEditView());
-rSet.Put(SfxStringItem(FN_PARAM_THES_WORD_REPLACE, 
aStatusVal));
+rSet.Put(SfxStringItem(SID_THES, aStatusVal));
 
 // disable "Thesaurus" context menu entry if there is nothing 
to look up
 uno::Reference 
xThes(::GetThesaurus());
diff --git a/sw/source/uibase/shells/textsh1.cxx 
b/sw/source/uibase/sh

[Libreoffice-commits] core.git: dbaccess/CppunitTest_dbaccess_firebird_test.mk

2022-08-31 Thread Stephan Bergmann (via logerrit)
 dbaccess/CppunitTest_dbaccess_firebird_test.mk |4 
 1 file changed, 4 insertions(+)

New commits:
commit f6f0ef29f17a7afebd855dc06bd7172884649d73
Author: Stephan Bergmann 
AuthorDate: Wed Aug 31 11:14:24 2022 +0200
Commit: Stephan Bergmann 
CommitDate: Wed Aug 31 21:41:26 2022 +0200

Missing test dependency

> warn:vcl.builder:1135119:1135119:vcl/source/window/builder.cxx:480: 
DBG_UNHANDLED_EXCEPTION in VclBuilder
> when: Unable to read .ui file exception: 
com.sun.star.container.NoSuchElementException message: 
"file:///.../instdir/share/config/soffice.cfg/dbaccess/ui/appborderwindow.ui"
> 
warn:dbaccess:1135119:1135119:dbaccess/source/filter/xml/dbloader2.cxx:460: 
DBG_UNHANDLED_EXCEPTION in load exception: 
com.sun.star.container.NoSuchElementException message: 
"file:///.../instdir/share/config/soffice.cfg/dbaccess/ui/appborderwindow.ui"
> unotest/source/cpp/macros_test.cxx:74:FirebirdTest::testEmptyDBConnection
> assertion failed
> - Expression: xComponent.is()
> - loading failed: 
file:tmp/FirebirdTest__testEmptyDBConnection_2lyauo.tmp

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

diff --git a/dbaccess/CppunitTest_dbaccess_firebird_test.mk 
b/dbaccess/CppunitTest_dbaccess_firebird_test.mk
index 5065520993e2..c9ca5b9bf4bb 100644
--- a/dbaccess/CppunitTest_dbaccess_firebird_test.mk
+++ b/dbaccess/CppunitTest_dbaccess_firebird_test.mk
@@ -67,4 +67,8 @@ $(eval $(call 
gb_CppunitTest_use_components,dbaccess_firebird_test,\
 
 $(eval $(call gb_CppunitTest_use_configuration,dbaccess_firebird_test))
 
+$(eval $(call gb_CppunitTest_use_uiconfigs,dbaccess_firebird_test, \
+dbaccess \
+))
+
 # vim: set noet sw=4 ts=4:


Re: Minutes from the UX/design meeting 2022-Aug-31

2022-08-31 Thread Mike Kaganski

Hi Heiko,

On 31.08.2022 21:57, Heiko Tietze wrote:
Since we should avoid cross-posting on mailing lists I wonder if anyone 
at the @dev and @qa list wants to follow these minutes - without reading 
the design list (which is very quite).


I read them, and I am not subscribed to the design list.


--
Best regards,
Mike Kaganski


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

2022-08-31 Thread Noel Grandin (via logerrit)
 sw/source/core/doc/docbm.cxx |   14 +++---
 1 file changed, 7 insertions(+), 7 deletions(-)

New commits:
commit 0f0cc045e06c8f3cd3f9780054f2259c6a0995f7
Author: Noel Grandin 
AuthorDate: Wed Aug 31 16:10:23 2022 +0200
Commit: Noel Grandin 
CommitDate: Wed Aug 31 21:28:06 2022 +0200

use more SwPosition::Assign

part of hiding the internals of SwPosition

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

diff --git a/sw/source/core/doc/docbm.cxx b/sw/source/core/doc/docbm.cxx
index be33e061b281..5b0b40a6b5ee 100644
--- a/sw/source/core/doc/docbm.cxx
+++ b/sw/source/core/doc/docbm.cxx
@@ -1849,25 +1849,25 @@ void SaveBookmark::SetInDoc(
 {
 SwPaM aPam(rNewPos);
 if(oContentIdx)
-aPam.GetPoint()->nContent = *oContentIdx;
+aPam.GetPoint()->SetContent( *oContentIdx );
 
 if(NODE_OFFSET_MAX != m_nNode2)
 {
 aPam.SetMark();
 
-aPam.GetMark()->nNode += m_nNode2;
+aPam.GetMark()->Adjust(m_nNode2);
 if(oContentIdx && !m_nNode2)
-aPam.GetMark()->nContent += m_nContent2;
+aPam.GetMark()->SetContent(*oContentIdx + m_nContent2);
 else
-aPam.GetMark()->nContent.Assign(aPam.GetMarkContentNode(), 
m_nContent2);
+aPam.GetMark()->SetContent(m_nContent2);
 }
 
-aPam.GetPoint()->nNode += m_nNode1;
+aPam.GetPoint()->Adjust(m_nNode1);
 
 if(oContentIdx && !m_nNode1)
-aPam.GetPoint()->nContent += m_nContent1;
+aPam.GetPoint()->SetContent(*oContentIdx + m_nContent1);
 else
-aPam.GetPoint()->nContent.Assign(aPam.GetPointContentNode(), 
m_nContent1);
+aPam.GetPoint()->SetContent(m_nContent1);
 
 if(aPam.HasMark()
 && !CheckNodesRange(aPam.GetPoint()->GetNode(), 
aPam.GetMark()->GetNode(), true))


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

2022-08-31 Thread Noel Grandin (via logerrit)
 sw/source/core/doc/docbm.cxx |   29 ++---
 1 file changed, 14 insertions(+), 15 deletions(-)

New commits:
commit 62878fd6823c0ef05ced046fdf04b63bb189354b
Author: Noel Grandin 
AuthorDate: Wed Aug 31 15:53:25 2022 +0200
Commit: Noel Grandin 
CommitDate: Wed Aug 31 21:27:44 2022 +0200

use more SwPosition::Assign

part of hiding the internals of SwPosition

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

diff --git a/sw/source/core/doc/docbm.cxx b/sw/source/core/doc/docbm.cxx
index e3ab61505da6..be33e061b281 100644
--- a/sw/source/core/doc/docbm.cxx
+++ b/sw/source/core/doc/docbm.cxx
@@ -205,9 +205,9 @@ namespace
 bool lcl_MarkOrderingByStart(const ::sw::mark::MarkBase *const pFirst,
  const ::sw::mark::MarkBase *const pSecond)
 {
-auto const& rFirstStart(pFirst->GetMarkStart());
-auto const& rSecondStart(pSecond->GetMarkStart());
-if (rFirstStart.nNode != rSecondStart.nNode)
+SwPosition const& rFirstStart(pFirst->GetMarkStart());
+SwPosition const& rSecondStart(pSecond->GetMarkStart());
+if (rFirstStart.GetNode() != rSecondStart.GetNode())
 {
 return rFirstStart.GetNode() < rSecondStart.GetNode();
 }
@@ -249,8 +249,7 @@ namespace
 const SwContentNode * const pContentNode,
 const bool bAtEnd)
 {
-rFoundPos.emplace(*pContentNode);
-rFoundPos->nContent.Assign(pContentNode, bAtEnd ? pContentNode->Len() 
: 0);
+rFoundPos.emplace(*pContentNode, bAtEnd ? pContentNode->Len() : 0);
 }
 
 // return a position at the begin of rEnd, if it is a ContentNode
@@ -528,7 +527,7 @@ void 
IDocumentMarkAccess::DeleteFieldmarkCommand(::sw::mark::IFieldmark const& r
 return; // TODO FORMDATE has no command?
 }
 SwPaM pam(sw::mark::FindFieldSep(rMark), rMark.GetMarkStart());
-++pam.GetPoint()->nContent; // skip CH_TXT_ATR_FIELDSTART
+pam.GetPoint()->AdjustContent(+1); // skip CH_TXT_ATR_FIELDSTART
 pam.GetDoc().getIDocumentContentOperations().DeleteAndJoin(pam);
 }
 
@@ -584,7 +583,7 @@ namespace sw::mark
 && (eMode == InsertMode::New
 ? *rPaM.GetPoint() != *rPaM.GetMark()
 // CopyText: pam covers CH_TXT_ATR_FORMELEMENT
-: (rPaM.GetPoint()->nNode != rPaM.GetMark()->nNode
+: (rPaM.GetPoint()->GetNode() != rPaM.GetMark()->GetNode()
 || rPaM.Start()->GetContentIndex() + 1 != 
rPaM.End()->GetContentIndex(
 {
 SAL_WARN("sw.core", "MarkManager::makeMark(..)"
@@ -883,7 +882,7 @@ namespace sw::mark
 {
 const SwNode* const pOldNode = &rOldNode;
 SwPosition aNewPos(rNewPos);
-aNewPos.nContent += nOffset;
+aNewPos.AdjustContent(nOffset);
 bool isSortingNeeded = false;
 
 for (auto ppMark = m_vAllMarks.begin();
@@ -926,7 +925,7 @@ namespace sw::mark
 {
 const SwNode* const pOldNode = &rOldNode;
 SwPosition aNewPos(rNewPos);
-aNewPos.nContent += nOffset;
+aNewPos.AdjustContent(nOffset);
 bool isSortingNeeded = false;
 
 for (auto ppMark = m_vAllMarks.begin();
@@ -944,10 +943,10 @@ namespace sw::mark
 if (dynamic_cast< ::sw::mark::CrossRefBookmark *>(pMark))
 {
 // ensure that cross ref bookmark always starts at 0
-aNewPosRel.nContent = 0; // HACK for WW8 import
+aNewPosRel.SetContent(0); // HACK for WW8 import
 isSortingNeeded = true; // and sort them to be safe...
 }
-aNewPosRel.nContent += pMark->GetMarkPos().GetContentIndex();
+
aNewPosRel.AdjustContent(pMark->GetMarkPos().GetContentIndex());
 pMark->SetMarkPos(aNewPosRel);
 bChangedPos = true;
 }
@@ -955,7 +954,7 @@ namespace sw::mark
 &pMark->GetOtherMarkPos().GetNode() == pOldNode)
 {
 SwPosition aNewPosRel(aNewPos);
-aNewPosRel.nContent += 
pMark->GetOtherMarkPos().GetContentIndex();
+
aNewPosRel.AdjustContent(pMark->GetOtherMarkPos().GetContentIndex());
 pMark->SetOtherMarkPos(aNewPosRel);
 bChangedOPos = true;
 }
@@ -1031,7 +1030,7 @@ namespace sw::mark
 bDeleteMark = rbIsOtherPosInRange
   || pMark->IsExpanded()
   || !oStartContentIdx.has_value()
-  || pMark->GetMarkPos().nNode != rStt
+  || pMark->GetMarkPos().GetNode() != rStt
   || pMark->GetMarkPos().GetContentIndex() != 
*oStartContentIdx;
   

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

2022-08-31 Thread Noel Grandin (via logerrit)
 svx/source/table/tablerow.cxx |2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

New commits:
commit 00c03d8947d05e17086aaa48dba6ed70d5eb0078
Author: Noel Grandin 
AuthorDate: Wed Aug 31 10:59:13 2022 +0200
Commit: Noel Grandin 
CommitDate: Wed Aug 31 21:26:26 2022 +0200

cid#1509246 Inefficient vector resizing with reserve.

preserve the benefits of reserving with the benefits of logarithmic
doubling

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

diff --git a/svx/source/table/tablerow.cxx b/svx/source/table/tablerow.cxx
index 2b65fc0529fc..5ea999413c3d 100644
--- a/svx/source/table/tablerow.cxx
+++ b/svx/source/table/tablerow.cxx
@@ -113,7 +113,7 @@ void TableRow::insertColumns( sal_Int32 nIndex, sal_Int32 
nCount, CellVector::it
 maCells.insert( maCells.begin() + nIndex, *pIter, (*pIter) + nCount );
 else
 {
-maCells.reserve( maCells.size() + nCount );
+maCells.reserve( std::max(maCells.size() + nCount, 
maCells.size() * 2) );
 for ( sal_Int32 i = 0; i < nCount; i++ )
 maCells.insert( maCells.begin() + nIndex + i, 
mxTableModel->createCell() );
 }


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

2022-08-31 Thread Noel Grandin (via logerrit)
 sc/source/filter/xml/XMLStylesImportHelper.cxx |2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

New commits:
commit 32726168948ead21d455f2f836c788d1a665dad1
Author: Noel Grandin 
AuthorDate: Wed Aug 31 10:55:51 2022 +0200
Commit: Noel Grandin 
CommitDate: Wed Aug 31 21:25:26 2022 +0200

cid#1509196 Inefficient vector resizing with reserve.

preserve the benefits of reserving with the benefits of logarithmic
doubling

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

diff --git a/sc/source/filter/xml/XMLStylesImportHelper.cxx 
b/sc/source/filter/xml/XMLStylesImportHelper.cxx
index e52466a54c4c..3d4bade0e2b8 100644
--- a/sc/source/filter/xml/XMLStylesImportHelper.cxx
+++ b/sc/source/filter/xml/XMLStylesImportHelper.cxx
@@ -299,7 +299,7 @@ void ScMyStylesImportHelper::AddColumnStyle(const OUString& 
sStyleName, const sa
 {
 OSL_ENSURE(static_cast(nColumn) == aColDefaultStyles.size(), 
"some columns are absent");
 ScMyStylesMap::iterator aItr(GetIterator(sStyleName));
-aColDefaultStyles.reserve(aColDefaultStyles.size() + nRepeat);
+aColDefaultStyles.reserve(std::max(aColDefaultStyles.size() + 
nRepeat, aColDefaultStyles.size() * 2));
 for (sal_Int32 i = 0; i < nRepeat; ++i)
 aColDefaultStyles.push_back(aItr);
 }


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

2022-08-31 Thread Caolán McNamara (via logerrit)
 sw/source/core/unocore/unocrsr.cxx |1 
 vcl/qa/cppunit/pdfexport/data/justified-arabic-kashida.odt |binary
 vcl/qa/cppunit/pdfexport/pdfexport.cxx |   84 +
 3 files changed, 85 insertions(+)

New commits:
commit d8e70a0b831f53961249ef0ac93bab1bc66f2818
Author: Caolán McNamara 
AuthorDate: Wed Aug 31 12:22:02 2022 +0100
Commit: Caolán McNamara 
CommitDate: Wed Aug 31 21:17:34 2022 +0200

cid#1500692 silence Use after free

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

diff --git a/sw/source/core/unocore/unocrsr.cxx 
b/sw/source/core/unocore/unocrsr.cxx
index c61fa317c598..6c1006673283 100644
--- a/sw/source/core/unocore/unocrsr.cxx
+++ b/sw/source/core/unocore/unocrsr.cxx
@@ -48,6 +48,7 @@ SwUnoCursor::~SwUnoCursor()
 pNxt->MoveTo(nullptr); // remove from chain
 delete pNxt;   // and delete
 }
+// coverity[deref_arg] - GetNext() is not a use after free at this point
 }
 
 bool SwUnoCursor::IsReadOnlyAvailable() const
commit e8c0a88d640b32129eae6c9042fd908c2892c7e1
Author: Hossein 
AuthorDate: Wed Aug 31 13:13:14 2022 +0200
Commit: Hossein 
CommitDate: Wed Aug 31 21:17:19 2022 +0200

tdf#139627 Test justified Arabic/Persian text to avoid gaps/big overlaps

With the patches 3901e02..62ff105 from Khaled, many problems with the
justified Arabic/Persian text which were related to Kashida are fixed.
Here, we add a test for tdf#139627 which converts the example file to
the PDF format, then checks the width and the position of the characters
in the output to make sure:

* The characters are present in the PDF file in the correct order
* The characters are joined together
* The diacritic mark is positioned correctly
* The overlapping of the tatweel character is not more than 10% of the
  first character

Sample odt file uses "Noto Arabic Sans" font, which is available via
LibreOffice on all platforms.

One may run the test with:

make CPPUNIT_TEST_NAME=testTdf139627 -sr CppunitTest_vcl_pdfexport

Change-Id: I7a826a1b43ee842978decb0cf9a5e2a3b7219982
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/138328
Tested-by: Jenkins
Reviewed-by: Hossein 

diff --git a/vcl/qa/cppunit/pdfexport/data/justified-arabic-kashida.odt 
b/vcl/qa/cppunit/pdfexport/data/justified-arabic-kashida.odt
new file mode 100644
index ..6ca6ad196546
Binary files /dev/null and 
b/vcl/qa/cppunit/pdfexport/data/justified-arabic-kashida.odt differ
diff --git a/vcl/qa/cppunit/pdfexport/pdfexport.cxx 
b/vcl/qa/cppunit/pdfexport/pdfexport.cxx
index 057773c3ddaf..4b25202bb2d4 100644
--- a/vcl/qa/cppunit/pdfexport/pdfexport.cxx
+++ b/vcl/qa/cppunit/pdfexport/pdfexport.cxx
@@ -3535,6 +3535,90 @@ CPPUNIT_TEST_FIXTURE(PdfExportTest, testBitmapScaledown)
 }
 } // end anonymous namespace
 
+CPPUNIT_TEST_FIXTURE(PdfExportTest, testTdf139627)
+{
+aMediaDescriptor["FilterName"] <<= OUString("writer_pdf_Export");
+saveAsPDF(u"justified-arabic-kashida.odt");
+std::unique_ptr pPdfDocument = parseExport();
+CPPUNIT_ASSERT(pPdfDocument);
+
+// The document has one page.
+CPPUNIT_ASSERT_EQUAL(1, pPdfDocument->getPageCount());
+std::unique_ptr pPdfPage = 
pPdfDocument->openPage(/*nIndex=*/0);
+CPPUNIT_ASSERT(pPdfPage);
+
+// 7 or 8 objects, 4 text, others are path
+int nPageObjectCount = pPdfPage->getObjectCount();
+CPPUNIT_ASSERT_GREATEREQUAL(7, nPageObjectCount);
+
+// 4 text objects, "رم" (reh+mim), then "ِ" (kasreh), tatweel, and "ج" 
(jeh)
+OUString sText[4];
+
+/* With "Noto Sans Arabic" font, these are the X ranges on Linux:
+0: ( 61.75 - 218.35)
+1: (479.70 - 520.02)
+2: (209.40 - 457.08)
+3: (447.80 - 546.62)
+*/
+basegfx::B2DRectangle aRect[4];
+
+std::unique_ptr pTextPage = 
pPdfPage->getTextPage();
+std::unique_ptr pPageObject;
+
+int nTextObjectCount = 0;
+for (int i = 0; i < nPageObjectCount; ++i)
+{
+pPageObject = pPdfPage->getObject(i);
+CPPUNIT_ASSERT_MESSAGE("no object", pPageObject != nullptr);
+if (pPageObject->getType() == vcl::pdf::PDFPageObjectType::Text)
+{
+sText[nTextObjectCount] = pPageObject->getText(pTextPage);
+aRect[nTextObjectCount] = pPageObject->getBounds();
+++nTextObjectCount;
+}
+}
+CPPUNIT_ASSERT_EQUAL(4, nTextObjectCount);
+
+// Text: جِـرم (which means "mass" in Persian)
+// Rendered as (left to right): "reh + mim" - "tahtweel" - "kasreh" - "jeh"
+int rehmim = 0, kasreh = 1, tatweel = 2, jeh = 3;
+
+// Bad rendering can cause tatweel enumerated before kasreh
+// This can be the end of journey, but let's accept this for now
+if (sText[2].equals(u"ِ"))
+  

Re: Minutes from the UX/design meeting 2022-Aug-31

2022-08-31 Thread Heiko Tietze
Since we should avoid cross-posting on mailing lists I wonder if anyone at the 
@dev and @qa list wants to follow these minutes - without reading the design 
list (which is very quite). If not I'll not bother you anymore with these messages.


On 31.08.22 20:54, Heiko Tietze wrote:

Meeting minutes


OpenPGP_signature
Description: OpenPGP digital signature


Minutes from the UX/design meeting 2022-Aug-31

2022-08-31 Thread Heiko Tietze

Present: Cor, Heiko
Comments: Roman, Rafael, Stuart, Tristan, Wolfgang, Eike

Tickets/Topics

 * Rename character style "source text"
   + https://bugs.documentfoundation.org/show_bug.cgi?id=150619
   + go with "Monospaced" (Rafael)
   + merge "Source Text, Teletype, User Entry" into "Source Code" (Stuart)
   + use either "Source Code Style" or "Typewriter Style" (Tristan)
   + like "Typewriter" (without style) (Heiko)
   + prefer "Monospace" (Cor)
   => do it and try to remove unnecessary CS

 * "Copy version information" button in About dialog should have
   description label
   + https://bugs.documentfoundation.org/show_bug.cgi?id=143994
   + implemented intentionally as icon-only button (Roman, Heiko)
   + tooltip is sufficient (Cor)
   => WF/NAB

 * LineStartName / LineEndName "Symmetric Arrow" vanished
   + https://bugs.documentfoundation.org/show_bug.cgi?id=149917
   + equilateral triangle with the expectable directions,
 asked for in https://ask.libreoffice.org/t//79362I for a macro (Wolfgang)
   + reading bug 126648 it seems we renamed Symmetric Arrow to Arrow Short
   + macros may rely on a certain style and we should investigate if some
 solution per code (Cor)
 + Only then we can judge if it is reasonable to solve (somehow) or not...
 + strongly against such a restriction to keep _any random_ style; even with
   some code solution we cannot update the design
   + relying on some style (that can be deleted by the user, btw) or any other
 volatile content is wrong here; the mentioned macro needs to be written
 more carefully (Heiko)
   => reopen, comment, needsDevAdvice

 * CSV (Text) import dialog: Improve discoverability of Column type setting
   + https://bugs.documentfoundation.org/show_bug.cgi?id=150652
   + a) keep label enabled, b) auto select first column, c) show down arrow,
 d) show a static tip, e) switch from Standard to Text... (Heiko)
   + switching to Text has been refused; power users wants to load data without
 interruption (Mike)
   + a) makes sense, all the rest is not needed (Cor)
   => recommend to do a) (easyhackable), no strong objection against c)

 * [UI][RFE] clearly visible hint or tooltip when entering a non-number
   Conditional Formatting condition
   + https://bugs.documentfoundation.org/show_bug.cgi?id=150271
   + "+" is just no valid input, not much we can do (Eike)
   + corner case, let's keep it as it is (Cor)
   + to allow complex input such as formulas makes no sense (Heiko)
   => resolve WF/NAB


OpenPGP_signature
Description: OpenPGP digital signature


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

2022-08-31 Thread Caolán McNamara (via logerrit)
 starmath/source/mathml/export.cxx |2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

New commits:
commit ead23d945fb7bc794996c82287282bc385296ada
Author: Caolán McNamara 
AuthorDate: Wed Aug 31 11:27:07 2022 +0100
Commit: Caolán McNamara 
CommitDate: Wed Aug 31 20:53:26 2022 +0200

cid#1509247 reserve here can't be right

the assumption is that m_aSvXMLElementExportList[m_nDepth] can be
written to here, so it should at least be resize not reserve

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

diff --git a/starmath/source/mathml/export.cxx 
b/starmath/source/mathml/export.cxx
index 1c88d3f5664d..b55be509216b 100644
--- a/starmath/source/mathml/export.cxx
+++ b/starmath/source/mathml/export.cxx
@@ -1063,7 +1063,7 @@ public:
 inline void setDepthData(SvXMLElementExport* aSvXMLElementExportList)
 {
 if (m_nDepth == m_aSvXMLElementExportList.size())
-m_aSvXMLElementExportList.reserve(m_aSvXMLElementExportList.size() 
+ 1024);
+m_aSvXMLElementExportList.resize(m_aSvXMLElementExportList.size() 
+ 1024);
 m_aSvXMLElementExportList[m_nDepth] = aSvXMLElementExportList;
 }
 


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

2022-08-31 Thread Caolán McNamara (via logerrit)
 sw/source/filter/html/swhtml.cxx |9 -
 1 file changed, 8 insertions(+), 1 deletion(-)

New commits:
commit 5a7522d378e080eae4f3558102f0642d6f5fab71
Author: Caolán McNamara 
AuthorDate: Wed Aug 31 12:12:36 2022 +0100
Commit: Caolán McNamara 
CommitDate: Wed Aug 31 20:53:02 2022 +0200

ofz#39186 avoid Timeout

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

diff --git a/sw/source/filter/html/swhtml.cxx b/sw/source/filter/html/swhtml.cxx
index bb3413d19418..9fcb2e0032dd 100644
--- a/sw/source/filter/html/swhtml.cxx
+++ b/sw/source/filter/html/swhtml.cxx
@@ -4628,7 +4628,14 @@ void SwHTMLParser::SetTextCollAttrs( HTMLAttrContext 
*pContext )
 sal_uInt16 nLeftMargin = 0, nRightMargin = 0;   // the margins and
 short nFirstLineIndent = 0; // indentations
 
-for( auto i = m_nContextStAttrMin; i < m_aContexts.size(); ++i )
+auto nDepth = m_aContexts.size();
+if (m_bFuzzing && nDepth > 512)
+{
+SAL_WARN("sw.html", "Not applying any more text collection attributes 
to a deeply nested node for fuzzing performance");
+nDepth = 0;
+}
+
+for (auto i = m_nContextStAttrMin; i < nDepth; ++i)
 {
 const HTMLAttrContext *pCntxt = m_aContexts[i].get();
 


[Libreoffice-commits] core.git: editeng/source i18nlangtag/qa i18nlangtag/source include/i18nlangtag svx/source

2022-08-31 Thread Eike Rathke (via logerrit)
 editeng/source/misc/acorrcfg.cxx   |3 ++-
 i18nlangtag/qa/cppunit/test_languagetag.cxx|6 +++---
 i18nlangtag/source/languagetag/languagetag.cxx |5 +++--
 include/i18nlangtag/languagetag.hxx|   17 -
 svx/source/dialog/langbox.cxx  |2 +-
 5 files changed, 21 insertions(+), 12 deletions(-)

New commits:
commit 2c2e0568e89942cc8463c0da9aa7a3d177667178
Author: Eike Rathke 
AuthorDate: Wed Aug 31 14:08:26 2022 +0200
Commit: Eike Rathke 
CommitDate: Wed Aug 31 20:49:46 2022 +0200

Related: tdf#150370 Convert isValidBcp47() bool to enum 
LanguageTag::PrivateUse

... to prepare for more finegrained private-use control.

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

diff --git a/editeng/source/misc/acorrcfg.cxx b/editeng/source/misc/acorrcfg.cxx
index a97e5077ccb6..5806179bc5f0 100644
--- a/editeng/source/misc/acorrcfg.cxx
+++ b/editeng/source/misc/acorrcfg.cxx
@@ -83,7 +83,8 @@ static void scanAutoCorrectDirForLanguageTags( const 
OUString& rURL )
 // private-use tag (which should not fallback, but
 // avoid).
 if (aLanguageTag.getCountry().isEmpty()
-&& LanguageTag::isValidBcp47( aCanonicalized, 
nullptr, true))
+&& LanguageTag::isValidBcp47( aCanonicalized, 
nullptr,
+LanguageTag::PrivateUse::DISALLOW))
 {
 LanguageTag aFallback( aLanguageTag);
 aFallback.makeFallback();
diff --git a/i18nlangtag/qa/cppunit/test_languagetag.cxx 
b/i18nlangtag/qa/cppunit/test_languagetag.cxx
index 5b73b3cbf714..4a211012e80d 100644
--- a/i18nlangtag/qa/cppunit/test_languagetag.cxx
+++ b/i18nlangtag/qa/cppunit/test_languagetag.cxx
@@ -668,11 +668,11 @@ void TestLanguageTag::testAllTags()
 CPPUNIT_ASSERT( LanguageTag::isValidBcp47( "qaa", &aCanonicalized) );
 CPPUNIT_ASSERT_EQUAL( OUString("qaa"), aCanonicalized );
 CPPUNIT_ASSERT( !LanguageTag::isValidBcp47( "unreg-and-bad", 
&aCanonicalized) );
-CPPUNIT_ASSERT( LanguageTag::isValidBcp47( "en-US", &aCanonicalized, 
true) );
+CPPUNIT_ASSERT( LanguageTag::isValidBcp47( "en-US", &aCanonicalized, 
LanguageTag::PrivateUse::DISALLOW) );
 CPPUNIT_ASSERT_EQUAL( OUString("en-US"), aCanonicalized );
-CPPUNIT_ASSERT( !LanguageTag::isValidBcp47( "x-foobar", 
&aCanonicalized, true) );
+CPPUNIT_ASSERT( !LanguageTag::isValidBcp47( "x-foobar", 
&aCanonicalized, LanguageTag::PrivateUse::DISALLOW) );
 CPPUNIT_ASSERT_EQUAL( OUString("x-foobar"), aCanonicalized );
-CPPUNIT_ASSERT( LanguageTag::isValidBcp47( "qaa", &aCanonicalized, 
true) );
+CPPUNIT_ASSERT( LanguageTag::isValidBcp47( "qaa", &aCanonicalized, 
LanguageTag::PrivateUse::DISALLOW) );
 CPPUNIT_ASSERT_EQUAL( OUString("qaa"), aCanonicalized );
 CPPUNIT_ASSERT( LanguageTag::isValidBcp47( "de-Latn-DE", 
&aCanonicalized) );
 CPPUNIT_ASSERT_EQUAL( OUString("de-DE"), aCanonicalized );
diff --git a/i18nlangtag/source/languagetag/languagetag.cxx 
b/i18nlangtag/source/languagetag/languagetag.cxx
index 6d20c7304639..0b1ab1ac5a3e 100644
--- a/i18nlangtag/source/languagetag/languagetag.cxx
+++ b/i18nlangtag/source/languagetag/languagetag.cxx
@@ -2838,7 +2838,8 @@ LanguageType 
LanguageTag::convertToLanguageTypeWithFallback( const css::lang::Lo
 
 
 // static
-bool LanguageTag::isValidBcp47( const OUString& rString, OUString* 
o_pCanonicalized, bool bDisallowPrivate )
+bool LanguageTag::isValidBcp47( const OUString& rString, OUString* 
o_pCanonicalized,
+LanguageTag::PrivateUse ePrivateUse )
 {
 bool bValid = false;
 
@@ -2865,7 +2866,7 @@ bool LanguageTag::isValidBcp47( const OUString& rString, 
OUString* o_pCanonicali
 if (pTag)
 {
 bValid = true;
-if (bDisallowPrivate)
+if (ePrivateUse != PrivateUse::ALLOW)
 {
 const lt_string_t* pPrivate = lt_tag_get_privateuse( 
aVar.mpLangtag);
 if (pPrivate && lt_string_length( pPrivate) > 0)
diff --git a/include/i18nlangtag/languagetag.hxx 
b/include/i18nlangtag/languagetag.hxx
index 3b5fb3d6d445..5b9a43c05d81 100644
--- a/include/i18nlangtag/languagetag.hxx
+++ b/include/i18nlangtag/languagetag.hxx
@@ -515,6 +515,13 @@ public:
  */
 static LanguageType convertToLanguageTypeWithFallback( const 
css::lang::Locale& rLocale );
 
+/** Enums to be used with isValidBcp47(). */
+enum PrivateUse
+{
+ALLOW = 0,
+DISALLOW
+};
+
 /** If rString represents a valid BCP 47 language tag.
 
 Never resolves an empty tag to the system locale, in fact an empty
@@ -527,13 +534,13 @@ public:

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

2022-08-31 Thread Caolán McNamara (via logerrit)
 sfx2/source/appl/macroloader.cxx   |9 +++--
 sfx2/source/doc/iframe.cxx |   20 +++-
 sfx2/source/inc/macroloader.hxx|2 ++
 sw/source/filter/html/htmlplug.cxx |7 ++-
 sw/source/filter/xml/xmltexti.cxx  |9 +++--
 5 files changed, 37 insertions(+), 10 deletions(-)

New commits:
commit f5e3b0a7966d7d28817292adbb58fb43f28b7c6d
Author: Caolán McNamara 
AuthorDate: Tue Aug 30 17:01:08 2022 +0100
Commit: Christian Lohmaier 
CommitDate: Wed Aug 31 20:26:42 2022 +0200

check IFrame "FrameURL" target

similiar to

commit b3edf85e0fe6ca03dc26e1bf531be82193bc9627
Date:   Wed Aug 7 17:37:11 2019 +0100

warn on load when a document binds an event to a macro

Change-Id: Iea888b1c083d2dc69ec322309ac9ae8c5e5eb315
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/139059
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann 
(cherry picked from commit c7450d0b9d02c64ae3da467d329040787039767e)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/139117
Reviewed-by: Christian Lohmaier 

diff --git a/sfx2/source/appl/macroloader.cxx b/sfx2/source/appl/macroloader.cxx
index 3f8fb33636ad..d0281c5a4085 100644
--- a/sfx2/source/appl/macroloader.cxx
+++ b/sfx2/source/appl/macroloader.cxx
@@ -68,10 +68,10 @@ css::uno::Sequence SAL_CALL 
SfxMacroLoader::getSupportedServiceNames()
 return { "com.sun.star.frame.ProtocolHandler" };
 }
 
-SfxObjectShell* SfxMacroLoader::GetObjectShell_Impl()
+SfxObjectShell* SfxMacroLoader::GetObjectShell(const Reference & 
xFrame)
 {
 SfxObjectShell* pDocShell = nullptr;
-Reference < XFrame > xFrame( m_xFrame.get(), UNO_QUERY );
+
 if ( xFrame.is() )
 {
 SfxFrame* pFrame=nullptr;
@@ -88,6 +88,11 @@ SfxObjectShell* SfxMacroLoader::GetObjectShell_Impl()
 return pDocShell;
 }
 
+SfxObjectShell* SfxMacroLoader::GetObjectShell_Impl()
+{
+Reference < XFrame > xFrame( m_xFrame.get(), UNO_QUERY );
+return SfxMacroLoader::GetObjectShell(xFrame);
+}
 
 uno::Reference SAL_CALL SfxMacroLoader::queryDispatch(
 const util::URL&   aURL,
diff --git a/sfx2/source/doc/iframe.cxx b/sfx2/source/doc/iframe.cxx
index 58a387527e4a..80e0c4e68457 100644
--- a/sfx2/source/doc/iframe.cxx
+++ b/sfx2/source/doc/iframe.cxx
@@ -39,10 +39,12 @@
 #include 
 #include 
 #include 
+#include 
 #include 
 #include 
 #include 
 #include 
+#include 
 
 using namespace ::com::sun::star;
 
@@ -158,6 +160,19 @@ sal_Bool SAL_CALL IFrameObject::load(
 {
 if ( officecfg::Office::Common::Misc::PluginsEnabled::get() )
 {
+util::URL aTargetURL;
+aTargetURL.Complete = maFrmDescr.GetURL().GetMainURL( 
INetURLObject::DecodeMechanism::NONE );
+uno::Reference < util::XURLTransformer > xTrans( 
util::URLTransformer::create( mxContext ) );
+xTrans->parseStrict( aTargetURL );
+
+if (INetURLObject(aTargetURL.Complete).GetProtocol() == 
INetProtocol::Macro)
+{
+uno::Reference xParentFrame = 
xFrame->getCreator();
+SfxObjectShell* pDoc = 
SfxMacroLoader::GetObjectShell(xParentFrame);
+if (pDoc && !pDoc->AdjustMacroMode())
+return false;
+}
+
 DBG_ASSERT( !mxFrame.is(), "Frame already existing!" );
 VclPtr pParent = VCLUnoHelper::GetWindow( 
xFrame->getContainerWindow() );
 VclPtr pWin = VclPtr::Create( 
pParent, maFrmDescr.IsFrameBorderOn() );
@@ -180,11 +195,6 @@ sal_Bool SAL_CALL IFrameObject::load(
 if ( xFramesSupplier.is() )
 mxFrame->setCreator( xFramesSupplier );
 
-util::URL aTargetURL;
-aTargetURL.Complete = maFrmDescr.GetURL().GetMainURL( 
INetURLObject::DecodeMechanism::NONE );
-uno::Reference < util::XURLTransformer > xTrans( 
util::URLTransformer::create( mxContext ) );
-xTrans->parseStrict( aTargetURL );
-
 uno::Sequence < beans::PropertyValue > aProps{
 comphelper::makePropertyValue("PluginMode", sal_Int16(2)),
 comphelper::makePropertyValue("ReadOnly", true)
diff --git a/sfx2/source/inc/macroloader.hxx b/sfx2/source/inc/macroloader.hxx
index b51cae3d93cf..250a07cd8ca1 100644
--- a/sfx2/source/inc/macroloader.hxx
+++ b/sfx2/source/inc/macroloader.hxx
@@ -79,6 +79,8 @@ public:
 virtual void SAL_CALL addStatusListener( const css::uno::Reference< 
css::frame::XStatusListener >& xControl, const css::util::URL& aURL ) override;
 
 virtual void SAL_CALL removeStatusListener( const css::uno::Reference< 
css::frame::XStatusListener >& xControl, const css::util::URL& aURL ) override;
+
+static SfxObjectShell* GetObjectShell(const 
css::uno::Reference& xFrame);
 };
 
 #endif
diff --git a/sw/source/filter/html/htmlplug.cxx 
b/sw/source/filter/html/htmlplug.cxx
index fdd7bd675954..76e07d63073d 100644
--- a/sw/source/filter/html/htmlplug.cxx
+++ b/sw/source/filter/html/htmlplug.cxx
@@ -1100,7 +1100,12 @@ void SwHTMLParser::InsertFloatingFrame()
  

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

2022-08-31 Thread Mike Kaganski (via logerrit)
 sfx2/source/doc/docfile.cxx |2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

New commits:
commit 08385a624cbcd6d3de3476c76511545d4034a931
Author: Mike Kaganski 
AuthorDate: Wed Aug 31 14:03:00 2022 +0200
Commit: Mike Kaganski 
CommitDate: Wed Aug 31 19:42:00 2022 +0200

Empty salvage item was handled above

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

diff --git a/sfx2/source/doc/docfile.cxx b/sfx2/source/doc/docfile.cxx
index 29bb07b03e6e..a4712e022a4d 100644
--- a/sfx2/source/doc/docfile.cxx
+++ b/sfx2/source/doc/docfile.cxx
@@ -2934,7 +2934,7 @@ void SfxMedium::Init_Impl()
 }
 }
 
-if ( pSalvageItem && !pSalvageItem->GetValue().isEmpty() )
+if ( pSalvageItem )
 {
 std::unique_lock chkEditLock;
 if (pImpl->m_pCheckEditableWorkerMutex != nullptr)


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

2022-08-31 Thread Heiko Tietze (via logerrit)
 sfx2/uiconfig/ui/documentinfopage.ui |   26 +++---
 solenv/sanitizers/ui/sfx.suppr   |1 +
 2 files changed, 24 insertions(+), 3 deletions(-)

New commits:
commit 3b05eab7eb9a949912a329a2eae41abb8a0270cc
Author: Heiko Tietze 
AuthorDate: Wed Aug 31 11:16:29 2022 +0200
Commit: Heiko Tietze 
CommitDate: Wed Aug 31 19:38:26 2022 +0200

Resolves tdf#150697 - Improvements to terminology

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

diff --git a/sfx2/uiconfig/ui/documentinfopage.ui 
b/sfx2/uiconfig/ui/documentinfopage.ui
index 5d86e541e98c..a03236d7fcc7 100644
--- a/sfx2/uiconfig/ui/documentinfopage.ui
+++ b/sfx2/uiconfig/ui/documentinfopage.ui
@@ -1,5 +1,5 @@
 
-
+
 
   
   
@@ -410,13 +410,14 @@
   
 True
 False
+start
 
   
-Image preferred 
DPI
+Preferred resolution 
for images:
 True
 True
 False
-True
+6
 True
 
   
@@ -440,6 +441,11 @@
   300
   600
 
+
+  
+False
+  
+
 
   
 
@@ -450,6 +456,20 @@
 1
   
 
+
+  
+True
+False
+6
+6
+ppi
+  
+  
+False
+True
+2
+  
+
   
   
 1
diff --git a/solenv/sanitizers/ui/sfx.suppr b/solenv/sanitizers/ui/sfx.suppr
index 1700676c2744..0eb7215e911a 100644
--- a/solenv/sanitizers/ui/sfx.suppr
+++ b/solenv/sanitizers/ui/sfx.suppr
@@ -23,6 +23,7 @@ 
sfx2/uiconfig/ui/documentinfopage.ui://GtkLabel[@id='showtype'] orphan-label
 sfx2/uiconfig/ui/documentinfopage.ui://GtkLabel[@id='showtemplate'] 
orphan-label
 sfx2/uiconfig/ui/documentinfopage.ui://GtkImage[@id='icon'] no-labelled-by
 sfx2/uiconfig/ui/documentinfopage.ui://GtkLabel[@id='nameed'] orphan-label
+sfx2/uiconfig/ui/documentinfopage.ui://GtkLabel[@id='lbUnit'] orphan-label
 sfx2/uiconfig/ui/extrabutton.ui://GtkButton[@id='button'] button-no-label
 sfx2/uiconfig/ui/helpindexpage.ui://GtkEntry[@id='termentry'] no-labelled-by
 sfx2/uiconfig/ui/helpwindow.ui://GtkCheckButton[@id='checkbutton'] 
button-no-label


[Libreoffice-commits] core.git: offapi/com

2022-08-31 Thread Michael Weghorn (via logerrit)
 offapi/com/sun/star/accessibility/XAccessibleTable.idl |6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

New commits:
commit 16d1ec5955333b72da05b3d8ab029a939a0642a3
Author: Michael Weghorn 
AuthorDate: Wed Aug 31 15:13:59 2022 +0200
Commit: Michael Weghorn 
CommitDate: Wed Aug 31 19:22:40 2022 +0200

a11y: Remove historical Calc table dimensions from XAccessibleTable doc

The mention of Calc tables having 256 columns
and 32000 rows is a bit outdated.
I actually started looking here because with
16k columns, the 32-bit a11y child indices aren't sufficient
for all cells anymore...  (tdf#150683)

Also remove duplicated words.

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

diff --git a/offapi/com/sun/star/accessibility/XAccessibleTable.idl 
b/offapi/com/sun/star/accessibility/XAccessibleTable.idl
index 03b4e2ead8af..2a3e19b88ae8 100644
--- a/offapi/com/sun/star/accessibility/XAccessibleTable.idl
+++ b/offapi/com/sun/star/accessibility/XAccessibleTable.idl
@@ -38,13 +38,13 @@ module com { module sun { module star { module 
accessibility {
XAccessibleTable::getAccessibleColumn().
 
The range of valid coordinates for this interface are implementation
-   dependent.  However, that range includes at least the intervals from the
+   dependent. However, that range includes at least the intervals
from the first row or column with the index 0 up to the last (but not
including) used row or column as returned by
XAccessibleTable::getAccessibleRowCount() and
XAccessibleTable::getAccessibleColumnCount().  In case of
-   the Calc the current range of valid indices for retrieving data include
-   the maximal table size--256 columns and 32000 rows--minus one.
+   Calc the current range of valid indices for retrieving data include
+   the maximum table size minus one.
 
 @since OOo 1.1.2
 */


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

2022-08-31 Thread Noel Grandin (via logerrit)
 extensions/source/propctrlr/propcontroller.cxx |2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

New commits:
commit dbc655a1e6bdb118e09d87d1fd9022c201d7b068
Author: Noel Grandin 
AuthorDate: Wed Aug 31 10:57:39 2022 +0200
Commit: Noel Grandin 
CommitDate: Wed Aug 31 18:21:56 2022 +0200

cid#1509230 Inefficient vector resizing with reserve.

preserve the benefits of reserving with the benefits of logarithmic
doubling

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

diff --git a/extensions/source/propctrlr/propcontroller.cxx 
b/extensions/source/propctrlr/propcontroller.cxx
index 624bf03d16b6..b0516fd90903 100644
--- a/extensions/source/propctrlr/propcontroller.cxx
+++ b/extensions/source/propctrlr/propcontroller.cxx
@@ -956,7 +956,7 @@ namespace pcr
 }
 
 // append these properties to our "all properties" array
-aProperties.reserve( aProperties.size() + 
aThisHandlersProperties.size() );
+aProperties.reserve( std::max(aProperties.size() + 
aThisHandlersProperties.size(), aProperties.size() * 2) );
 for (const auto & aThisHandlersProperty : 
aThisHandlersProperties)
 {
 auto noPrevious = std::none_of(


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

2022-08-31 Thread Caolán McNamara (via logerrit)
 sfx2/source/appl/macroloader.cxx   |9 +++--
 sfx2/source/doc/iframe.cxx |   20 +++-
 sfx2/source/inc/macroloader.hxx|2 ++
 sw/source/filter/html/htmlplug.cxx |7 ++-
 sw/source/filter/xml/xmltexti.cxx  |9 +++--
 5 files changed, 37 insertions(+), 10 deletions(-)

New commits:
commit 3d9da8ce1e18feefc7ed2549bfe56b0dfb625da3
Author: Caolán McNamara 
AuthorDate: Tue Aug 30 17:01:08 2022 +0100
Commit: Stephan Bergmann 
CommitDate: Wed Aug 31 18:04:40 2022 +0200

check IFrame "FrameURL" target

similiar to

commit b3edf85e0fe6ca03dc26e1bf531be82193bc9627
Date:   Wed Aug 7 17:37:11 2019 +0100

warn on load when a document binds an event to a macro

Change-Id: Iea888b1c083d2dc69ec322309ac9ae8c5e5eb315
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/139059
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann 
(cherry picked from commit c7450d0b9d02c64ae3da467d329040787039767e)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/138987

diff --git a/sfx2/source/appl/macroloader.cxx b/sfx2/source/appl/macroloader.cxx
index a6fe07000187..bf6dd7669b39 100644
--- a/sfx2/source/appl/macroloader.cxx
+++ b/sfx2/source/appl/macroloader.cxx
@@ -68,10 +68,10 @@ css::uno::Sequence SAL_CALL 
SfxMacroLoader::getSupportedServiceNames()
 return { "com.sun.star.frame.ProtocolHandler" };
 }
 
-SfxObjectShell* SfxMacroLoader::GetObjectShell_Impl()
+SfxObjectShell* SfxMacroLoader::GetObjectShell(const Reference & 
xFrame)
 {
 SfxObjectShell* pDocShell = nullptr;
-Reference < XFrame > xFrame( m_xFrame.get(), UNO_QUERY );
+
 if ( xFrame.is() )
 {
 SfxFrame* pFrame=nullptr;
@@ -88,6 +88,11 @@ SfxObjectShell* SfxMacroLoader::GetObjectShell_Impl()
 return pDocShell;
 }
 
+SfxObjectShell* SfxMacroLoader::GetObjectShell_Impl()
+{
+Reference < XFrame > xFrame( m_xFrame.get(), UNO_QUERY );
+return SfxMacroLoader::GetObjectShell(xFrame);
+}
 
 uno::Reference SAL_CALL SfxMacroLoader::queryDispatch(
 const util::URL&   aURL,
diff --git a/sfx2/source/doc/iframe.cxx b/sfx2/source/doc/iframe.cxx
index 58a387527e4a..80e0c4e68457 100644
--- a/sfx2/source/doc/iframe.cxx
+++ b/sfx2/source/doc/iframe.cxx
@@ -39,10 +39,12 @@
 #include 
 #include 
 #include 
+#include 
 #include 
 #include 
 #include 
 #include 
+#include 
 
 using namespace ::com::sun::star;
 
@@ -158,6 +160,19 @@ sal_Bool SAL_CALL IFrameObject::load(
 {
 if ( officecfg::Office::Common::Misc::PluginsEnabled::get() )
 {
+util::URL aTargetURL;
+aTargetURL.Complete = maFrmDescr.GetURL().GetMainURL( 
INetURLObject::DecodeMechanism::NONE );
+uno::Reference < util::XURLTransformer > xTrans( 
util::URLTransformer::create( mxContext ) );
+xTrans->parseStrict( aTargetURL );
+
+if (INetURLObject(aTargetURL.Complete).GetProtocol() == 
INetProtocol::Macro)
+{
+uno::Reference xParentFrame = 
xFrame->getCreator();
+SfxObjectShell* pDoc = 
SfxMacroLoader::GetObjectShell(xParentFrame);
+if (pDoc && !pDoc->AdjustMacroMode())
+return false;
+}
+
 DBG_ASSERT( !mxFrame.is(), "Frame already existing!" );
 VclPtr pParent = VCLUnoHelper::GetWindow( 
xFrame->getContainerWindow() );
 VclPtr pWin = VclPtr::Create( 
pParent, maFrmDescr.IsFrameBorderOn() );
@@ -180,11 +195,6 @@ sal_Bool SAL_CALL IFrameObject::load(
 if ( xFramesSupplier.is() )
 mxFrame->setCreator( xFramesSupplier );
 
-util::URL aTargetURL;
-aTargetURL.Complete = maFrmDescr.GetURL().GetMainURL( 
INetURLObject::DecodeMechanism::NONE );
-uno::Reference < util::XURLTransformer > xTrans( 
util::URLTransformer::create( mxContext ) );
-xTrans->parseStrict( aTargetURL );
-
 uno::Sequence < beans::PropertyValue > aProps{
 comphelper::makePropertyValue("PluginMode", sal_Int16(2)),
 comphelper::makePropertyValue("ReadOnly", true)
diff --git a/sfx2/source/inc/macroloader.hxx b/sfx2/source/inc/macroloader.hxx
index b51cae3d93cf..250a07cd8ca1 100644
--- a/sfx2/source/inc/macroloader.hxx
+++ b/sfx2/source/inc/macroloader.hxx
@@ -79,6 +79,8 @@ public:
 virtual void SAL_CALL addStatusListener( const css::uno::Reference< 
css::frame::XStatusListener >& xControl, const css::util::URL& aURL ) override;
 
 virtual void SAL_CALL removeStatusListener( const css::uno::Reference< 
css::frame::XStatusListener >& xControl, const css::util::URL& aURL ) override;
+
+static SfxObjectShell* GetObjectShell(const 
css::uno::Reference& xFrame);
 };
 
 #endif
diff --git a/sw/source/filter/html/htmlplug.cxx 
b/sw/source/filter/html/htmlplug.cxx
index c6a939646f3a..ab9f75405a68 100644
--- a/sw/source/filter/html/htmlplug.cxx
+++ b/sw/source/filter/html/htmlplug.cxx
@@ -1105,7 +1105,12 @@ void SwHTMLParser::InsertFloatingFrame()
 bool bHasBorder = aFrame

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

2022-08-31 Thread Caolán McNamara (via logerrit)
 sw/source/core/doc/doccomp.cxx |1 +
 1 file changed, 1 insertion(+)

New commits:
commit 2b0b12fa3bf9a880ad447368f7bd8a296e3a2834
Author: Caolán McNamara 
AuthorDate: Wed Aug 31 12:24:30 2022 +0100
Commit: Caolán McNamara 
CommitDate: Wed Aug 31 16:54:22 2022 +0200

cid#1500609 silence Use after free

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

diff --git a/sw/source/core/doc/doccomp.cxx b/sw/source/core/doc/doccomp.cxx
index f9b16bb619ad..92f0d2fd1207 100644
--- a/sw/source/core/doc/doccomp.cxx
+++ b/sw/source/core/doc/doccomp.cxx
@@ -1769,6 +1769,7 @@ void CompareData::SetRedlinesToDoc( bool bUseDocInfo )
 }
 
 do {
+// coverity[deref_arg] - pTmp is valid here
 if (IDocumentRedlineAccess::AppendResult::APPENDED ==
 m_rDoc.getIDocumentRedlineAccess().AppendRedline(
 new SwRangeRedline(aRedlnData, *pTmp), true) &&


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

2022-08-31 Thread Luboš Luňák (via logerrit)
 sc/source/core/data/column2.cxx |9 +
 1 file changed, 9 insertions(+)

New commits:
commit fc91d611a231ae6fc498d0ac32944afb72775b95
Author: Luboš Luňák 
AuthorDate: Wed Aug 31 11:23:05 2022 +0200
Commit: Luboš Luňák 
CommitDate: Wed Aug 31 16:46:23 2022 +0200

assert when formula group size is not large enough

That should never happen, as the size should originally come
from the formula group size.

Change-Id: Ic429ef498bb56d589c04a07d0fb44d9841deb19f
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/139090
Tested-by: Jenkins
Reviewed-by: Luboš Luňák 

diff --git a/sc/source/core/data/column2.cxx b/sc/source/core/data/column2.cxx
index 9fa08657e328..08391bd24150 100644
--- a/sc/source/core/data/column2.cxx
+++ b/sc/source/core/data/column2.cxx
@@ -3163,8 +3163,11 @@ void ScColumn::SetFormulaResults( SCROW nRow, const 
double* pResults, size_t nLe
 
 size_t nBlockLen = it->size - aPos.second;
 if (nBlockLen < nLen)
+{
 // Result array is longer than the length of formula cells. Not good.
+assert( false );
 return;
+}
 
 sc::formula_block::iterator itCell = sc::formula_block::begin(*it->data);
 std::advance(itCell, aPos.second);
@@ -3199,8 +3202,11 @@ void ScColumn::CalculateInThread( ScInterpreterContext& 
rContext, SCROW nRow, si
 
 size_t nBlockLen = it->size - aPos.second;
 if (nBlockLen < nLen)
+{
 // Length is longer than the length of formula cells. Not good.
+assert( false );
 return;
+}
 
 sc::formula_block::iterator itCell = sc::formula_block::begin(*it->data);
 std::advance(itCell, aPos.second);
@@ -3232,8 +3238,11 @@ void ScColumn::HandleStuffAfterParallelCalculation( 
SCROW nRow, size_t nLen, ScI
 
 size_t nBlockLen = it->size - aPos.second;
 if (nBlockLen < nLen)
+{
 // Length is longer than the length of formula cells. Not good.
+assert( false );
 return;
+}
 
 sc::formula_block::iterator itCell = sc::formula_block::begin(*it->data);
 std::advance(itCell, aPos.second);


[Libreoffice-commits] core.git: Branch 'libreoffice-7-3-6' - readlicense_oo/license

2022-08-31 Thread Christian Lohmaier (via logerrit)
 readlicense_oo/license/CREDITS.fodt | 4499 ++--
 1 file changed, 2281 insertions(+), 2218 deletions(-)

New commits:
commit 93c567313bfdc8514f94a02d2221606794cfa977
Author: Christian Lohmaier 
AuthorDate: Wed Aug 31 16:33:10 2022 +0200
Commit: Christian Lohmaier 
CommitDate: Wed Aug 31 16:39:29 2022 +0200

update credits

Change-Id: Ie408cedd6e71deb241e3e059c364c75ce0f1d308
(cherry picked from commit 2ab1136594baf0393d84d2c04d21561847498ac9)
(cherry picked from commit 15a4524a846434a1b35026d33e6c3f3688af18fd)

diff --git a/readlicense_oo/license/CREDITS.fodt 
b/readlicense_oo/license/CREDITS.fodt
index 0ec5b6ad16d3..3edb3ed7e5e0 100644
--- a/readlicense_oo/license/CREDITS.fodt
+++ b/readlicense_oo/license/CREDITS.fodt
@@ -1,10 +1,10 @@
 
 
-http://openoffice.org/2009/office"; 
xmlns:css3t="http://www.w3.org/TR/css3-text/"; 
xmlns:grddl="http://www.w3.org/2003/g/data-view#"; 
xmlns:xhtml="http://www.w3.org/1999/xhtml"; 
xmlns:formx="urn:openoffice:names:experimental:ooxml-odf-interop:xmlns:form:1.0"
 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"; 
xmlns:xsd="http://www.w3.org/2001/XMLSchema"; 
xmlns:chart="urn:oasis:names:tc:opendocument:xmlns:chart:1.0" 
xmlns:svg="urn:oasis:names:tc:opendocument:xmlns:svg-compatible:1.0" 
xmlns:text="urn:oasis:names:tc:opendocument:xmlns:text:1.0" 
xmlns:oooc="http://openoffice.org/2004/calc"; 
xmlns:style="urn:oasis:names:tc:opendocument:xmlns:style:1.0" 
xmlns:ooow="http://openoffice.org/2004/writer"; 
xmlns:meta="urn:oasis:names:tc:opendocument:xmlns:meta:1.0" 
xmlns:dc="http://purl.org/dc/elements/1.1/"; 
xmlns:rpt="http://openoffice.org/2005/report"; 
xmlns:draw="urn:oasis:names:tc:opendocument:xmlns:drawing:1.0" 
xmlns:config="urn:oasis:names:tc:opendocument:xmlns
 :config:1.0" xmlns:xlink="http://www.w3.org/1999/xlink"; 
xmlns:fo="urn:oasis:names:tc:opendocument:xmlns:xsl-fo-compatible:1.0" 
xmlns:ooo="http://openoffice.org/2004/office"; 
xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0" 
xmlns:dr3d="urn:oasis:names:tc:opendocument:xmlns:dr3d:1.0" 
xmlns:table="urn:oasis:names:tc:opendocument:xmlns:table:1.0" 
xmlns:number="urn:oasis:names:tc:opendocument:xmlns:datastyle:1.0" 
xmlns:of="urn:oasis:names:tc:opendocument:xmlns:of:1.2" 
xmlns:calcext="urn:org:documentfoundation:names:experimental:calc:xmlns:calcext:1.0"
 xmlns:tableooo="http://openoffice.org/2009/table"; 
xmlns:drawooo="http://openoffice.org/2010/draw"; 
xmlns:loext="urn:org:documentfoundation:names:experimental:office:xmlns:loext:1.0"
 xmlns:dom="http://www.w3.org/2001/xml-events"; 
xmlns:field="urn:openoffice:names:experimental:ooo-ms-interop:xmlns:field:1.0" 
xmlns:math="http://www.w3.org/1998/Math/MathML"; 
xmlns:form="urn:oasis:names:tc:opendocument:xmlns:form:1.0" xmlns:script="ur
 n:oasis:names:tc:opendocument:xmlns:script:1.0" 
xmlns:xforms="http://www.w3.org/2002/xforms"; office:version="1.3" 
office:mimetype="application/vnd.oasis.opendocument.text">
- Credits » 
LibreOfficeCreditscontributorscodersdevelopersCredits
 for the LibreOffice 
development/coding.LibreOffice/7.3.5.2$Linux_X86_64
 
LibreOffice_project/184fe81b8c8c30d8b5082578aee2fed2ea847c012012-02-20T22:17:18.06000PT14M12S3JUebjoxEpqXoQcpltWRTwzBZEEHtch3wApdhgiQPFiA
+http://www.w3.org/TR/css3-text/"; 
xmlns:grddl="http://www.w3.org/2003/g/data-view#"; 
xmlns:xhtml="http://www.w3.org/1999/xhtml"; 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"; 
xmlns:xsd="http://www.w3.org/2001/XMLSchema"; 
xmlns:xforms="http://www.w3.org/2002/xforms"; 
xmlns:dom="http://www.w3.org/2001/xml-events"; 
xmlns:script="urn:oasis:names:tc:opendocument:xmlns:script:1.0" 
xmlns:form="urn:oasis:names:tc:opendocument:xmlns:form:1.0" 
xmlns:math="http://www.w3.org/1998/Math/MathML"; 
xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0" 
xmlns:ooo="http://openoffice.org/2004/office"; 
xmlns:fo="urn:oasis:names:tc:opendocument:xmlns:xsl-fo-compatible:1.0" 
xmlns:config="urn:oasis:names:tc:opendocument:xmlns:config:1.0" 
xmlns:ooow="http://openoffice.org/2004/writer"; 
xmlns:xlink="http://www.w3.org/1999/xlink"; 
xmlns:drawooo="http://openoffice.org/2010/draw"; 
xmlns:oooc="http://openoffice.org/2004/calc"; 
xmlns:dc="http://purl.org/dc/elements/1.1/"; xmlns:c
 alcext="urn:org:documentfoundation:names:experimental:calc:xmlns:calcext:1.0" 
xmlns:style="urn:oasis:names:tc:opendocument:xmlns:style:1.0" 
xmlns:text="urn:oasis:names:tc:opendocument:xmlns:text:1.0" 
xmlns:of="urn:oasis:names:tc:opendocument:xmlns:of:1.2" 
xmlns:tableooo="http://openoffice.org/2009/table"; 
xmlns:draw="urn:oasis:names:tc:opendocument:xmlns:drawing:1.0" 
xmlns:dr3d="urn:oasis:names:tc:opendocument:xmlns:dr3d:1.0" 
xmlns:rpt="http://openoffice.org/2005/report"; 
xmlns:formx="urn:openoffice:names:experimental:ooxml-odf-interop:xmlns:form:1.0"
 xmlns:svg="urn:oasis:names:tc:opendocument:xmlns:svg-compatible:1.0" 
xmlns:chart="urn:oasis:names:tc:opendocument:xmlns:chart:1.0" 
xmlns:office

[Libreoffice-commits] core.git: Branch 'libreoffice-7-3' - readlicense_oo/license

2022-08-31 Thread Christian Lohmaier (via logerrit)
 readlicense_oo/license/CREDITS.fodt | 4499 ++--
 1 file changed, 2281 insertions(+), 2218 deletions(-)

New commits:
commit 15a4524a846434a1b35026d33e6c3f3688af18fd
Author: Christian Lohmaier 
AuthorDate: Wed Aug 31 16:33:10 2022 +0200
Commit: Christian Lohmaier 
CommitDate: Wed Aug 31 16:38:18 2022 +0200

update credits

Change-Id: Ie408cedd6e71deb241e3e059c364c75ce0f1d308
(cherry picked from commit 2ab1136594baf0393d84d2c04d21561847498ac9)

diff --git a/readlicense_oo/license/CREDITS.fodt 
b/readlicense_oo/license/CREDITS.fodt
index 0ec5b6ad16d3..3edb3ed7e5e0 100644
--- a/readlicense_oo/license/CREDITS.fodt
+++ b/readlicense_oo/license/CREDITS.fodt
@@ -1,10 +1,10 @@
 
 
-http://openoffice.org/2009/office"; 
xmlns:css3t="http://www.w3.org/TR/css3-text/"; 
xmlns:grddl="http://www.w3.org/2003/g/data-view#"; 
xmlns:xhtml="http://www.w3.org/1999/xhtml"; 
xmlns:formx="urn:openoffice:names:experimental:ooxml-odf-interop:xmlns:form:1.0"
 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"; 
xmlns:xsd="http://www.w3.org/2001/XMLSchema"; 
xmlns:chart="urn:oasis:names:tc:opendocument:xmlns:chart:1.0" 
xmlns:svg="urn:oasis:names:tc:opendocument:xmlns:svg-compatible:1.0" 
xmlns:text="urn:oasis:names:tc:opendocument:xmlns:text:1.0" 
xmlns:oooc="http://openoffice.org/2004/calc"; 
xmlns:style="urn:oasis:names:tc:opendocument:xmlns:style:1.0" 
xmlns:ooow="http://openoffice.org/2004/writer"; 
xmlns:meta="urn:oasis:names:tc:opendocument:xmlns:meta:1.0" 
xmlns:dc="http://purl.org/dc/elements/1.1/"; 
xmlns:rpt="http://openoffice.org/2005/report"; 
xmlns:draw="urn:oasis:names:tc:opendocument:xmlns:drawing:1.0" 
xmlns:config="urn:oasis:names:tc:opendocument:xmlns
 :config:1.0" xmlns:xlink="http://www.w3.org/1999/xlink"; 
xmlns:fo="urn:oasis:names:tc:opendocument:xmlns:xsl-fo-compatible:1.0" 
xmlns:ooo="http://openoffice.org/2004/office"; 
xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0" 
xmlns:dr3d="urn:oasis:names:tc:opendocument:xmlns:dr3d:1.0" 
xmlns:table="urn:oasis:names:tc:opendocument:xmlns:table:1.0" 
xmlns:number="urn:oasis:names:tc:opendocument:xmlns:datastyle:1.0" 
xmlns:of="urn:oasis:names:tc:opendocument:xmlns:of:1.2" 
xmlns:calcext="urn:org:documentfoundation:names:experimental:calc:xmlns:calcext:1.0"
 xmlns:tableooo="http://openoffice.org/2009/table"; 
xmlns:drawooo="http://openoffice.org/2010/draw"; 
xmlns:loext="urn:org:documentfoundation:names:experimental:office:xmlns:loext:1.0"
 xmlns:dom="http://www.w3.org/2001/xml-events"; 
xmlns:field="urn:openoffice:names:experimental:ooo-ms-interop:xmlns:field:1.0" 
xmlns:math="http://www.w3.org/1998/Math/MathML"; 
xmlns:form="urn:oasis:names:tc:opendocument:xmlns:form:1.0" xmlns:script="ur
 n:oasis:names:tc:opendocument:xmlns:script:1.0" 
xmlns:xforms="http://www.w3.org/2002/xforms"; office:version="1.3" 
office:mimetype="application/vnd.oasis.opendocument.text">
- Credits » 
LibreOfficeCreditscontributorscodersdevelopersCredits
 for the LibreOffice 
development/coding.LibreOffice/7.3.5.2$Linux_X86_64
 
LibreOffice_project/184fe81b8c8c30d8b5082578aee2fed2ea847c012012-02-20T22:17:18.06000PT14M12S3JUebjoxEpqXoQcpltWRTwzBZEEHtch3wApdhgiQPFiA
+http://www.w3.org/TR/css3-text/"; 
xmlns:grddl="http://www.w3.org/2003/g/data-view#"; 
xmlns:xhtml="http://www.w3.org/1999/xhtml"; 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"; 
xmlns:xsd="http://www.w3.org/2001/XMLSchema"; 
xmlns:xforms="http://www.w3.org/2002/xforms"; 
xmlns:dom="http://www.w3.org/2001/xml-events"; 
xmlns:script="urn:oasis:names:tc:opendocument:xmlns:script:1.0" 
xmlns:form="urn:oasis:names:tc:opendocument:xmlns:form:1.0" 
xmlns:math="http://www.w3.org/1998/Math/MathML"; 
xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0" 
xmlns:ooo="http://openoffice.org/2004/office"; 
xmlns:fo="urn:oasis:names:tc:opendocument:xmlns:xsl-fo-compatible:1.0" 
xmlns:config="urn:oasis:names:tc:opendocument:xmlns:config:1.0" 
xmlns:ooow="http://openoffice.org/2004/writer"; 
xmlns:xlink="http://www.w3.org/1999/xlink"; 
xmlns:drawooo="http://openoffice.org/2010/draw"; 
xmlns:oooc="http://openoffice.org/2004/calc"; 
xmlns:dc="http://purl.org/dc/elements/1.1/"; xmlns:c
 alcext="urn:org:documentfoundation:names:experimental:calc:xmlns:calcext:1.0" 
xmlns:style="urn:oasis:names:tc:opendocument:xmlns:style:1.0" 
xmlns:text="urn:oasis:names:tc:opendocument:xmlns:text:1.0" 
xmlns:of="urn:oasis:names:tc:opendocument:xmlns:of:1.2" 
xmlns:tableooo="http://openoffice.org/2009/table"; 
xmlns:draw="urn:oasis:names:tc:opendocument:xmlns:drawing:1.0" 
xmlns:dr3d="urn:oasis:names:tc:opendocument:xmlns:dr3d:1.0" 
xmlns:rpt="http://openoffice.org/2005/report"; 
xmlns:formx="urn:openoffice:names:experimental:ooxml-odf-interop:xmlns:form:1.0"
 xmlns:svg="urn:oasis:names:tc:opendocument:xmlns:svg-compatible:1.0" 
xmlns:chart="urn:oasis:names:tc:opendocument:xmlns:chart:1.0" 
xmlns:officeooo="http://openoffice.org/2009/office"; 
xmlns:table="urn:oasis:names:tc

[Libreoffice-commits] core.git: Branch 'libreoffice-7-4-1' - readlicense_oo/license

2022-08-31 Thread Christian Lohmaier (via logerrit)
 readlicense_oo/license/CREDITS.fodt | 4499 ++--
 1 file changed, 2281 insertions(+), 2218 deletions(-)

New commits:
commit 0fd7c3d15cbd9829c1f94b0a81029de04d04e6dc
Author: Christian Lohmaier 
AuthorDate: Wed Aug 31 16:33:10 2022 +0200
Commit: Christian Lohmaier 
CommitDate: Wed Aug 31 16:37:03 2022 +0200

update credits

Change-Id: Ie408cedd6e71deb241e3e059c364c75ce0f1d308
(cherry picked from commit 2ab1136594baf0393d84d2c04d21561847498ac9)
(cherry picked from commit 5923f98cfa1c5251c3676b91b5b34770745e7f5b)

diff --git a/readlicense_oo/license/CREDITS.fodt 
b/readlicense_oo/license/CREDITS.fodt
index 0ec5b6ad16d3..3edb3ed7e5e0 100644
--- a/readlicense_oo/license/CREDITS.fodt
+++ b/readlicense_oo/license/CREDITS.fodt
@@ -1,10 +1,10 @@
 
 
-http://openoffice.org/2009/office"; 
xmlns:css3t="http://www.w3.org/TR/css3-text/"; 
xmlns:grddl="http://www.w3.org/2003/g/data-view#"; 
xmlns:xhtml="http://www.w3.org/1999/xhtml"; 
xmlns:formx="urn:openoffice:names:experimental:ooxml-odf-interop:xmlns:form:1.0"
 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"; 
xmlns:xsd="http://www.w3.org/2001/XMLSchema"; 
xmlns:chart="urn:oasis:names:tc:opendocument:xmlns:chart:1.0" 
xmlns:svg="urn:oasis:names:tc:opendocument:xmlns:svg-compatible:1.0" 
xmlns:text="urn:oasis:names:tc:opendocument:xmlns:text:1.0" 
xmlns:oooc="http://openoffice.org/2004/calc"; 
xmlns:style="urn:oasis:names:tc:opendocument:xmlns:style:1.0" 
xmlns:ooow="http://openoffice.org/2004/writer"; 
xmlns:meta="urn:oasis:names:tc:opendocument:xmlns:meta:1.0" 
xmlns:dc="http://purl.org/dc/elements/1.1/"; 
xmlns:rpt="http://openoffice.org/2005/report"; 
xmlns:draw="urn:oasis:names:tc:opendocument:xmlns:drawing:1.0" 
xmlns:config="urn:oasis:names:tc:opendocument:xmlns
 :config:1.0" xmlns:xlink="http://www.w3.org/1999/xlink"; 
xmlns:fo="urn:oasis:names:tc:opendocument:xmlns:xsl-fo-compatible:1.0" 
xmlns:ooo="http://openoffice.org/2004/office"; 
xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0" 
xmlns:dr3d="urn:oasis:names:tc:opendocument:xmlns:dr3d:1.0" 
xmlns:table="urn:oasis:names:tc:opendocument:xmlns:table:1.0" 
xmlns:number="urn:oasis:names:tc:opendocument:xmlns:datastyle:1.0" 
xmlns:of="urn:oasis:names:tc:opendocument:xmlns:of:1.2" 
xmlns:calcext="urn:org:documentfoundation:names:experimental:calc:xmlns:calcext:1.0"
 xmlns:tableooo="http://openoffice.org/2009/table"; 
xmlns:drawooo="http://openoffice.org/2010/draw"; 
xmlns:loext="urn:org:documentfoundation:names:experimental:office:xmlns:loext:1.0"
 xmlns:dom="http://www.w3.org/2001/xml-events"; 
xmlns:field="urn:openoffice:names:experimental:ooo-ms-interop:xmlns:field:1.0" 
xmlns:math="http://www.w3.org/1998/Math/MathML"; 
xmlns:form="urn:oasis:names:tc:opendocument:xmlns:form:1.0" xmlns:script="ur
 n:oasis:names:tc:opendocument:xmlns:script:1.0" 
xmlns:xforms="http://www.w3.org/2002/xforms"; office:version="1.3" 
office:mimetype="application/vnd.oasis.opendocument.text">
- Credits » 
LibreOfficeCreditscontributorscodersdevelopersCredits
 for the LibreOffice 
development/coding.LibreOffice/7.3.5.2$Linux_X86_64
 
LibreOffice_project/184fe81b8c8c30d8b5082578aee2fed2ea847c012012-02-20T22:17:18.06000PT14M12S3JUebjoxEpqXoQcpltWRTwzBZEEHtch3wApdhgiQPFiA
+http://www.w3.org/TR/css3-text/"; 
xmlns:grddl="http://www.w3.org/2003/g/data-view#"; 
xmlns:xhtml="http://www.w3.org/1999/xhtml"; 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"; 
xmlns:xsd="http://www.w3.org/2001/XMLSchema"; 
xmlns:xforms="http://www.w3.org/2002/xforms"; 
xmlns:dom="http://www.w3.org/2001/xml-events"; 
xmlns:script="urn:oasis:names:tc:opendocument:xmlns:script:1.0" 
xmlns:form="urn:oasis:names:tc:opendocument:xmlns:form:1.0" 
xmlns:math="http://www.w3.org/1998/Math/MathML"; 
xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0" 
xmlns:ooo="http://openoffice.org/2004/office"; 
xmlns:fo="urn:oasis:names:tc:opendocument:xmlns:xsl-fo-compatible:1.0" 
xmlns:config="urn:oasis:names:tc:opendocument:xmlns:config:1.0" 
xmlns:ooow="http://openoffice.org/2004/writer"; 
xmlns:xlink="http://www.w3.org/1999/xlink"; 
xmlns:drawooo="http://openoffice.org/2010/draw"; 
xmlns:oooc="http://openoffice.org/2004/calc"; 
xmlns:dc="http://purl.org/dc/elements/1.1/"; xmlns:c
 alcext="urn:org:documentfoundation:names:experimental:calc:xmlns:calcext:1.0" 
xmlns:style="urn:oasis:names:tc:opendocument:xmlns:style:1.0" 
xmlns:text="urn:oasis:names:tc:opendocument:xmlns:text:1.0" 
xmlns:of="urn:oasis:names:tc:opendocument:xmlns:of:1.2" 
xmlns:tableooo="http://openoffice.org/2009/table"; 
xmlns:draw="urn:oasis:names:tc:opendocument:xmlns:drawing:1.0" 
xmlns:dr3d="urn:oasis:names:tc:opendocument:xmlns:dr3d:1.0" 
xmlns:rpt="http://openoffice.org/2005/report"; 
xmlns:formx="urn:openoffice:names:experimental:ooxml-odf-interop:xmlns:form:1.0"
 xmlns:svg="urn:oasis:names:tc:opendocument:xmlns:svg-compatible:1.0" 
xmlns:chart="urn:oasis:names:tc:opendocument:xmlns:chart:1.0" 
xmlns:office

[Libreoffice-commits] core.git: Branch 'libreoffice-7-4' - readlicense_oo/license

2022-08-31 Thread Christian Lohmaier (via logerrit)
 readlicense_oo/license/CREDITS.fodt | 4499 ++--
 1 file changed, 2281 insertions(+), 2218 deletions(-)

New commits:
commit 5923f98cfa1c5251c3676b91b5b34770745e7f5b
Author: Christian Lohmaier 
AuthorDate: Wed Aug 31 16:33:10 2022 +0200
Commit: Christian Lohmaier 
CommitDate: Wed Aug 31 16:35:12 2022 +0200

update credits

Change-Id: Ie408cedd6e71deb241e3e059c364c75ce0f1d308
(cherry picked from commit 2ab1136594baf0393d84d2c04d21561847498ac9)

diff --git a/readlicense_oo/license/CREDITS.fodt 
b/readlicense_oo/license/CREDITS.fodt
index 0ec5b6ad16d3..3edb3ed7e5e0 100644
--- a/readlicense_oo/license/CREDITS.fodt
+++ b/readlicense_oo/license/CREDITS.fodt
@@ -1,10 +1,10 @@
 
 
-http://openoffice.org/2009/office"; 
xmlns:css3t="http://www.w3.org/TR/css3-text/"; 
xmlns:grddl="http://www.w3.org/2003/g/data-view#"; 
xmlns:xhtml="http://www.w3.org/1999/xhtml"; 
xmlns:formx="urn:openoffice:names:experimental:ooxml-odf-interop:xmlns:form:1.0"
 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"; 
xmlns:xsd="http://www.w3.org/2001/XMLSchema"; 
xmlns:chart="urn:oasis:names:tc:opendocument:xmlns:chart:1.0" 
xmlns:svg="urn:oasis:names:tc:opendocument:xmlns:svg-compatible:1.0" 
xmlns:text="urn:oasis:names:tc:opendocument:xmlns:text:1.0" 
xmlns:oooc="http://openoffice.org/2004/calc"; 
xmlns:style="urn:oasis:names:tc:opendocument:xmlns:style:1.0" 
xmlns:ooow="http://openoffice.org/2004/writer"; 
xmlns:meta="urn:oasis:names:tc:opendocument:xmlns:meta:1.0" 
xmlns:dc="http://purl.org/dc/elements/1.1/"; 
xmlns:rpt="http://openoffice.org/2005/report"; 
xmlns:draw="urn:oasis:names:tc:opendocument:xmlns:drawing:1.0" 
xmlns:config="urn:oasis:names:tc:opendocument:xmlns
 :config:1.0" xmlns:xlink="http://www.w3.org/1999/xlink"; 
xmlns:fo="urn:oasis:names:tc:opendocument:xmlns:xsl-fo-compatible:1.0" 
xmlns:ooo="http://openoffice.org/2004/office"; 
xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0" 
xmlns:dr3d="urn:oasis:names:tc:opendocument:xmlns:dr3d:1.0" 
xmlns:table="urn:oasis:names:tc:opendocument:xmlns:table:1.0" 
xmlns:number="urn:oasis:names:tc:opendocument:xmlns:datastyle:1.0" 
xmlns:of="urn:oasis:names:tc:opendocument:xmlns:of:1.2" 
xmlns:calcext="urn:org:documentfoundation:names:experimental:calc:xmlns:calcext:1.0"
 xmlns:tableooo="http://openoffice.org/2009/table"; 
xmlns:drawooo="http://openoffice.org/2010/draw"; 
xmlns:loext="urn:org:documentfoundation:names:experimental:office:xmlns:loext:1.0"
 xmlns:dom="http://www.w3.org/2001/xml-events"; 
xmlns:field="urn:openoffice:names:experimental:ooo-ms-interop:xmlns:field:1.0" 
xmlns:math="http://www.w3.org/1998/Math/MathML"; 
xmlns:form="urn:oasis:names:tc:opendocument:xmlns:form:1.0" xmlns:script="ur
 n:oasis:names:tc:opendocument:xmlns:script:1.0" 
xmlns:xforms="http://www.w3.org/2002/xforms"; office:version="1.3" 
office:mimetype="application/vnd.oasis.opendocument.text">
- Credits » 
LibreOfficeCreditscontributorscodersdevelopersCredits
 for the LibreOffice 
development/coding.LibreOffice/7.3.5.2$Linux_X86_64
 
LibreOffice_project/184fe81b8c8c30d8b5082578aee2fed2ea847c012012-02-20T22:17:18.06000PT14M12S3JUebjoxEpqXoQcpltWRTwzBZEEHtch3wApdhgiQPFiA
+http://www.w3.org/TR/css3-text/"; 
xmlns:grddl="http://www.w3.org/2003/g/data-view#"; 
xmlns:xhtml="http://www.w3.org/1999/xhtml"; 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"; 
xmlns:xsd="http://www.w3.org/2001/XMLSchema"; 
xmlns:xforms="http://www.w3.org/2002/xforms"; 
xmlns:dom="http://www.w3.org/2001/xml-events"; 
xmlns:script="urn:oasis:names:tc:opendocument:xmlns:script:1.0" 
xmlns:form="urn:oasis:names:tc:opendocument:xmlns:form:1.0" 
xmlns:math="http://www.w3.org/1998/Math/MathML"; 
xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0" 
xmlns:ooo="http://openoffice.org/2004/office"; 
xmlns:fo="urn:oasis:names:tc:opendocument:xmlns:xsl-fo-compatible:1.0" 
xmlns:config="urn:oasis:names:tc:opendocument:xmlns:config:1.0" 
xmlns:ooow="http://openoffice.org/2004/writer"; 
xmlns:xlink="http://www.w3.org/1999/xlink"; 
xmlns:drawooo="http://openoffice.org/2010/draw"; 
xmlns:oooc="http://openoffice.org/2004/calc"; 
xmlns:dc="http://purl.org/dc/elements/1.1/"; xmlns:c
 alcext="urn:org:documentfoundation:names:experimental:calc:xmlns:calcext:1.0" 
xmlns:style="urn:oasis:names:tc:opendocument:xmlns:style:1.0" 
xmlns:text="urn:oasis:names:tc:opendocument:xmlns:text:1.0" 
xmlns:of="urn:oasis:names:tc:opendocument:xmlns:of:1.2" 
xmlns:tableooo="http://openoffice.org/2009/table"; 
xmlns:draw="urn:oasis:names:tc:opendocument:xmlns:drawing:1.0" 
xmlns:dr3d="urn:oasis:names:tc:opendocument:xmlns:dr3d:1.0" 
xmlns:rpt="http://openoffice.org/2005/report"; 
xmlns:formx="urn:openoffice:names:experimental:ooxml-odf-interop:xmlns:form:1.0"
 xmlns:svg="urn:oasis:names:tc:opendocument:xmlns:svg-compatible:1.0" 
xmlns:chart="urn:oasis:names:tc:opendocument:xmlns:chart:1.0" 
xmlns:officeooo="http://openoffice.org/2009/office"; 
xmlns:table="urn:oasis:names:tc

[Libreoffice-commits] core.git: readlicense_oo/license

2022-08-31 Thread Christian Lohmaier (via logerrit)
 readlicense_oo/license/CREDITS.fodt | 4499 ++--
 1 file changed, 2281 insertions(+), 2218 deletions(-)

New commits:
commit 2ab1136594baf0393d84d2c04d21561847498ac9
Author: Christian Lohmaier 
AuthorDate: Wed Aug 31 16:33:10 2022 +0200
Commit: Christian Lohmaier 
CommitDate: Wed Aug 31 16:33:49 2022 +0200

update credits

Change-Id: Ie408cedd6e71deb241e3e059c364c75ce0f1d308

diff --git a/readlicense_oo/license/CREDITS.fodt 
b/readlicense_oo/license/CREDITS.fodt
index 0ec5b6ad16d3..3edb3ed7e5e0 100644
--- a/readlicense_oo/license/CREDITS.fodt
+++ b/readlicense_oo/license/CREDITS.fodt
@@ -1,10 +1,10 @@
 
 
-http://openoffice.org/2009/office"; 
xmlns:css3t="http://www.w3.org/TR/css3-text/"; 
xmlns:grddl="http://www.w3.org/2003/g/data-view#"; 
xmlns:xhtml="http://www.w3.org/1999/xhtml"; 
xmlns:formx="urn:openoffice:names:experimental:ooxml-odf-interop:xmlns:form:1.0"
 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"; 
xmlns:xsd="http://www.w3.org/2001/XMLSchema"; 
xmlns:chart="urn:oasis:names:tc:opendocument:xmlns:chart:1.0" 
xmlns:svg="urn:oasis:names:tc:opendocument:xmlns:svg-compatible:1.0" 
xmlns:text="urn:oasis:names:tc:opendocument:xmlns:text:1.0" 
xmlns:oooc="http://openoffice.org/2004/calc"; 
xmlns:style="urn:oasis:names:tc:opendocument:xmlns:style:1.0" 
xmlns:ooow="http://openoffice.org/2004/writer"; 
xmlns:meta="urn:oasis:names:tc:opendocument:xmlns:meta:1.0" 
xmlns:dc="http://purl.org/dc/elements/1.1/"; 
xmlns:rpt="http://openoffice.org/2005/report"; 
xmlns:draw="urn:oasis:names:tc:opendocument:xmlns:drawing:1.0" 
xmlns:config="urn:oasis:names:tc:opendocument:xmlns
 :config:1.0" xmlns:xlink="http://www.w3.org/1999/xlink"; 
xmlns:fo="urn:oasis:names:tc:opendocument:xmlns:xsl-fo-compatible:1.0" 
xmlns:ooo="http://openoffice.org/2004/office"; 
xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0" 
xmlns:dr3d="urn:oasis:names:tc:opendocument:xmlns:dr3d:1.0" 
xmlns:table="urn:oasis:names:tc:opendocument:xmlns:table:1.0" 
xmlns:number="urn:oasis:names:tc:opendocument:xmlns:datastyle:1.0" 
xmlns:of="urn:oasis:names:tc:opendocument:xmlns:of:1.2" 
xmlns:calcext="urn:org:documentfoundation:names:experimental:calc:xmlns:calcext:1.0"
 xmlns:tableooo="http://openoffice.org/2009/table"; 
xmlns:drawooo="http://openoffice.org/2010/draw"; 
xmlns:loext="urn:org:documentfoundation:names:experimental:office:xmlns:loext:1.0"
 xmlns:dom="http://www.w3.org/2001/xml-events"; 
xmlns:field="urn:openoffice:names:experimental:ooo-ms-interop:xmlns:field:1.0" 
xmlns:math="http://www.w3.org/1998/Math/MathML"; 
xmlns:form="urn:oasis:names:tc:opendocument:xmlns:form:1.0" xmlns:script="ur
 n:oasis:names:tc:opendocument:xmlns:script:1.0" 
xmlns:xforms="http://www.w3.org/2002/xforms"; office:version="1.3" 
office:mimetype="application/vnd.oasis.opendocument.text">
- Credits » 
LibreOfficeCreditscontributorscodersdevelopersCredits
 for the LibreOffice 
development/coding.LibreOffice/7.3.5.2$Linux_X86_64
 
LibreOffice_project/184fe81b8c8c30d8b5082578aee2fed2ea847c012012-02-20T22:17:18.06000PT14M12S3JUebjoxEpqXoQcpltWRTwzBZEEHtch3wApdhgiQPFiA
+http://www.w3.org/TR/css3-text/"; 
xmlns:grddl="http://www.w3.org/2003/g/data-view#"; 
xmlns:xhtml="http://www.w3.org/1999/xhtml"; 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"; 
xmlns:xsd="http://www.w3.org/2001/XMLSchema"; 
xmlns:xforms="http://www.w3.org/2002/xforms"; 
xmlns:dom="http://www.w3.org/2001/xml-events"; 
xmlns:script="urn:oasis:names:tc:opendocument:xmlns:script:1.0" 
xmlns:form="urn:oasis:names:tc:opendocument:xmlns:form:1.0" 
xmlns:math="http://www.w3.org/1998/Math/MathML"; 
xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0" 
xmlns:ooo="http://openoffice.org/2004/office"; 
xmlns:fo="urn:oasis:names:tc:opendocument:xmlns:xsl-fo-compatible:1.0" 
xmlns:config="urn:oasis:names:tc:opendocument:xmlns:config:1.0" 
xmlns:ooow="http://openoffice.org/2004/writer"; 
xmlns:xlink="http://www.w3.org/1999/xlink"; 
xmlns:drawooo="http://openoffice.org/2010/draw"; 
xmlns:oooc="http://openoffice.org/2004/calc"; 
xmlns:dc="http://purl.org/dc/elements/1.1/"; xmlns:c
 alcext="urn:org:documentfoundation:names:experimental:calc:xmlns:calcext:1.0" 
xmlns:style="urn:oasis:names:tc:opendocument:xmlns:style:1.0" 
xmlns:text="urn:oasis:names:tc:opendocument:xmlns:text:1.0" 
xmlns:of="urn:oasis:names:tc:opendocument:xmlns:of:1.2" 
xmlns:tableooo="http://openoffice.org/2009/table"; 
xmlns:draw="urn:oasis:names:tc:opendocument:xmlns:drawing:1.0" 
xmlns:dr3d="urn:oasis:names:tc:opendocument:xmlns:dr3d:1.0" 
xmlns:rpt="http://openoffice.org/2005/report"; 
xmlns:formx="urn:openoffice:names:experimental:ooxml-odf-interop:xmlns:form:1.0"
 xmlns:svg="urn:oasis:names:tc:opendocument:xmlns:svg-compatible:1.0" 
xmlns:chart="urn:oasis:names:tc:opendocument:xmlns:chart:1.0" 
xmlns:officeooo="http://openoffice.org/2009/office"; 
xmlns:table="urn:oasis:names:tc:opendocument:xmlns:table:1.0" 
xmlns:field="urn:openoffice:names:experim

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

2022-08-31 Thread Miklos Vajna (via logerrit)
 sw/qa/extras/ooxmlexport/data/inline-sdt-header.docx |binary
 sw/qa/extras/ooxmlexport/ooxmlexport18.cxx   |6 ++
 sw/source/filter/ww8/docxattributeoutput.cxx |3 +++
 sw/source/filter/ww8/docxattributeoutput.hxx |1 +
 4 files changed, 10 insertions(+)

New commits:
commit 8431cde61432893dd5ba75d8244457306a9f177b
Author: Miklos Vajna 
AuthorDate: Wed Aug 31 11:17:43 2022 +0200
Commit: Miklos Vajna 
CommitDate: Wed Aug 31 16:27:35 2022 +0200

crashtesting: fix DOCX export of forum-mso-de-102317.docx

This went wrong in b2bc4ea8ddae6b01f344469d988e21fed3143c42 (DOCX
import: handle SDT around citation field, 2014-07-16), the problem is
that a run/inline SDT is pending, but we wrote a header stream in the
meantime, so the invariant that Start/EndParagraph() in
DocxAttributeOutput is called in pairs doesn't help, which results in
not-well-formed XML, which is an assertion failure in debug build.

Fix the problem similar to 5f3af56b2c0ef6c628a7cfe5ce6e86f8e1765f5f (sw:
refactoring for docx sdt blocks output, 2021-11-16), which already did
the same for paragraph/block SDTs.

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

diff --git a/sw/qa/extras/ooxmlexport/data/inline-sdt-header.docx 
b/sw/qa/extras/ooxmlexport/data/inline-sdt-header.docx
new file mode 100644
index ..0a6009c2cd1b
Binary files /dev/null and 
b/sw/qa/extras/ooxmlexport/data/inline-sdt-header.docx differ
diff --git a/sw/qa/extras/ooxmlexport/ooxmlexport18.cxx 
b/sw/qa/extras/ooxmlexport/ooxmlexport18.cxx
index e47e72667310..a2d5f2cca2b2 100644
--- a/sw/qa/extras/ooxmlexport/ooxmlexport18.cxx
+++ b/sw/qa/extras/ooxmlexport/ooxmlexport18.cxx
@@ -56,6 +56,12 @@ CPPUNIT_TEST_FIXTURE(Test, testTdf150197_predefinedNumbering)
 CPPUNIT_ASSERT_EQUAL(OUString("1."), 
getProperty(getParagraph(1), "ListLabelString"));
 }
 
+CPPUNIT_TEST_FIXTURE(Test, testInlineSdtHeader)
+{
+// Without the accompanying fix in place, this test would have failed with 
an assertion failure,
+// we produced not-well-formed XML on save.
+loadAndSave("inline-sdt-header.docx");
+}
 
 CPPUNIT_PLUGIN_IMPLEMENT();
 
diff --git a/sw/source/filter/ww8/docxattributeoutput.cxx 
b/sw/source/filter/ww8/docxattributeoutput.cxx
index 096e7cd8a694..1b850055b189 100644
--- a/sw/source/filter/ww8/docxattributeoutput.cxx
+++ b/sw/source/filter/ww8/docxattributeoutput.cxx
@@ -6822,6 +6822,8 @@ void 
DocxAttributeOutput::pushToTableExportContext(DocxTableExportContext& rCont
 
 rContext.m_bStartedParaSdt = m_aParagraphSdt.m_bStartedSdt;
 m_aParagraphSdt.m_bStartedSdt = false;
+rContext.m_bStartedRunSdt = m_aRunSdt.m_bStartedSdt;
+m_aRunSdt.m_bStartedSdt = false;
 }
 
 void DocxAttributeOutput::popFromTableExportContext(DocxTableExportContext 
const & rContext)
@@ -6830,6 +6832,7 @@ void 
DocxAttributeOutput::popFromTableExportContext(DocxTableExportContext const
 m_tableReference->m_bTableCellOpen = rContext.m_bTableCellOpen;
 m_tableReference->m_nTableDepth = rContext.m_nTableDepth;
 m_aParagraphSdt.m_bStartedSdt = rContext.m_bStartedParaSdt;
+m_aRunSdt.m_bStartedSdt = rContext.m_bStartedRunSdt;
 }
 
 void DocxAttributeOutput::WriteTextBox(uno::Reference xShape)
diff --git a/sw/source/filter/ww8/docxattributeoutput.hxx 
b/sw/source/filter/ww8/docxattributeoutput.hxx
index 655a746eb2b9..b1b5d22ff456 100644
--- a/sw/source/filter/ww8/docxattributeoutput.hxx
+++ b/sw/source/filter/ww8/docxattributeoutput.hxx
@@ -1102,6 +1102,7 @@ struct DocxTableExportContext
 ww8::WW8TableInfo::Pointer_t m_pTableInfo;
 bool m_bTableCellOpen;
 bool m_bStartedParaSdt;
+bool m_bStartedRunSdt;
 sal_uInt32 m_nTableDepth;
 DocxTableExportContext(DocxAttributeOutput& rOutput) : m_rOutput(rOutput) 
{ m_rOutput.pushToTableExportContext(*this); }
 ~DocxTableExportContext() { m_rOutput.popFromTableExportContext(*this); }


[Libreoffice-commits] core.git: Branch 'libreoffice-7-3-6' - translations

2022-08-31 Thread Christian Lohmaier (via logerrit)
 translations |2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

New commits:
commit 4d3aaa53536a7aec79d91b65ed24b85804ad0e81
Author: Christian Lohmaier 
AuthorDate: Wed Aug 31 16:19:04 2022 +0200
Commit: Gerrit Code Review 
CommitDate: Wed Aug 31 16:19:04 2022 +0200

Update git submodules

* Update translations from branch 'libreoffice-7-3-6'
  to 3498186b39817ae3f3e6d74350e39b7ef5c90e22
  - update translations for 7.3.6 rc2

and force-fix errors using pocheck

Change-Id: I1ae9645927117017ecb4d85e28eabeb71d3ba894
(cherry picked from commit d0465390939211e803f10548e618dc68dabe4421)

diff --git a/translations b/translations
index 8a3d47042430..3498186b3981 16
--- a/translations
+++ b/translations
@@ -1 +1 @@
-Subproject commit 8a3d4704243042d86db8d2a515edcb09d8281779
+Subproject commit 3498186b39817ae3f3e6d74350e39b7ef5c90e22


[Libreoffice-commits] translations.git: Branch 'libreoffice-7-3-6' - source/an source/ast source/bg source/ca source/cs source/cy source/de source/dsb source/es source/eu source/fi source/fr source/gl

2022-08-31 Thread Christian Lohmaier (via logerrit)
 source/an/cui/messages.po  |7 
 source/ast/cui/messages.po |4 
 source/ast/filter/messages.po  |4 
 source/ast/helpcontent2/source/text/sbasic/guide.po|6 
 source/ast/helpcontent2/source/text/sbasic/shared.po   |6 
 source/ast/helpcontent2/source/text/sbasic/shared/03.po|   34 
 source/ast/helpcontent2/source/text/scalc/01.po|6 
 source/ast/helpcontent2/source/text/shared/01.po   |8 
 source/ast/helpcontent2/source/text/shared/02.po   |4 
 source/ast/helpcontent2/source/text/shared/guide.po|4 
 source/ast/helpcontent2/source/text/shared/optionen.po |   16 
 source/ast/helpcontent2/source/text/smath/01.po|   10 
 source/ast/helpcontent2/source/text/swriter/01.po  |6 
 source/ast/helpcontent2/source/text/swriter/guide.po   |4 
 source/ast/officecfg/registry/data/org/openoffice/Office/UI.po |   22 
 source/ast/sc/messages.po  |4 
 source/ast/sfx2/messages.po|   11 
 source/ast/starmath/messages.po|8 
 source/ast/sw/messages.po  |8 
 source/bg/helpcontent2/source/text/sbasic/shared/03.po |6 
 source/ca/helpcontent2/source/text/sbasic/guide.po |4 
 source/ca/helpcontent2/source/text/sbasic/shared.po|4 
 source/ca/helpcontent2/source/text/sbasic/shared/03.po |   50 
 source/ca/helpcontent2/source/text/scalc/01.po |   10 
 source/ca/helpcontent2/source/text/shared/optionen.po  |4 
 source/ca/helpcontent2/source/text/smath/01.po |   16 
 source/cs/helpcontent2/source/text/shared/00.po|8 
 source/cy/uui/messages.po  |   10 
 source/de/helpcontent2/source/text/sbasic/guide.po |  114 
 source/de/helpcontent2/source/text/sbasic/shared/02.po |8 
 source/de/helpcontent2/source/text/sbasic/shared/03.po |4 
 source/de/helpcontent2/source/text/scalc/01.po |4 
 source/de/helpcontent2/source/text/sdatabase.po|  150 
 source/de/helpcontent2/source/text/shared/guide.po |6 
 source/de/helpcontent2/source/text/swriter/guide.po|4 
 source/dsb/chart2/messages.po  |6 
 source/dsb/cui/messages.po |6 
 source/dsb/formula/messages.po |6 
 source/dsb/officecfg/registry/data/org/openoffice/Office/UI.po |   26 
 source/dsb/sc/messages.po  |6 
 source/dsb/sd/messages.po  |   16 
 source/dsb/svx/messages.po |   20 
 source/dsb/wizards/source/resources.po |   10 
 source/es/basctl/messages.po   |8 
 source/es/basic/messages.po|   10 
 source/es/cui/messages.po  |   44 
 source/es/extensions/messages.po   |   18 
 source/es/helpcontent2/source/text/sbasic/guide.po |6 
 source/es/helpcontent2/source/text/sbasic/python.po|   50 
 source/es/helpcontent2/source/text/sbasic/shared.po|   68 
 source/es/helpcontent2/source/text/sbasic/shared/01.po |8 
 source/es/helpcontent2/source/text/sbasic/shared/03.po |  192 
 source/es/helpcontent2/source/text/scalc.po|6 
 source/es/helpcontent2/source/text/scalc/01.po |   12 
 source/es/helpcontent2/source/text/scalc/guide.po  |6 
 source/es/helpcontent2/source/text/schart/01.po|   14 
 source/es/helpcontent2/source/text/sdatabase.po|   44 
 source/es/helpcontent2/source/text/shared.po   |4 
 source/es/helpcontent2/source/text/shared/00.po|8 
 source/es/helpcontent2/source/text/shared/01.po|   34 
 source/es/helpcontent2/source/text/shared/02.po|   32 
 source/es/helpcontent2/source/text/shared/04.po|   10 
 source/es/helpcontent2/source/text/shared/guide.po |   20 
 source/es/helpcontent2/source/text/shared/optionen.po  |8 
 source/es/helpcontent2/source/text/simpress/01.po  |4 
 source/es/helpcontent2/source/text/simpress/02.po 

[Libreoffice-commits] core.git: Branch 'libreoffice-7-3' - translations

2022-08-31 Thread Christian Lohmaier (via logerrit)
 translations |2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

New commits:
commit 6ed4c6959ee8628f5762463f4a099f655c10eb09
Author: Christian Lohmaier 
AuthorDate: Wed Aug 31 16:16:29 2022 +0200
Commit: Gerrit Code Review 
CommitDate: Wed Aug 31 16:16:29 2022 +0200

Update git submodules

* Update translations from branch 'libreoffice-7-3'
  to d0465390939211e803f10548e618dc68dabe4421
  - update translations for 7.3.6 rc2

and force-fix errors using pocheck

Change-Id: I1ae9645927117017ecb4d85e28eabeb71d3ba894

diff --git a/translations b/translations
index 0c76c3acc2f3..d04653909392 16
--- a/translations
+++ b/translations
@@ -1 +1 @@
-Subproject commit 0c76c3acc2f3a417de5ef807ec23af245e75707b
+Subproject commit d0465390939211e803f10548e618dc68dabe4421


[Libreoffice-commits] translations.git: Branch 'libreoffice-7-3' - source/an source/ast source/bg source/ca source/cs source/cy source/de source/dsb source/es source/eu source/fi source/fr source/gl s

2022-08-31 Thread Christian Lohmaier (via logerrit)
 source/an/cui/messages.po  |7 
 source/ast/cui/messages.po |4 
 source/ast/filter/messages.po  |4 
 source/ast/helpcontent2/source/text/sbasic/guide.po|6 
 source/ast/helpcontent2/source/text/sbasic/shared.po   |6 
 source/ast/helpcontent2/source/text/sbasic/shared/03.po|   34 
 source/ast/helpcontent2/source/text/scalc/01.po|6 
 source/ast/helpcontent2/source/text/shared/01.po   |8 
 source/ast/helpcontent2/source/text/shared/02.po   |4 
 source/ast/helpcontent2/source/text/shared/guide.po|4 
 source/ast/helpcontent2/source/text/shared/optionen.po |   16 
 source/ast/helpcontent2/source/text/smath/01.po|   10 
 source/ast/helpcontent2/source/text/swriter/01.po  |6 
 source/ast/helpcontent2/source/text/swriter/guide.po   |4 
 source/ast/officecfg/registry/data/org/openoffice/Office/UI.po |   22 
 source/ast/sc/messages.po  |4 
 source/ast/sfx2/messages.po|   11 
 source/ast/starmath/messages.po|8 
 source/ast/sw/messages.po  |8 
 source/bg/helpcontent2/source/text/sbasic/shared/03.po |6 
 source/ca/helpcontent2/source/text/sbasic/guide.po |4 
 source/ca/helpcontent2/source/text/sbasic/shared.po|4 
 source/ca/helpcontent2/source/text/sbasic/shared/03.po |   50 
 source/ca/helpcontent2/source/text/scalc/01.po |   10 
 source/ca/helpcontent2/source/text/shared/optionen.po  |4 
 source/ca/helpcontent2/source/text/smath/01.po |   16 
 source/cs/helpcontent2/source/text/shared/00.po|8 
 source/cy/uui/messages.po  |   10 
 source/de/helpcontent2/source/text/sbasic/guide.po |  114 
 source/de/helpcontent2/source/text/sbasic/shared/02.po |8 
 source/de/helpcontent2/source/text/sbasic/shared/03.po |4 
 source/de/helpcontent2/source/text/scalc/01.po |4 
 source/de/helpcontent2/source/text/sdatabase.po|  150 
 source/de/helpcontent2/source/text/shared/guide.po |6 
 source/de/helpcontent2/source/text/swriter/guide.po|4 
 source/dsb/chart2/messages.po  |6 
 source/dsb/cui/messages.po |6 
 source/dsb/formula/messages.po |6 
 source/dsb/officecfg/registry/data/org/openoffice/Office/UI.po |   26 
 source/dsb/sc/messages.po  |6 
 source/dsb/sd/messages.po  |   16 
 source/dsb/svx/messages.po |   20 
 source/dsb/wizards/source/resources.po |   10 
 source/es/basctl/messages.po   |8 
 source/es/basic/messages.po|   10 
 source/es/cui/messages.po  |   44 
 source/es/extensions/messages.po   |   18 
 source/es/helpcontent2/source/text/sbasic/guide.po |6 
 source/es/helpcontent2/source/text/sbasic/python.po|   50 
 source/es/helpcontent2/source/text/sbasic/shared.po|   68 
 source/es/helpcontent2/source/text/sbasic/shared/01.po |8 
 source/es/helpcontent2/source/text/sbasic/shared/03.po |  192 
 source/es/helpcontent2/source/text/scalc.po|6 
 source/es/helpcontent2/source/text/scalc/01.po |   12 
 source/es/helpcontent2/source/text/scalc/guide.po  |6 
 source/es/helpcontent2/source/text/schart/01.po|   14 
 source/es/helpcontent2/source/text/sdatabase.po|   44 
 source/es/helpcontent2/source/text/shared.po   |4 
 source/es/helpcontent2/source/text/shared/00.po|8 
 source/es/helpcontent2/source/text/shared/01.po|   34 
 source/es/helpcontent2/source/text/shared/02.po|   32 
 source/es/helpcontent2/source/text/shared/04.po|   10 
 source/es/helpcontent2/source/text/shared/guide.po |   20 
 source/es/helpcontent2/source/text/shared/optionen.po  |8 
 source/es/helpcontent2/source/text/simpress/01.po  |4 
 source/es/helpcontent2/source/text/simpress/02.po 

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

2022-08-31 Thread Noel Grandin (via logerrit)
 sw/source/core/edit/edglbldc.cxx |3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

New commits:
commit 0c028d551298b69f153af86c9cbeb01f06c4b810
Author: Noel Grandin 
AuthorDate: Wed Aug 31 13:01:51 2022 +0200
Commit: Noel Grandin 
CommitDate: Wed Aug 31 16:12:58 2022 +0200

cid#1500618 Explicit null dereferenced

regression from
commit 97c934d96be62f906c48561673866399f6469446
Author: Noel Grandin 
Date:   Tue Sep 18 14:32:11 2018 +0200
convert SwGlblDocContents to sorted_vector>

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

diff --git a/sw/source/core/edit/edglbldc.cxx b/sw/source/core/edit/edglbldc.cxx
index 93a77ddf5edb..7151939151e1 100644
--- a/sw/source/core/edit/edglbldc.cxx
+++ b/sw/source/core/edit/edglbldc.cxx
@@ -80,7 +80,8 @@ void SwEditShell::GetGlobalDocContent( SwGlblDocContents& 
rArr ) const
 pNew.reset(new SwGlblDocContent( pSect ));
 break;
 }
-rArr.insert( std::move(pNew) );
+if (pNew)
+rArr.insert( std::move(pNew) );
 }
 }
 


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

2022-08-31 Thread Caolán McNamara (via logerrit)
 sw/source/uibase/docvw/PageBreakWin.cxx |1 +
 1 file changed, 1 insertion(+)

New commits:
commit dd8775dd0d89dac5bb239304efeafdbf515a8841
Author: Caolán McNamara 
AuthorDate: Mon Aug 29 20:06:33 2022 +0100
Commit: Christian Lohmaier 
CommitDate: Wed Aug 31 16:06:59 2022 +0200

Resolves: tdf#150629 the window was destroyed from the fadetimer callback

which is how it could be possible that SwPageBreakWin::dispose() could
be both called, stopping the timer, but the timer callback could access
the disposed SwPageBreakWin

Change-Id: If29ffb45fbde607d35c12064b05e4b5d25c2f009
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/138977
Reviewed-by: Adolfo Jayme Barrientos 
Tested-by: Christian Lohmaier 
Reviewed-by: Christian Lohmaier 

diff --git a/sw/source/uibase/docvw/PageBreakWin.cxx 
b/sw/source/uibase/docvw/PageBreakWin.cxx
index 2db9b5141cec..d0e08356dc40 100644
--- a/sw/source/uibase/docvw/PageBreakWin.cxx
+++ b/sw/source/uibase/docvw/PageBreakWin.cxx
@@ -486,6 +486,7 @@ IMPL_LINK_NOARG(SwPageBreakWin, FadeHandler, Timer *, void)
 {
 Hide();
 m_pLine->DestroyWin();
+return;
 }
 else
 {


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

2022-08-31 Thread Caolán McNamara (via logerrit)
 sw/source/core/text/porfld.cxx |3 +++
 sw/source/core/text/porfld.hxx |2 +-
 2 files changed, 4 insertions(+), 1 deletion(-)

New commits:
commit 6dcaa2d812a1c9eb95398d46ff00eec616f0ff68
Author: Caolán McNamara 
AuthorDate: Fri Aug 26 14:42:32 2022 +0100
Commit: Christian Lohmaier 
CommitDate: Wed Aug 31 16:04:01 2022 +0200

crashtesting: empty brace init of o3tl::enumarray doesn't zero each element

so the stretch used to layout fdo66401-6.docx is random, leading to
sometimes too much stretch for cairo/freetype to handle and the
conversion crashes. A problem since:

commit d51db77c8d87f210785a8a8c6dd875f7bacddb3c
Date:   Tue Oct 15 01:57:12 2019 +0300

Remove some memset calls

Replace them with default initialization or calloc

Change-Id: I49408eee6c7e36bd9c98cbb10c7f95a57c0f7a11
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/138828
Tested-by: Jenkins
Reviewed-by: Xisco Fauli 
(cherry picked from commit 86a5e2542a1a073f7456f2f8f6aea06d3dfd557e)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/138896
Tested-by: Christian Lohmaier 
Reviewed-by: Christian Lohmaier 

diff --git a/sw/source/core/text/porfld.cxx b/sw/source/core/text/porfld.cxx
index 6ef492c1b9d5..6110edc415fe 100644
--- a/sw/source/core/text/porfld.cxx
+++ b/sw/source/core/text/porfld.cxx
@@ -1074,6 +1074,9 @@ void SwTextFrame::StopAnimation( const OutputDevice* pOut 
)
  */
 SwCombinedPortion::SwCombinedPortion( const OUString &rText )
 : SwFieldPortion( rText )
+, m_aWidth{ static_cast(0),
+static_cast(0),
+static_cast(0) }
 , m_nUpPos(0)
 , m_nLowPos(0)
 , m_nProportion(55)
diff --git a/sw/source/core/text/porfld.hxx b/sw/source/core/text/porfld.hxx
index 519e56f8f58c..f424edbf7632 100644
--- a/sw/source/core/text/porfld.hxx
+++ b/sw/source/core/text/porfld.hxx
@@ -207,7 +207,7 @@ public:
 class SwCombinedPortion : public SwFieldPortion
 {
 sal_uInt16 m_aPos[6]; // up to six X positions
-o3tl::enumarray m_aWidth = {}; // one width for 
every scripttype
+o3tl::enumarray m_aWidth; // one width for every 
scripttype
 SwFontScript m_aScrType[6];  // scripttype of every character
 sal_uInt16 m_nUpPos;  // the Y position of the upper baseline
 sal_uInt16 m_nLowPos; // the Y position of the lower baseline


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

2022-08-31 Thread Mike Kaganski (via logerrit)
 svx/source/form/formcontroller.cxx |2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

New commits:
commit 16eafe39aba428178aea67fba38cdfb8abf25262
Author: Mike Kaganski 
AuthorDate: Wed Aug 24 10:49:47 2022 +0200
Commit: Christian Lohmaier 
CommitDate: Wed Aug 31 16:01:10 2022 +0200

tdf#150577: Revert "Micro-optim in FormController::approveRowChange"

This reverts commit e005ab5d40d358adb75a64e140d46f4bf605647d.

XColumn::wasNull is documented [1] to require a previous call to a get*
method. The reverted change internally queried the *previous* column's
wasNull.

[1] 
https://api.libreoffice.org/docs/idl/ref/interfacecom_1_1sun_1_1star_1_1sdb_1_1XColumn.html#a0d482c20564f9119052b1962f830190e

Change-Id: I3e988358764fa6935e8eb3e66340a0869c157d02
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/138550
Tested-by: Jenkins
Reviewed-by: Mike Kaganski 
(cherry picked from commit 59f30175bfc557aa7c752ab0b45af9d34215d4dc)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/138822
Reviewed-by: Caolán McNamara 
(cherry picked from commit 0e12ed1c39531566d080c9fa1e27e9e2659addd2)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/138894
Reviewed-by: Xisco Fauli 
Reviewed-by: Christian Lohmaier 
Tested-by: Christian Lohmaier 

diff --git a/svx/source/form/formcontroller.cxx 
b/svx/source/form/formcontroller.cxx
index 50e0d4f592d9..d5687a15ba03 100644
--- a/svx/source/form/formcontroller.cxx
+++ b/svx/source/form/formcontroller.cxx
@@ -3647,7 +3647,7 @@ sal_Bool SAL_CALL FormController::approveRowChange(const 
RowChangeEvent& _rEvent
 }
 
 // TODO: in case of binary fields, this "getString" below is 
extremely expensive
-if ( !rColInfo.xColumn->wasNull() || 
!rColInfo.xColumn->getString().isEmpty() )
+if ( !rColInfo.xColumn->getString().isEmpty() || 
!rColInfo.xColumn->wasNull() )
 continue;
 
 OUString sMessage( SvxResId( RID_ERR_FIELDREQUIRED ) );


[Libreoffice-commits] core.git: Branch 'distro/vector/vector-7.0' - sw/qa sw/source

2022-08-31 Thread Miklos Vajna (via logerrit)
 sw/qa/extras/htmlexport/data/paint-ole-bitmap-format.odt |binary
 sw/qa/extras/htmlexport/htmlexport.cxx   |   33 +++
 sw/source/filter/html/htmlreqifreader.cxx|6 ++
 3 files changed, 39 insertions(+)

New commits:
commit b33fe3f5435745daf04758675750033468ac6b3c
Author: Miklos Vajna 
AuthorDate: Tue Aug 30 15:00:19 2022 +0200
Commit: Miklos Vajna 
CommitDate: Wed Aug 31 15:40:12 2022 +0200

sw reqif/xhtml export: fix invalid pixel formats of graphics exported as OLE

When exporting a Writer document to reqif-xhtml in ExportImagesAsOLE
mode with something like:

soffice.bin --convert-to 'xhtml:HTML 
(StarWriter):{"XhtmlNs":{"type":"string","value":"reqif-xhtml"},"ExportImagesAsOLE":{"type":"boolean","value":"true"}}'
 test.odt

images are exported as ms paint ole objects instead of plain images.

This happens in WrapGraphicInRtf(), using GraphicConverter::Export()
where we just specify we want a BMP output. This usually works, but not
when the bitmap format is something exotic where we try to keep that
format in BMP, but ms paint can't handle it. When this happens, we get
an RPC_E_SERVERFAULT error from OleRun() in OleComponent::RunObject(),
which doesn't say much, except that ms paint failed to read the byte
array we handed out.

Fix the problem by ensuring that if a graphic is exported as OLE data,
then it always has the 24bit pixel format.

Interestingly a 8bit BMP can be opened in ms paint manually, but not
when embedding it as OLE object.

(cherry picked from commit 13219c632b7ec154ba882a715cf890b54f10b146)

Change-Id: I2285bf67c4528cde208ae9fba42ece56822f5403

diff --git a/sw/qa/extras/htmlexport/data/paint-ole-bitmap-format.odt 
b/sw/qa/extras/htmlexport/data/paint-ole-bitmap-format.odt
new file mode 100644
index ..d83b89459773
Binary files /dev/null and 
b/sw/qa/extras/htmlexport/data/paint-ole-bitmap-format.odt differ
diff --git a/sw/qa/extras/htmlexport/htmlexport.cxx 
b/sw/qa/extras/htmlexport/htmlexport.cxx
index 9d2aed175a66..442feecaa145 100644
--- a/sw/qa/extras/htmlexport/htmlexport.cxx
+++ b/sw/qa/extras/htmlexport/htmlexport.cxx
@@ -41,6 +41,7 @@
 #include 
 #include 
 #include 
+#include 
 
 #include 
 
@@ -1266,6 +1267,38 @@ CPPUNIT_TEST_FIXTURE(SwHtmlDomExportTest, 
testReqifOle1Paint)
 CPPUNIT_ASSERT_EQUAL(OString("PBrush"), aClassName);
 }
 
+CPPUNIT_TEST_FIXTURE(SwHtmlDomExportTest, testReqifOle1PaintBitmapFormat)
+{
+// Given a document with a 8bpp bitmap:
+OUString aURL = m_directories.getURLFromSrc(DATA_DIRECTORY) + 
"paint-ole-bitmap-format.odt";
+mxComponent = loadFromDesktop(aURL, "com.sun.star.text.TextDocument", {});
+
+// When exporting to reqif-xhtml with ExportImagesAsOLE enabled:
+uno::Reference xStorable(mxComponent, uno::UNO_QUERY);
+uno::Sequence aStoreProperties = {
+comphelper::makePropertyValue("FilterName", OUString("HTML 
(StarWriter)")),
+comphelper::makePropertyValue("FilterOptions", 
OUString("xhtmlns=reqif-xhtml")),
+comphelper::makePropertyValue("ExportImagesAsOLE", true),
+};
+xStorable->storeToURL(maTempFile.GetURL(), aStoreProperties);
+
+// Then make sure the resulting bitmap is 24bpp:
+OUString aRtfUrl = GetOlePath();
+SvMemoryStream aOle1;
+ParseOle1FromRtfUrl(aRtfUrl, aOle1);
+OLE1Reader aOle1Reader(aOle1);
+Bitmap aBitmap;
+SvMemoryStream aMemory;
+aMemory.WriteBytes(aOle1Reader.m_aNativeData.data(), 
aOle1Reader.m_aNativeData.size());
+aMemory.Seek(0);
+CPPUNIT_ASSERT(ReadDIB(aBitmap, aMemory, true));
+// Without the accompanying fix in place, this test would have failed with:
+// - Expected: 24
+// - Actual  : 8
+// i.e. it was not a pixel format ms paint could handle in OLE mode.
+CPPUNIT_ASSERT_EQUAL(static_cast(24), aBitmap.GetBitCount());
+}
+
 CPPUNIT_TEST_FIXTURE(SwHtmlDomExportTest, testMultiParaListItem)
 {
 // Create a document with 3 list items: A, B&C and D.
diff --git a/sw/source/filter/html/htmlreqifreader.cxx 
b/sw/source/filter/html/htmlreqifreader.cxx
index a091183b9f69..894b78d99d20 100644
--- a/sw/source/filter/html/htmlreqifreader.cxx
+++ b/sw/source/filter/html/htmlreqifreader.cxx
@@ -550,6 +550,12 @@ bool WrapGraphicInRtf(const Graphic& rGraphic, const 
SwFrameFormat& rFormat, SvS
 BitmapEx aBitmapEx = rGraphic.GetBitmapEx();
 Bitmap aBitmap = 
aBitmapEx.GetBitmap(/*aTransparentReplaceColor=*/COL_WHITE);
 
+if (aBitmap.GetBitCount() != 24)
+{
+// More exotic pixel formats cause trouble for ms paint.
+aBitmap.Convert(BmpConversion::N24Bit);
+}
+
 if (GraphicConverter::Export(aNativeData, BitmapEx(aBitmap), 
ConvertDataFormat::BMP)
 != ERRCODE_NONE)
 {


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

2022-08-31 Thread Caolán McNamara (via logerrit)
 sfx2/source/appl/macroloader.cxx   |9 +++--
 sfx2/source/doc/iframe.cxx |   20 +++-
 sfx2/source/inc/macroloader.hxx|2 ++
 sw/source/filter/html/htmlplug.cxx |7 ++-
 sw/source/filter/xml/xmltexti.cxx  |9 +++--
 5 files changed, 37 insertions(+), 10 deletions(-)

New commits:
commit c7450d0b9d02c64ae3da467d329040787039767e
Author: Caolán McNamara 
AuthorDate: Tue Aug 30 17:01:08 2022 +0100
Commit: Stephan Bergmann 
CommitDate: Wed Aug 31 15:36:27 2022 +0200

check IFrame "FrameURL" target

similiar to

commit b3edf85e0fe6ca03dc26e1bf531be82193bc9627
Date:   Wed Aug 7 17:37:11 2019 +0100

warn on load when a document binds an event to a macro

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

diff --git a/sfx2/source/appl/macroloader.cxx b/sfx2/source/appl/macroloader.cxx
index a6fe07000187..bf6dd7669b39 100644
--- a/sfx2/source/appl/macroloader.cxx
+++ b/sfx2/source/appl/macroloader.cxx
@@ -68,10 +68,10 @@ css::uno::Sequence SAL_CALL 
SfxMacroLoader::getSupportedServiceNames()
 return { "com.sun.star.frame.ProtocolHandler" };
 }
 
-SfxObjectShell* SfxMacroLoader::GetObjectShell_Impl()
+SfxObjectShell* SfxMacroLoader::GetObjectShell(const Reference & 
xFrame)
 {
 SfxObjectShell* pDocShell = nullptr;
-Reference < XFrame > xFrame( m_xFrame.get(), UNO_QUERY );
+
 if ( xFrame.is() )
 {
 SfxFrame* pFrame=nullptr;
@@ -88,6 +88,11 @@ SfxObjectShell* SfxMacroLoader::GetObjectShell_Impl()
 return pDocShell;
 }
 
+SfxObjectShell* SfxMacroLoader::GetObjectShell_Impl()
+{
+Reference < XFrame > xFrame( m_xFrame.get(), UNO_QUERY );
+return SfxMacroLoader::GetObjectShell(xFrame);
+}
 
 uno::Reference SAL_CALL SfxMacroLoader::queryDispatch(
 const util::URL&   aURL,
diff --git a/sfx2/source/doc/iframe.cxx b/sfx2/source/doc/iframe.cxx
index 40cb1da98d6e..e4ea73d707d6 100644
--- a/sfx2/source/doc/iframe.cxx
+++ b/sfx2/source/doc/iframe.cxx
@@ -39,11 +39,13 @@
 #include 
 #include 
 #include 
+#include 
 #include 
 #include 
 #include 
 #include 
 #include 
+#include 
 
 using namespace ::com::sun::star;
 
@@ -158,6 +160,19 @@ sal_Bool SAL_CALL IFrameObject::load(
 {
 if ( officecfg::Office::Common::Misc::PluginsEnabled::get() )
 {
+util::URL aTargetURL;
+aTargetURL.Complete = maFrmDescr.GetURL().GetMainURL( 
INetURLObject::DecodeMechanism::NONE );
+uno::Reference < util::XURLTransformer > xTrans( 
util::URLTransformer::create( mxContext ) );
+xTrans->parseStrict( aTargetURL );
+
+if (INetURLObject(aTargetURL.Complete).GetProtocol() == 
INetProtocol::Macro)
+{
+uno::Reference xParentFrame = 
xFrame->getCreator();
+SfxObjectShell* pDoc = 
SfxMacroLoader::GetObjectShell(xParentFrame);
+if (pDoc && !pDoc->AdjustMacroMode())
+return false;
+}
+
 DBG_ASSERT( !mxFrame.is(), "Frame already existing!" );
 VclPtr pParent = VCLUnoHelper::GetWindow( 
xFrame->getContainerWindow() );
 VclPtr pWin = VclPtr::Create( 
pParent, maFrmDescr.IsFrameBorderOn() );
@@ -180,11 +195,6 @@ sal_Bool SAL_CALL IFrameObject::load(
 if ( xFramesSupplier.is() )
 mxFrame->setCreator( xFramesSupplier );
 
-util::URL aTargetURL;
-aTargetURL.Complete = maFrmDescr.GetURL().GetMainURL( 
INetURLObject::DecodeMechanism::NONE );
-uno::Reference < util::XURLTransformer > xTrans( 
util::URLTransformer::create( mxContext ) );
-xTrans->parseStrict( aTargetURL );
-
 uno::Sequence < beans::PropertyValue > aProps{
 comphelper::makePropertyValue("PluginMode", sal_Int16(2)),
 comphelper::makePropertyValue("ReadOnly", true)
diff --git a/sfx2/source/inc/macroloader.hxx b/sfx2/source/inc/macroloader.hxx
index b51cae3d93cf..250a07cd8ca1 100644
--- a/sfx2/source/inc/macroloader.hxx
+++ b/sfx2/source/inc/macroloader.hxx
@@ -79,6 +79,8 @@ public:
 virtual void SAL_CALL addStatusListener( const css::uno::Reference< 
css::frame::XStatusListener >& xControl, const css::util::URL& aURL ) override;
 
 virtual void SAL_CALL removeStatusListener( const css::uno::Reference< 
css::frame::XStatusListener >& xControl, const css::util::URL& aURL ) override;
+
+static SfxObjectShell* GetObjectShell(const 
css::uno::Reference& xFrame);
 };
 
 #endif
diff --git a/sw/source/filter/html/htmlplug.cxx 
b/sw/source/filter/html/htmlplug.cxx
index acc1fde0d2b2..83b8e8d16e0f 100644
--- a/sw/source/filter/html/htmlplug.cxx
+++ b/sw/source/filter/html/htmlplug.cxx
@@ -1105,7 +1105,12 @@ void SwHTMLParser::InsertFloatingFrame()
 bool bHasBorder = aFrameDesc.HasFrameBorder();
 Size aMargin = aFrameDesc.GetMargin();
 
-xSet->setPropertyValue("Fram

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

2022-08-31 Thread Noel Grandin (via logerrit)
 svx/source/tbxctrls/tbcontrl.cxx |1 +
 1 file changed, 1 insertion(+)

New commits:
commit 1f4d48ce5723f96c5c5969ae8d7cd3a1bf9c3594
Author: Noel Grandin 
AuthorDate: Wed Aug 31 12:08:20 2022 +0200
Commit: Noel Grandin 
CommitDate: Wed Aug 31 15:16:05 2022 +0200

cid#1500540 Dereference before null check

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

diff --git a/svx/source/tbxctrls/tbcontrl.cxx b/svx/source/tbxctrls/tbcontrl.cxx
index a97bc0b12d31..e01f91ffd834 100644
--- a/svx/source/tbxctrls/tbcontrl.cxx
+++ b/svx/source/tbxctrls/tbcontrl.cxx
@@ -2649,6 +2649,7 @@ IMPL_LINK_NOARG(SvxFrameWindow_Impl, SelectHdl, 
ValueSet*, void)
 mxControl->dispatchCommand( ".uno:SetBorderStyle", aArgs );
 }
 
+// coverity[ reverse_inull : FALSE]
 if (mxFrameSet)
 {
 /* #i33380# Moved the following line above the Dispatch() call.


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

2022-08-31 Thread Noel Grandin (via logerrit)
 sw/source/uibase/utlui/glbltree.cxx |2 --
 1 file changed, 2 deletions(-)

New commits:
commit 7e774b4d49e332b40031c2a8759b996d15481e38
Author: Noel Grandin 
AuthorDate: Wed Aug 31 12:02:26 2022 +0200
Commit: Noel Grandin 
CommitDate: Wed Aug 31 14:57:04 2022 +0200

cid#1500462 Dereference before null check

appears to be dead code all the way back to
commit 7b0b5cdfeed656b279bc32cd929630d5fc25878b
Author: Jens-Heiner Rechtien 
Date:   Mon Sep 18 16:15:01 2000 +
initial import

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

diff --git a/sw/source/uibase/utlui/glbltree.cxx 
b/sw/source/uibase/utlui/glbltree.cxx
index 4e64540c4a90..d6577271cc3b 100644
--- a/sw/source/uibase/utlui/glbltree.cxx
+++ b/sw/source/uibase/utlui/glbltree.cxx
@@ -459,8 +459,6 @@ void SwGlobalTree::Display(bool bOnlyUpdateUserData)
 }
 m_xTreeView->freeze();
 m_xTreeView->clear();
-if (!m_pSwGlblDocContents)
-Update( false );
 
 int nSelEntry = -1;
 for (size_t i = 0; i < nCount; ++i)


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

2022-08-31 Thread Stephan Bergmann (via logerrit)
 wizards/source/access2base/DoCmd.xba  |2 +-
 wizards/source/scriptforge/SF_Session.xba |2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

New commits:
commit a2c6a8613c52d9061e97afff3bb069c684986ecd
Author: Stephan Bergmann 
AuthorDate: Tue Aug 30 14:04:52 2022 +0200
Commit: Caolán McNamara 
CommitDate: Wed Aug 31 14:56:12 2022 +0200

These commands are always URLs already

Change-Id: I5083765c879689d7f933bbe00ad70bb68e635a21
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/139042
Tested-by: Jean-Pierre Ledure 
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann 
(cherry picked from commit eddd37280aa69da82cde91c9b9cc8139c6ec8cdc)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/138981
Reviewed-by: Caolán McNamara 

diff --git a/wizards/source/access2base/DoCmd.xba 
b/wizards/source/access2base/DoCmd.xba
index 12c62714d775..ded67fe59674 100644
--- a/wizards/source/access2base/DoCmd.xba
+++ b/wizards/source/access2base/DoCmd.xba
@@ -2655,7 +2655,7 @@ Private Sub _ShellExecute(sCommand As String)
 
 Dim oShell As Object
Set oShell = 
createUnoService("com.sun.star.system.SystemShellExecute")
-   oShell.execute(sCommand, "" , 
com.sun.star.system.SystemShellExecuteFlags.DEFAULTS)
+   oShell.execute(sCommand, "" , 
com.sun.star.system.SystemShellExecuteFlags.URIS_ONLY)
 
 End Sub'  _ShellExecute   
V0.8.5
 
diff --git a/wizards/source/scriptforge/SF_Session.xba 
b/wizards/source/scriptforge/SF_Session.xba
index d65512823406..b4292f36ea83 100644
--- a/wizards/source/scriptforge/SF_Session.xba
+++ b/wizards/source/scriptforge/SF_Session.xba
@@ -587,7 +587,7 @@ Check:
 Try:
Set oShell = SF_Utils._GetUNOService("SystemShellExecute")
sCommand = SF_FileSystem._ConvertToUrl(Command)
-   oShell.execute(sCommand, Parameters, 
com.sun.star.system.SystemShellExecuteFlags.DEFAULTS)
+   oShell.execute(sCommand, Parameters, 
com.sun.star.system.SystemShellExecuteFlags.URIS_ONLY)
bReturn = True
 
 Finally:


[Libreoffice-commits] core.git: Branch 'libreoffice-7-3' - wizards/source

2022-08-31 Thread Stephan Bergmann (via logerrit)
 wizards/source/access2base/DoCmd.xba  |2 +-
 wizards/source/scriptforge/SF_Session.xba |2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

New commits:
commit 5b4025bb56999f5c895c6f7e0b52f521800d65b0
Author: Stephan Bergmann 
AuthorDate: Tue Aug 30 14:04:52 2022 +0200
Commit: Caolán McNamara 
CommitDate: Wed Aug 31 14:56:26 2022 +0200

These commands are always URLs already

Change-Id: I5083765c879689d7f933bbe00ad70bb68e635a21
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/139042
Tested-by: Jean-Pierre Ledure 
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann 
(cherry picked from commit e61701e1ee6763de72b397e6ade1124eca9400f3)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/138980
Reviewed-by: Caolán McNamara 

diff --git a/wizards/source/access2base/DoCmd.xba 
b/wizards/source/access2base/DoCmd.xba
index 089486a872fa..20051553c47f 100644
--- a/wizards/source/access2base/DoCmd.xba
+++ b/wizards/source/access2base/DoCmd.xba
@@ -2655,7 +2655,7 @@ Private Sub _ShellExecute(sCommand As String)
 
 Dim oShell As Object
Set oShell = 
createUnoService("com.sun.star.system.SystemShellExecute")
-   oShell.execute(sCommand, "" , 
com.sun.star.system.SystemShellExecuteFlags.DEFAULTS)
+   oShell.execute(sCommand, "" , 
com.sun.star.system.SystemShellExecuteFlags.URIS_ONLY)
 
 End Sub'  _ShellExecute   
V0.8.5
 
diff --git a/wizards/source/scriptforge/SF_Session.xba 
b/wizards/source/scriptforge/SF_Session.xba
index db3cb9449889..7a358b8f2310 100644
--- a/wizards/source/scriptforge/SF_Session.xba
+++ b/wizards/source/scriptforge/SF_Session.xba
@@ -587,7 +587,7 @@ Check:
 Try:
Set oShell = SF_Utils._GetUNOService("SystemShellExecute")
sCommand = SF_FileSystem._ConvertToUrl(Command)
-   oShell.execute(sCommand, Parameters, 
com.sun.star.system.SystemShellExecuteFlags.DEFAULTS)
+   oShell.execute(sCommand, Parameters, 
com.sun.star.system.SystemShellExecuteFlags.URIS_ONLY)
bReturn = True
 
 Finally:


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

2022-08-31 Thread Andrea Gelmini (via logerrit)
 oox/source/drawingml/shape.cxx |2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

New commits:
commit 8fce4a0a1077ed9d5652c8a9101e60be1408f47b
Author: Andrea Gelmini 
AuthorDate: Wed Aug 31 12:57:49 2022 +0200
Commit: Julien Nabet 
CommitDate: Wed Aug 31 14:28:17 2022 +0200

Fix typo

Change-Id: I1cbdfec2c6340a8305fd249ff8112e2d8e0ffdfb
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/139102
Tested-by: Julien Nabet 
Reviewed-by: Julien Nabet 

diff --git a/oox/source/drawingml/shape.cxx b/oox/source/drawingml/shape.cxx
index 1e7a702b25e6..be9e8df456b2 100644
--- a/oox/source/drawingml/shape.cxx
+++ b/oox/source/drawingml/shape.cxx
@@ -835,7 +835,7 @@ Reference< XShape > const & Shape::createAndInsert(
 maSize.Height = 0;
 for (auto const& elem : mpTablePropertiesPtr->getTableRows())
 {
-// WARN: When less then minimum sized rows exist, calculated 
height here
+// WARN: When less than minimum sized rows exist, calculated 
height here
 // is corrected before layouting takes place
 maSize.Height = o3tl::saturating_add(maSize.Height, 
elem.getHeight());
 }


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

2022-08-31 Thread Andrea Gelmini (via logerrit)
 drawinglayer/source/primitive2d/glowprimitive2d.cxx |2 +-
 include/svx/svdotable.hxx   |2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

New commits:
commit e5ae7adcb58d41d8733b85b3e801a5d484a2832e
Author: Andrea Gelmini 
AuthorDate: Wed Aug 31 12:57:21 2022 +0200
Commit: Julien Nabet 
CommitDate: Wed Aug 31 14:27:48 2022 +0200

Fix typo

Change-Id: Iae97a43a18a8017e739eb2bb4275da6fa275aff3
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/139101
Tested-by: Julien Nabet 
Reviewed-by: Julien Nabet 

diff --git a/drawinglayer/source/primitive2d/glowprimitive2d.cxx 
b/drawinglayer/source/primitive2d/glowprimitive2d.cxx
index 9c4a2f45b9c4..0bce06d90a1d 100644
--- a/drawinglayer/source/primitive2d/glowprimitive2d.cxx
+++ b/drawinglayer/source/primitive2d/glowprimitive2d.cxx
@@ -265,7 +265,7 @@ void 
GlowPrimitive2D::get2DDecomposition(Primitive2DDecompositionVisitor& rVisit
 // Check if last created area is sufficient and can be re-used
 if (!maLastClippedRange.isEmpty() && 
!maLastClippedRange.isInside(aClippedRange))
 {
-// To avoid unneceary invalidations due to being *very* correct
+// To avoid unnecessary invalidations due to being *very* correct
 // with HairLines (which are view-dependent and thus change the
 // result(s) here slightly when changing zoom), add a slight 
unsharp
 // component if we have a ViewTransform. The derivation is inside
diff --git a/include/svx/svdotable.hxx b/include/svx/svdotable.hxx
index 64996cce2717..bf0761248bd5 100644
--- a/include/svx/svdotable.hxx
+++ b/include/svx/svdotable.hxx
@@ -258,7 +258,7 @@ public:
 /// Next time layouting would be done, skip it (to layout at the end of 
multiple actions).
 void SetSkipChangeLayout(bool bSkipChangeLayout);
 
-/** Tries to get table height if rows with sizes less then the minimum 
size were expanded
+/** Tries to get table height if rows with sizes less than the minimum 
size were expanded
 
 (i.e. Table height layouted without fitting to an area)
 Helper for OOXML import


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

2022-08-31 Thread Andrea Gelmini (via logerrit)
 drawinglayer/source/primitive2d/glowprimitive2d.cxx |2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

New commits:
commit 56a1c4e80c45c81d42a12b536863f8f26f6144c6
Author: Andrea Gelmini 
AuthorDate: Wed Aug 31 12:55:40 2022 +0200
Commit: Julien Nabet 
CommitDate: Wed Aug 31 14:26:59 2022 +0200

Fix typo

Change-Id: I18d696cbc5685778e23bf69ce99e044db25f9a55
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/139100
Tested-by: Julien Nabet 
Reviewed-by: Julien Nabet 

diff --git a/drawinglayer/source/primitive2d/glowprimitive2d.cxx 
b/drawinglayer/source/primitive2d/glowprimitive2d.cxx
index f7194dba7d9f..9c4a2f45b9c4 100644
--- a/drawinglayer/source/primitive2d/glowprimitive2d.cxx
+++ b/drawinglayer/source/primitive2d/glowprimitive2d.cxx
@@ -93,7 +93,7 @@ bool GlowPrimitive2D::prepareValuesAndcheckValidity(
 // ViewInformation2D definition in viewinformation2d.hxx)
 if (!rViewInformation.getViewport().isEmpty())
 {
-// if used, extend by GlowRadus to ensure needed parts are included
+// if used, extend by GlowRadius to ensure needed parts are included
 basegfx::B2DRange aVisibleArea(rViewInformation.getViewport());
 aVisibleArea.grow(getGlowRadius());
 


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

2022-08-31 Thread Noel Grandin (via logerrit)
 sw/source/core/undo/unspnd.cxx |   13 ++---
 1 file changed, 6 insertions(+), 7 deletions(-)

New commits:
commit 693cf862c7da540817d3bdff9120429f1528ef64
Author: Noel Grandin 
AuthorDate: Wed Aug 31 10:25:02 2022 +0200
Commit: Noel Grandin 
CommitDate: Wed Aug 31 14:26:23 2022 +0200

use more SwPosition::Assign

part of hiding the internals of SwPosition

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

diff --git a/sw/source/core/undo/unspnd.cxx b/sw/source/core/undo/unspnd.cxx
index 75b6927282d8..8dc653303251 100644
--- a/sw/source/core/undo/unspnd.cxx
+++ b/sw/source/core/undo/unspnd.cxx
@@ -79,8 +79,8 @@ void SwUndoSplitNode::UndoImpl(::sw::UndoRedoContext & 
rContext)
 if( m_bTableFlag )
 {
 // than a TextNode was added directly before the current table
-SwNodeIndex& rIdx = rPam.GetPoint()->nNode;
-rIdx = m_nNode;
+SwPosition& rPos = *rPam.GetPoint();
+rPos.Assign(m_nNode);
 SwTextNode* pTNd;
 SwNode* pCurrNd = pDoc->GetNodes()[ m_nNode + 1 ];
 SwTableNode* pTableNd = pCurrNd->FindTableNode();
@@ -101,7 +101,6 @@ void SwUndoSplitNode::UndoImpl(::sw::UndoRedoContext & 
rContext)
 
 // than delete it again
 SwNodeIndex aDelNd( *pTableNd, -1 );
-rPam.GetPoint()->nContent.Assign( 
static_cast(pCurrNd), 0 );
 RemoveIdxRel( aDelNd.GetIndex(), *rPam.GetPoint() );
 pDoc->GetNodes().Delete( aDelNd );
 }
@@ -126,9 +125,9 @@ void SwUndoSplitNode::UndoImpl(::sw::UndoRedoContext & 
rContext)
 pTNd->JoinNext();
 if (m_pHistory)
 {
-rPam.GetPoint()->nContent = 0;
+rPam.GetPoint()->SetContent(0);
 rPam.SetMark();
-rPam.GetPoint()->nContent = pTNd->GetText().getLength();
+rPam.GetPoint()->SetContent(pTNd->GetText().getLength());
 
 pDoc->RstTextAttrs( rPam, true );
 m_pHistory->TmpRollback( pDoc, 0, false );
@@ -146,13 +145,13 @@ void SwUndoSplitNode::UndoImpl(::sw::UndoRedoContext & 
rContext)
 void SwUndoSplitNode::RedoImpl(::sw::UndoRedoContext & rContext)
 {
 SwCursor & rPam( rContext.GetCursorSupplier().CreateNewShellCursor() );
-rPam.GetPoint()->nNode = m_nNode;
+rPam.GetPoint()->Assign(m_nNode);
 SwTextNode * pTNd = rPam.GetPointNode().GetTextNode();
 OSL_ENSURE(pTNd, "SwUndoSplitNode::RedoImpl(): SwTextNode expected");
 if (!pTNd)
 return;
 
-rPam.GetPoint()->nContent.Assign( pTNd, m_nContent );
+rPam.GetPoint()->SetContent( m_nContent );
 
 SwDoc& rDoc = rPam.GetDoc();
 rDoc.getIDocumentContentOperations().SplitNode( *rPam.GetPoint(), 
m_bCheckTableStart );


[Libreoffice-commits] core.git: external/cairo

2022-08-31 Thread Caolán McNamara (via logerrit)
 external/cairo/UnpackedTarball_cairo.mk |4 
 1 file changed, 4 insertions(+)

New commits:
commit 08fc49843f2893a89b97c8e5f522d31a182bc282
Author: Caolán McNamara 
AuthorDate: Wed Aug 31 10:35:46 2022 +0100
Commit: Caolán McNamara 
CommitDate: Wed Aug 31 14:14:05 2022 +0200

document attempt to upstream cairo patches

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

diff --git a/external/cairo/UnpackedTarball_cairo.mk 
b/external/cairo/UnpackedTarball_cairo.mk
index 5824d0bc0f2d..8353adb32035 100644
--- a/external/cairo/UnpackedTarball_cairo.mk
+++ b/external/cairo/UnpackedTarball_cairo.mk
@@ -15,6 +15,10 @@ $(eval $(call 
gb_UnpackedTarball_set_tarball,cairo,$(CAIRO_TARBALL),,cairo))
 # 
https://salsa.debian.org/mckinstry/libtool/-/commit/26c23f951d049241128e5e04a7bbc263e5b145f1
 # isn't applied, so add that in to avoid: /usr/bin/ld: unrecognized option 
'--gdb-index'
 
+# ofz50805.patch 
https://gitlab.freedesktop.org/cairo/cairo/-/merge_requests/350
+# ofz46165.patch upstreamed as 
https://gitlab.freedesktop.org/cairo/cairo/-/merge_requests/351
+# san.patch upstreamed as 
https://gitlab.freedesktop.org/cairo/cairo/-/merge_requests/352
+
 $(eval $(call gb_UnpackedTarball_add_patches,cairo,\
external/cairo/cairo/cairo.buildfix.patch \
external/cairo/cairo/cairo.RGB24_888.patch \


[Libreoffice-commits] core.git: external/cairo

2022-08-31 Thread Caolán McNamara (via logerrit)
 external/cairo/cairo/cairo.RGB24_888.patch |2 +-
 external/cairo/cairo/san.patch.0   |   11 ---
 2 files changed, 1 insertion(+), 12 deletions(-)

New commits:
commit ab157ab93e0c5a62927947a8d2b0c1c277e526ac
Author: Caolán McNamara 
AuthorDate: Wed Aug 31 10:20:34 2022 +0100
Commit: Caolán McNamara 
CommitDate: Wed Aug 31 14:13:50 2022 +0200

move part of sanitizer patch to the patch that introduced the problem

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

diff --git a/external/cairo/cairo/cairo.RGB24_888.patch 
b/external/cairo/cairo/cairo.RGB24_888.patch
index 6b2befabcc6c..d4f31c5cb81d 100644
--- a/external/cairo/cairo/cairo.RGB24_888.patch
+++ b/external/cairo/cairo/cairo.RGB24_888.patch
@@ -36,7 +36,7 @@ diff -ru cairo-1.17.4.orig/src/cairo-image-source.c 
cairo-1.17.4/src/cairo-image
return pixman_image_create_solid_fill (&color);
  
 +case CAIRO_FORMAT_RGB24_888:
-+  pixel = *(uint32_t *) (image->data + y * image->stride + 3 * x);
++  pixel = (uint32_t)(image->data + y * image->stride + 3 * x)[0] | 
((uint32_t)(image->data + y * image->stride + 3 * x)[1] << 8) | 
((uint32_t)(image->data + y * image->stride + 3 * x)[2] << 16);
 +  pixel &= 0x00ff; /* ignore next pixel bits */
 +  if (pixel == 0)
 +  return _pixman_black_image ();
diff --git a/external/cairo/cairo/san.patch.0 b/external/cairo/cairo/san.patch.0
index 54cf805d5865..aba2c2495e64 100644
--- a/external/cairo/cairo/san.patch.0
+++ b/external/cairo/cairo/san.patch.0
@@ -50,17 +50,6 @@
num_clusters * sizeof (cairo_text_cluster_t));
} else {
const cairo_glyph_t *cur_glyph;
 src/cairo-image-source.c
-+++ src/cairo-image-source.c
-@@ -509,7 +509,7 @@
-   return pixman_image_create_solid_fill (&color);
- 
- case CAIRO_FORMAT_RGB24_888:
--  pixel = *(uint32_t *) (image->data + y * image->stride + 3 * x);
-+  pixel = (uint32_t)(image->data + y * image->stride + 3 * x)[0] | 
((uint32_t)(image->data + y * image->stride + 3 * x)[1] << 8) | 
((uint32_t)(image->data + y * image->stride + 3 * x)[2] << 16);
-   pixel &= 0x00ff; /* ignore next pixel bits */
-   if (pixel == 0)
-   return _pixman_black_image ();
 --- src/cairo-surface.c
 +++ src/cairo-surface.c
 @@ -2849,7 +2849,7 @@


[Libreoffice-commits] core.git: external/cairo

2022-08-31 Thread Caolán McNamara (via logerrit)
 external/cairo/UnpackedTarball_cairo.mk |1 +
 external/cairo/cairo/cairo.ofz50805.patch.1 |   16 
 2 files changed, 17 insertions(+)

New commits:
commit 0a54d331f4fbc2df167b97a92e375dd6cafb5576
Author: Caolán McNamara 
AuthorDate: Wed Aug 31 09:52:15 2022 +0100
Commit: Caolán McNamara 
CommitDate: Wed Aug 31 14:13:32 2022 +0200

ofz#50805 crash seen in fuzzing libreoffice text rendering

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

diff --git a/external/cairo/UnpackedTarball_cairo.mk 
b/external/cairo/UnpackedTarball_cairo.mk
index e746a48994ab..5824d0bc0f2d 100644
--- a/external/cairo/UnpackedTarball_cairo.mk
+++ b/external/cairo/UnpackedTarball_cairo.mk
@@ -22,6 +22,7 @@ $(eval $(call gb_UnpackedTarball_add_patches,cairo,\
external/cairo/cairo/cairo.oldfreetype.patch \
external/cairo/cairo/san.patch.0 \
external/cairo/cairo/cairo.ofz46165.patch.1 \
+   external/cairo/cairo/cairo.ofz50805.patch.1 \
external/cairo/cairo/0025-libtool-pass-use-ld.patch \
 ))
 
diff --git a/external/cairo/cairo/cairo.ofz50805.patch.1 
b/external/cairo/cairo/cairo.ofz50805.patch.1
new file mode 100644
index ..25bd6bb930df
--- /dev/null
+++ b/external/cairo/cairo/cairo.ofz50805.patch.1
@@ -0,0 +1,16 @@
+--- a/src/cairo-ft-font.c  2022-08-31 09:46:52.595160200 +0100
 b/src/cairo-ft-font.c  2022-08-31 09:47:41.623945654 +0100
+@@ -2568,9 +2568,11 @@
+   if (unlikely (status))
+   cairo_surface_destroy (&surface->base);
+   }
+-  if (unlikely (status))
+-  return status;
+ }
++
++if (unlikely (status))
++  return status;
++
+ if (pixman_image_get_format (surface->pixman_image) == PIXMAN_a8r8g8b8 &&
+   !pixman_image_get_component_alpha (surface->pixman_image)) {
+   _cairo_scaled_glyph_set_color_surface (scaled_glyph,


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

2022-08-31 Thread Sarper Akdemir (via logerrit)
 oox/source/export/drawingml.cxx |   18 +++
 oox/source/export/shapes.cxx|   11 +++-
 sd/qa/unit/data/pptx/tdf144092-emptyShapeTextProps.pptx |binary
 sd/qa/unit/data/xml/tdf90338_0.xml  |2 
 sd/qa/unit/data/xml/tdf92001_0.xml  |2 
 sd/qa/unit/export-tests-ooxml3.cxx  |   40 
 6 files changed, 68 insertions(+), 5 deletions(-)

New commits:
commit aebd3c4a7def4476f34e171fce395d6ba70e3e1e
Author: Sarper Akdemir 
AuthorDate: Sun Aug 28 09:17:24 2022 +0300
Commit: Miklos Vajna 
CommitDate: Wed Aug 31 13:36:10 2022 +0200

tdf#144092 pptx export: export endParaRPr for empty shape & cells

Alters ShapeExport::WriteTextBox so that when it is called with an empty
text (on PPTX export) an attempt to export empty text's char properties
(stored in the Shape or Cell's properties directly) made on
ShapeExport::WriteText.

These properties are exported into endParaRPr.

Implementing this caused some tests that contain connector shapes fail
with XML schema validation errors, therefore disabled export of txBody
inside cxnSp tags.

Also adds a unit test that checks roundtrip of empty shape or cell's
endParaRPr.

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

diff --git a/oox/source/export/drawingml.cxx b/oox/source/export/drawingml.cxx
index 2a536b809220..51ac5f660237 100644
--- a/oox/source/export/drawingml.cxx
+++ b/oox/source/export/drawingml.cxx
@@ -3781,6 +3781,24 @@ void DrawingML::WriteText(const Reference& 
rXIface, bool bBodyPr, bo
 sal_Int32 nCharHeight = -1;
 bool bFirstParagraph = true;
 
+// tdf#144092 For shapes without text: Export run properties (into
+// endParaRPr) from the shape's propset instead of the paragraph's.
+if(xXText->getString().isEmpty() && enumeration->hasMoreElements())
+{
+Any aAny (enumeration->nextElement());
+Reference xParagraph;
+if( aAny >>= xParagraph )
+{
+mpFS->startElementNS(XML_a, XML_p);
+WriteParagraphProperties(xParagraph, nCharHeight, XML_pPr);
+sal_Int16 nDummy = -1;
+WriteRunProperties(rXPropSet, false, XML_endParaRPr, false,
+   bOverridingCharHeight, nCharHeight, nDummy, 
rXPropSet);
+mpFS->endElementNS(XML_a, XML_p);
+}
+return;
+}
+
 while( enumeration->hasMoreElements() )
 {
 Reference< XTextContent > paragraph;
diff --git a/oox/source/export/shapes.cxx b/oox/source/export/shapes.cxx
index 79258d7d10e2..90e4ad86926f 100644
--- a/oox/source/export/shapes.cxx
+++ b/oox/source/export/shapes.cxx
@@ -1797,8 +1797,12 @@ ShapeExport& ShapeExport::WriteConnectorShape( const 
Reference< XShape >& xShape
 WriteOutline( xShapeProps );
 pFS->endElementNS( mnXmlNamespace, XML_spPr );
 
-// write text
-WriteTextBox( xShape, mnXmlNamespace );
+// connector shape (cxnSp) cannot contain text (txBody) (according to 
schema)
+if( nShapeNode != XML_cxnSp )
+{
+// write text
+WriteTextBox( xShape, mnXmlNamespace );
+}
 
 pFS->endElementNS(mnXmlNamespace, nShapeNode);
 
@@ -2025,7 +2029,8 @@ ShapeExport& ShapeExport::WriteTextBox( const Reference< 
XInterface >& xIface, s
 }
 
 Reference< XText > xXText( xIface, UNO_QUERY );
-if( NonEmptyText( xIface ) && xXText.is() )
+if( (NonEmptyText( xIface ) || GetDocumentType() == DOCUMENT_PPTX)
+&& xXText.is() )
 {
 FSHelperPtr pFS = GetFS();
 
diff --git a/sd/qa/unit/data/pptx/tdf144092-emptyShapeTextProps.pptx 
b/sd/qa/unit/data/pptx/tdf144092-emptyShapeTextProps.pptx
new file mode 100644
index ..5d75c87d52de
Binary files /dev/null and 
b/sd/qa/unit/data/pptx/tdf144092-emptyShapeTextProps.pptx differ
diff --git a/sd/qa/unit/data/xml/tdf90338_0.xml 
b/sd/qa/unit/data/xml/tdf90338_0.xml
index 8bff66067c28..741d6ca08071 100644
--- a/sd/qa/unit/data/xml/tdf90338_0.xml
+++ b/sd/qa/unit/data/xml/tdf90338_0.xml
@@ -1,6 +1,6 @@
 
 
- 
+ 
   
   
   
diff --git a/sd/qa/unit/data/xml/tdf92001_0.xml 
b/sd/qa/unit/data/xml/tdf92001_0.xml
index 08d9622583d3..d67952eb1fe5 100644
--- a/sd/qa/unit/data/xml/tdf92001_0.xml
+++ b/sd/qa/unit/data/xml/tdf92001_0.xml
@@ -1,6 +1,6 @@
 
 
- 
+ 
   
   
   
diff --git a/sd/qa/unit/export-tests-ooxml3.cxx 
b/sd/qa/unit/export-tests-ooxml3.cxx
index d20c56d71766..6d3026326b17 100644
--- a/sd/qa/unit/export-tests-ooxml3.cxx
+++ b/sd/qa/unit/export-tests-ooxml3.cxx
@@ -20,6 +20,7 @@
 #include 
 #include 
 #include 
+#include 
 
 #include 
 #include 
@@ -116,6 +117,7 @@ public:
 void testTdf74670();
 void testTdf109169_OctagonBevel();
 void testTdf109169_DiamondBevel();
+void testTdf144092_emptySha

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

2022-08-31 Thread Sarper Akdemir (via logerrit)
 sd/qa/uitest/impress_tests2/tdf91762.py |4 +--
 svx/source/table/tablelayouter.cxx  |   40 +---
 2 files changed, 4 insertions(+), 40 deletions(-)

New commits:
commit 1a0ceb76e2fe12cdfff7cabf06ef43cfba296a34
Author: Sarper Akdemir 
AuthorDate: Mon Aug 22 08:49:57 2022 +0300
Commit: Miklos Vajna 
CommitDate: Wed Aug 31 13:34:24 2022 +0200

tdf#144092 tdf#139511: revert parts of tdf#91762 tdf#137949 tdf#139511

Reverts parts that have wrong assumptions wrt layouting a table in svx.

The problems reverted commits solved previously, were refixed by commits:
- tdf#144092 pptx import: correct table height during import
  (a5126a21351c87138ff86a6636326eb6cd6a0f8c)
- tdf#144092 pptx import: fix import of empty cell and shape text properties
  (57f9b4b7d1ad164c56af12009ef1dafbc1be8369)

So hopefully, reverting these now won't cause many regressions.

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

diff --git a/sd/qa/uitest/impress_tests2/tdf91762.py 
b/sd/qa/uitest/impress_tests2/tdf91762.py
index 56a1596b9e5b..2b3282413e15 100644
--- a/sd/qa/uitest/impress_tests2/tdf91762.py
+++ b/sd/qa/uitest/impress_tests2/tdf91762.py
@@ -39,8 +39,8 @@ class tdf91762(UITestCase):
 xEdit.executeAction("TYPE", mkPropertyValues({"KEYCODE": 
"RETURN"}))
 
 # tdf#138011: Without the fix in place, this test would have 
failed with
-# AssertionError: 5494 != 3559
-self.assertEqual(5494, 
document.DrawPages[0].getByIndex(1).BoundRect.Height)
+# AssertionError: 5504 != 3559
+self.assertEqual(5504, 
document.DrawPages[0].getByIndex(1).BoundRect.Height)
 
 
 # vim: set shiftwidth=4 softtabstop=4 expandtab:
diff --git a/svx/source/table/tablelayouter.cxx 
b/svx/source/table/tablelayouter.cxx
index d3238042fbe0..72c692c96748 100644
--- a/svx/source/table/tablelayouter.cxx
+++ b/svx/source/table/tablelayouter.cxx
@@ -743,14 +743,9 @@ void TableLayouter::LayoutTableHeight( tools::Rectangle& 
rArea, bool bFit )
 sal_Int32 nCol, nRow;
 for( nRow = 0; nRow < nRowCount; ++nRow )
 {
-Reference< XPropertySet > xRowSet( xRows->getByIndex(nRow), 
UNO_QUERY_THROW );
-sal_Int32 nRowPropHeight = 0;
-xRowSet->getPropertyValue( gsSize ) >>= nRowPropHeight;
 sal_Int32 nMinHeight = 0;
 
 bool bIsEmpty = true; // check if all cells in this row are merged
-bool bRowHasText = false;
-bool bRowHasCellInEditMode = false;
 
 for( nCol = 0; nCol < nColCount; ++nCol )
 {
@@ -767,39 +762,7 @@ void TableLayouter::LayoutTableHeight( tools::Rectangle& 
rArea, bool bFit )
 }
 else
 {
-// WARNING: tdf#144092 / tdf#139511 suggest this entire 
section is invalid.
-// Empty cells should not be ignored in regards to row 
height,
-// especially MS formats, despite this code being added to 
import MS files...
-// The problem is getMinimumHeight can give wrong values 
for empty cells.
-
-bool bCellHasText = xCell->hasText();
-bool bCellInEditMode = xCell->IsTextEditActive();
-
-if (!bRowHasCellInEditMode && bCellInEditMode)
-bRowHasCellInEditMode = true;
-
-if ((bRowHasText == bCellHasText) || (bRowHasText && 
bCellInEditMode))
-{
-nMinHeight = std::max( nMinHeight, 
xCell->getMinimumHeight() );
-}
-else if ( !bRowHasText && bCellHasText )
-{
-bRowHasText = true;
-nMinHeight = xCell->getMinimumHeight();
-}
-
-// tdf#137949  We should consider "Height" property while 
calculating minimum height.
-// This control decides when we use "Height" property 
value instead of calculated minimum height
-// Case 1: * Row has "Height" property
-// * Calculated minimum height is smaller than 
Height property value.
-// Case 2: * Row has "Height" property
-// * Calculated minimum height is bigger than 
Height property value and
-// * Row has not any text of any cell in edit 
mode in the row (means completely empty)
-if ((nMinHeight < nRowPropHeight && nRowPropHeight > 0 && 
(bRowHasText || bRowHasCellInEditMode)) ||
-(nMinHeight > nRowPropHeight && nRowPropHeight > 0 && 
(!bRowHasText && !bRowHasCellInEditMode)))
-{
-nMinHeight = nRowPropHeight;
- 

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

2022-08-31 Thread oguzbalkaya (via logerrit)
 sfx2/inc/recentdocsview.hxx|2 ++
 sfx2/source/control/recentdocsview.cxx |   13 +
 sfx2/source/dialog/backingwindow.cxx   |3 +++
 sfx2/uiconfig/ui/startcenter.ui|7 +++
 4 files changed, 25 insertions(+)

New commits:
commit 2839b604af94dbd1ee59dc6d47dc2f4c6ebd8dc6
Author: oguzbalkaya 
AuthorDate: Tue Aug 30 23:29:53 2022 +0200
Commit: Hossein 
CommitDate: Wed Aug 31 13:23:53 2022 +0200

tdf#101302: Add option to clear unavailable files in menu/start center

This patch adresses tdf#101302. It essentially adds a menu item to clear
unavailable files from the menu and start center. Previously, they were
visible as recent documents in the menu and start center, and caused
error when selected.

Change-Id: I55ee9f663b24c343a90817c438aff11d9230061c
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/120480
Tested-by: Jenkins
Reviewed-by: Hossein 

diff --git a/sfx2/inc/recentdocsview.hxx b/sfx2/inc/recentdocsview.hxx
index 3ee34eabc41a..44165afbe38a 100644
--- a/sfx2/inc/recentdocsview.hxx
+++ b/sfx2/inc/recentdocsview.hxx
@@ -80,6 +80,8 @@ public:
 // received on load of recently used file
 void DispatchedLoadRecentUsedFile();
 
+void clearUnavailableFiles();
+
 private:
 virtual bool MouseButtonDown( const MouseEvent& rMEvt ) override;
 
diff --git a/sfx2/source/control/recentdocsview.cxx 
b/sfx2/source/control/recentdocsview.cxx
index 9eea0e1c2488..61b9b55a64a6 100644
--- a/sfx2/source/control/recentdocsview.cxx
+++ b/sfx2/source/control/recentdocsview.cxx
@@ -18,6 +18,7 @@
  */
 
 #include 
+#include 
 #include 
 #include 
 #include 
@@ -173,6 +174,18 @@ void RecentDocsView::Reload()
 Invalidate();
 }
 
+void RecentDocsView::clearUnavailableFiles(){
+std::vector< SvtHistoryOptions::HistoryItem > aHistoryList = 
SvtHistoryOptions::GetList( EHistoryType::PickList );
+for ( size_t i = 0; i < aHistoryList.size(); i++ )
+{
+const SvtHistoryOptions::HistoryItem& rPickListEntry = aHistoryList[i];
+if ( !comphelper::DirectoryHelper::fileExists(rPickListEntry.sURL) ){
+
SvtHistoryOptions::DeleteItem(EHistoryType::PickList,rPickListEntry.sURL);
+}
+}
+Reload();
+}
+
 bool RecentDocsView::MouseButtonDown( const MouseEvent& rMEvt )
 {
 if (rMEvt.IsLeft())
diff --git a/sfx2/source/dialog/backingwindow.cxx 
b/sfx2/source/dialog/backingwindow.cxx
index 163c5c298e4f..6b68370b0bae 100644
--- a/sfx2/source/dialog/backingwindow.cxx
+++ b/sfx2/source/dialog/backingwindow.cxx
@@ -603,6 +603,9 @@ IMPL_LINK (BackingWindow, MenuSelectHdl, const OString&, 
rId, void)
 mxAllRecentThumbnails->Reload();
 return;
 }
+else if(rId == "clear_unavailable"){
+mxAllRecentThumbnails->clearUnavailableFiles();
+}
 else if (!rId.isEmpty())
 {
 initializeLocalView();
diff --git a/sfx2/uiconfig/ui/startcenter.ui b/sfx2/uiconfig/ui/startcenter.ui
index e65eba9e9aba..89b4653dffa7 100644
--- a/sfx2/uiconfig/ui/startcenter.ui
+++ b/sfx2/uiconfig/ui/startcenter.ui
@@ -17,6 +17,13 @@
 Clear Recent Documents
   
 
+
+  
+True
+False
+Clear Unavailable Files
+  
+
   
   
 True


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

2022-08-31 Thread Noel Grandin (via logerrit)
 svx/source/svdraw/svdobj.cxx |3 +++
 1 file changed, 3 insertions(+)

New commits:
commit 575081690b894322c771c0a7e3a7beb89eb1aa0b
Author: Noel Grandin 
AuthorDate: Wed Aug 31 10:48:15 2022 +0200
Commit: Noel Grandin 
CommitDate: Wed Aug 31 13:20:14 2022 +0200

fix assert in builds with assert enabled, but dbg_util disabled

after
commit 8611f6e259b807b4f19c8dc0eab86ca648891ce3
Author: Noel Grandin 
Date:   Thu May 27 10:27:46 2021 +0200
ref-count SdrObject

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

diff --git a/svx/source/svdraw/svdobj.cxx b/svx/source/svdraw/svdobj.cxx
index 2742e657f194..172d2a81632d 100644
--- a/svx/source/svdraw/svdobj.cxx
+++ b/svx/source/svdraw/svdobj.cxx
@@ -451,7 +451,10 @@ SdrObject::SdrObject(SdrModel& rSdrModel, SdrObject const 
& rSource)
 
 SdrObject::~SdrObject()
 {
+#ifdef DBG_UTIL
+// see logic in SdrObject::release
 assert(m_refCount == -1);
+#endif
 // Tell all the registered ObjectUsers that the page is in destruction.
 // And clear the vector. This means that user do not need to call 
RemoveObjectUser()
 // when they get called from ObjectInDestruction().


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

2022-08-31 Thread Noel Grandin (via logerrit)
 basic/source/comp/buffer.cxx |1 -
 sw/qa/core/macros-test.cxx   |4 ++--
 sw/qa/core/text/text.cxx |2 +-
 sw/qa/core/txtnode/txtnode.cxx   |4 ++--
 sw/qa/core/uwriter.cxx   |   14 +++---
 sw/qa/extras/uiwriter/uiwriter2.cxx  |6 ++
 sw/qa/extras/uiwriter/uiwriter5.cxx  |3 ++-
 sw/qa/extras/uiwriter/uiwriter8.cxx  |3 ++-
 sw/qa/extras/ww8export/ww8export.cxx |2 +-
 9 files changed, 19 insertions(+), 20 deletions(-)

New commits:
commit c66f655be6412910ad1dc041adb519d2c630fe8d
Author: Noel Grandin 
AuthorDate: Wed Aug 31 10:52:51 2022 +0200
Commit: Noel Grandin 
CommitDate: Wed Aug 31 13:13:43 2022 +0200

cid#1509223 Inefficient vector resizing with reserve.

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

diff --git a/basic/source/comp/buffer.cxx b/basic/source/comp/buffer.cxx
index ff6b5173f3fd..06dafe7a21d7 100644
--- a/basic/source/comp/buffer.cxx
+++ b/basic/source/comp/buffer.cxx
@@ -49,7 +49,6 @@ template  void SbiBuffer::append(T n)
 m_aBuf.clear();
 return;
 }
-m_aBuf.reserve(m_aBuf.size() + sizeof(n));
 write(std::back_inserter(m_aBuf), n);
 }
 
commit 38b7c85f59e8b4ea2a0ae19ababa4da9c7061e99
Author: Noel Grandin 
AuthorDate: Tue Aug 30 18:41:51 2022 +0200
Commit: Noel Grandin 
CommitDate: Wed Aug 31 13:13:27 2022 +0200

use more SwPosition::Assign

part of hiding the internals of SwPosition

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

diff --git a/sw/qa/core/macros-test.cxx b/sw/qa/core/macros-test.cxx
index 51b6b4c3cc00..0df5ea55a44f 100644
--- a/sw/qa/core/macros-test.cxx
+++ b/sw/qa/core/macros-test.cxx
@@ -534,7 +534,7 @@ void SwMacrosTest::testFindReplace()
 opts, false, SwDocPositions::Curr, SwDocPositions::End, bCancel, 
FindRanges::InBody);
 CPPUNIT_ASSERT(bFound);
 CPPUNIT_ASSERT(pPaM->HasMark());
-CPPUNIT_ASSERT(pPaM->GetPoint()->nNode != pPaM->GetMark()->nNode);
+CPPUNIT_ASSERT(pPaM->GetPoint()->GetNode() != pPaM->GetMark()->GetNode());
 CPPUNIT_ASSERT_EQUAL(OUString(OUStringChar(CH_TXTATR_NEWLINE)), 
pPaM->GetText());
 
 // now do another Find, inside the selection from the first Find
@@ -543,7 +543,7 @@ void SwMacrosTest::testFindReplace()
 opts, false, SwDocPositions::Curr, SwDocPositions::End, bCancel, 
FindRanges::InSel);
 CPPUNIT_ASSERT(bFound);
 CPPUNIT_ASSERT(pPaM->HasMark());
-CPPUNIT_ASSERT(pPaM->GetPoint()->nNode != pPaM->GetMark()->nNode);
+CPPUNIT_ASSERT(pPaM->GetPoint()->GetNode() != pPaM->GetMark()->GetNode());
 CPPUNIT_ASSERT_EQUAL(OUString(OUStringChar(CH_TXTATR_NEWLINE)), 
pPaM->GetText());
 
 rIDCO.ReplaceRange(*pPaM, " ", true);
diff --git a/sw/qa/core/text/text.cxx b/sw/qa/core/text/text.cxx
index 46d7c5156b12..50739240ad70 100644
--- a/sw/qa/core/text/text.cxx
+++ b/sw/qa/core/text/text.cxx
@@ -511,7 +511,7 @@ CPPUNIT_TEST_FIXTURE(SwCoreTextTest, 
testAsCharImageDocModelFromViewPoint)
 // - Actual  : SwNodeIndex (node 12)
 // i.e. the cursor position was the text node hosting the as-char image, 
not the graphic node of
 // the image.
-CPPUNIT_ASSERT_EQUAL(aGraphicNode, pShellCursor->GetMark()->nNode);
+CPPUNIT_ASSERT_EQUAL(aGraphicNode.GetIndex(), 
pShellCursor->GetMark()->GetNodeIndex());
 }
 
 CPPUNIT_TEST_FIXTURE(SwCoreTextTest, testRedlineDelete)
diff --git a/sw/qa/core/txtnode/txtnode.cxx b/sw/qa/core/txtnode/txtnode.cxx
index d975c32c10fd..510bcbb92284 100644
--- a/sw/qa/core/txtnode/txtnode.cxx
+++ b/sw/qa/core/txtnode/txtnode.cxx
@@ -79,11 +79,11 @@ CPPUNIT_TEST_FIXTURE(SwCoreTxtnodeTest, 
testTextBoxCopyAnchor)
 
 SwPosition aDrawAnchor1 = *rFormats[0]->GetAnchor().GetContentAnchor();
 SwPosition aFlyAnchor1 = *rFormats[1]->GetAnchor().GetContentAnchor();
-CPPUNIT_ASSERT_EQUAL(aFlyAnchor1.nNode, aDrawAnchor1.nNode);
+CPPUNIT_ASSERT_EQUAL(aFlyAnchor1.GetNodeIndex(), 
aDrawAnchor1.GetNodeIndex());
 SwPosition aDrawAnchor2 = *rFormats[2]->GetAnchor().GetContentAnchor();
 SwPosition aFlyAnchor2 = *rFormats[3]->GetAnchor().GetContentAnchor();
 // This also failed, aFlyAnchor2 was wrong, as it got out of sync with 
aDrawAnchor2.
-CPPUNIT_ASSERT_EQUAL(aFlyAnchor2.nNode, aDrawAnchor2.nNode);
+CPPUNIT_ASSERT_EQUAL(aFlyAnchor2.GetNodeIndex(), 
aDrawAnchor2.GetNodeIndex());
 }
 
 CPPUNIT_TEST_FIXTURE(SwCoreTxtnodeTest, testTextBoxNodeSplit)
diff --git a/sw/qa/core/uwriter.cxx b/sw/qa/core/uwriter.cxx
index eed900880005..7b6089b50641 100644
--- a/sw/qa/core/uwriter.cxx
+++ b/sw/qa/core/uwriter.cxx
@@ -971,13 +971,13 @@ void SwDocTest::testGraphicAnchorDeletion()
 m_pDoc->getIDocumentContentOperations().AppendTextNode(*aPaM.GetPoint

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

2022-08-31 Thread Michael Weghorn (via logerrit)
 vcl/unx/gtk3/a11y/atkselection.cxx |8 
 1 file changed, 4 insertions(+), 4 deletions(-)

New commits:
commit beb3d232f0d2987c09e2963c49329575a4e66048
Author: Michael Weghorn 
AuthorDate: Wed Aug 31 08:46:41 2022 +0200
Commit: Michael Weghorn 
CommitDate: Wed Aug 31 12:33:27 2022 +0200

gtk3 a11y: Use name of the actually called methods in SAL_WARN

The previously used ones look like copy-paste errors.

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

diff --git a/vcl/unx/gtk3/a11y/atkselection.cxx 
b/vcl/unx/gtk3/a11y/atkselection.cxx
index 22d515f1b6fa..6b64c25f4fee 100644
--- a/vcl/unx/gtk3/a11y/atkselection.cxx
+++ b/vcl/unx/gtk3/a11y/atkselection.cxx
@@ -76,7 +76,7 @@ selection_clear_selection( AtkSelection *selection )
 }
 }
 catch(const uno::Exception&) {
-g_warning( "Exception in selectAccessibleChild()" );
+g_warning( "Exception in clearAccessibleSelection()" );
 }
 
 return FALSE;
@@ -126,7 +126,7 @@ selection_is_child_selected( AtkSelection   *selection,
 return pSelection->isAccessibleChildSelected( i );
 }
 catch(const uno::Exception&) {
-g_warning( "Exception in getSelectedAccessibleChildCount()" );
+g_warning( "Exception in isAccessibleChildSelected()" );
 }
 
 return FALSE;
@@ -152,7 +152,7 @@ selection_remove_selection( AtkSelection *selection,
 }
 }
 catch(const uno::Exception&) {
-g_warning( "Exception in getSelectedAccessibleChildCount()" );
+g_warning( "Exception in getSelectedAccessibleChild(), 
getAccessibleIndexInParent() or deselectAccessibleChild()" );
 }
 
 return FALSE;
@@ -171,7 +171,7 @@ selection_select_all_selection( AtkSelection   *selection)
 }
 }
 catch(const uno::Exception&) {
-g_warning( "Exception in getSelectedAccessibleChildCount()" );
+g_warning( "Exception in selectAllAccessibleChildren()" );
 }
 
 return FALSE;


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

2022-08-31 Thread Armin Le Grand (allotropia) (via logerrit)
 drawinglayer/Library_drawinglayer.mk |1 
 drawinglayer/source/primitive2d/GlowSoftEgdeShadowTools.cxx  |   94 +++
 drawinglayer/source/primitive2d/glowprimitive2d.cxx  |  298 ++-
 drawinglayer/source/processor2d/vclmetafileprocessor2d.cxx   |1 
 drawinglayer/source/processor2d/vclpixelprocessor2d.cxx  |  150 -
 drawinglayer/source/processor2d/vclpixelprocessor2d.hxx  |1 
 include/drawinglayer/primitive2d/GlowSoftEgdeShadowTools.hxx |   42 +
 include/drawinglayer/primitive2d/glowprimitive2d.hxx |   35 +
 8 files changed, 476 insertions(+), 146 deletions(-)

New commits:
commit c2d1458723c66c2fd717a112f89f773226adc841
Author: Armin Le Grand (allotropia) 
AuthorDate: Mon Aug 29 13:32:38 2022 +0200
Commit: Armin Le Grand 
CommitDate: Wed Aug 31 12:12:37 2022 +0200

Rework of GlowPrimitive2D

The new version does all needed stuff inside the GlowPrimitive2D
implementation. Advantages are:

- there is no need anymore to handle directly in the renderer
  implementations. That includes HitTest & future renderers, but
  also the currently existing fallback from MetafileRenderer
  to PixelRenderer

- the buffered B2Primitive can re-use the last, potentially
  expensively cerated pixelation result

- it checks for the possibility to do so using various
  aspects (see implementation, more would be possible)

- it no longer uses impBufferDevice in the not wanted
  double-vdev/alpha-channel mode from presentation engine

- it offers an example how to do all this with just a
  primitive (that can be replaced with another impl if
  needed without having to adapt any renderers). To
  support that, I added plenty of comments

The group of GlowPrimitive2D, SoftEdgePrimitive2D and
ShadowPrimitive2D use impBufferDevice in that much slower
and expensive mode (two VDevs, processor-based alpha
mixing). To get back to faster transparence rendering
in general this is a 1st step, we also will need to
re-work the other two mentioned primitives.
The reworked one is now more efficient.

Change-Id: I25c6fb970682b5311ce6f9ca4abf2702fb7c8862
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/138973
Tested-by: Jenkins
Reviewed-by: Armin Le Grand 

diff --git a/drawinglayer/Library_drawinglayer.mk 
b/drawinglayer/Library_drawinglayer.mk
index 2430852d33bd..2b618f73136d 100644
--- a/drawinglayer/Library_drawinglayer.mk
+++ b/drawinglayer/Library_drawinglayer.mk
@@ -88,6 +88,7 @@ $(eval $(call gb_Library_add_exception_objects,drawinglayer,\
 drawinglayer/source/primitive2d/fillgradientprimitive2d \
 drawinglayer/source/primitive2d/fillhatchprimitive2d \
 drawinglayer/source/primitive2d/glowprimitive2d \
+drawinglayer/source/primitive2d/GlowSoftEgdeShadowTools \
 drawinglayer/source/primitive2d/graphicprimitivehelper2d \
 drawinglayer/source/primitive2d/graphicprimitive2d \
 drawinglayer/source/primitive2d/gridprimitive2d \
diff --git a/drawinglayer/source/primitive2d/GlowSoftEgdeShadowTools.cxx 
b/drawinglayer/source/primitive2d/GlowSoftEgdeShadowTools.cxx
new file mode 100644
index ..0cc5be1bd532
--- /dev/null
+++ b/drawinglayer/source/primitive2d/GlowSoftEgdeShadowTools.cxx
@@ -0,0 +1,94 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ *   Licensed to the Apache Software Foundation (ASF) under one or more
+ *   contributor license agreements. See the NOTICE file distributed
+ *   with this work for additional information regarding copyright
+ *   ownership. The ASF licenses this file to you under the Apache
+ *   License, Version 2.0 (the "License"); you may not use this file
+ *   except in compliance with the License. You may obtain a copy of
+ *   the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#include 
+#include 
+#include 
+#include 
+#include 
+
+namespace drawinglayer::primitive2d
+{
+/* Returns 8-bit alpha mask created from passed mask.
+
+   Negative fErodeDilateRadius values mean erode, positive - dilate.
+   nTransparency defines minimal transparency level.
+*/
+AlphaMask ProcessAndBlurAlphaMask(const Bitmap& rMask, double 
fErodeDilateRadius,
+  double fBlurRadius, sal_uInt8 nTransparency, 
bool bConvertTo1Bit)
+{
+// 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(bConvertTo1Bit ? rMask.CreateMask(COL

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

2022-08-31 Thread Tor Lillqvist (via logerrit)
 unotools/source/misc/fontcvt.cxx |3 ---
 1 file changed, 3 deletions(-)

New commits:
commit 0885d13cea917e9187adfe6190e60f4ce6039d2a
Author: Tor Lillqvist 
AuthorDate: Wed Aug 31 11:14:58 2022 +0300
Commit: Tor Lillqvist 
CommitDate: Wed Aug 31 12:00:02 2022 +0200

Remove comment that has been outdated since 2001

The "empty comments" the comment referred to were removed in
24f7917d9dc493ba35b504172f1ea3cfcd4d1486.

Change-Id: I32b37224bbe02892af1a1d8c8898e40c005110da
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/139080
Tested-by: Tor Lillqvist 
Reviewed-by: Tor Lillqvist 

diff --git a/unotools/source/misc/fontcvt.cxx b/unotools/source/misc/fontcvt.cxx
index 15ea8f2c1ad0..02796e7d3ca2 100644
--- a/unotools/source/misc/fontcvt.cxx
+++ b/unotools/source/misc/fontcvt.cxx
@@ -35,9 +35,6 @@
 //various holes in OpenSymbol which were filled by StarSymbol, i.e.
 //destination mapping points which are empty in OpenSymbol
 
-// note: the character mappings that are only approximations
-//   are marked (with an empty comment)
-
 const sal_Unicode aStarBatsTab[224] =
 {
 // F020


Re: Problem with reading 'writing-mode' ODF attribute in Impress

2022-08-31 Thread Regina Henschel

Hi Miklos,

Miklos Vajna schrieb am 29.08.2022 um 09:28:


Problem is, that style:writing-mode="tb-lr" (OOXML vert="eaVert") and
style:writing-mode="tb-lr" (OOXML vert="mongolianVert") are correctly loaded
into 'WritingMode' API-attribute, but loext:writing-mode="bt-lr" (OOXML
vert="vert270") and my new loext:writing-mode="tb-rl90" (OOXML vert="vert")
are not loaded. And I have no clue where they are lost.


You could try to see which C++ class implements the setPropertyValue()
member function handling your WritingMode. Perhaps as a start, log the
value of rPropertyValue in SvxShape::setPropertyValue(). If you see
WritingMode there, then you can step in the debugger to see where is
that handled.


That was a good tip. I found my error, that the property was not 
actually set at the object and therefore the default 0 was used. But 
after fixing that, I still got a 0 on opening.


I then used test files, where I removed 'writing-mode' attributes. I 
have found, that the 0 comes from the 'style:writing-mode' in the 
paragraph properties inside the graphic style. From point of standard it 
is correct that it takes precedence over the 'writing-mode' in the 
graphic properties inside the graphic style.


I will try now to change ContextFilter() method to get a suitable markup 
on saving. I need to be careful to not conflict with frames. But I am 
hopeful to find a solution.


Kind regards,
Regina


[Libreoffice-commits] core.git: Branch 'libreoffice-7-4' - include/svx svx/source xmloff/CppunitTest_xmloff_draw.mk xmloff/qa xmloff/source

2022-08-31 Thread Miklos Vajna (via logerrit)
 include/svx/unoshape.hxx   |2 +
 svx/source/unodraw/unoshap4.cxx|   25 +++
 xmloff/CppunitTest_xmloff_draw.mk  |3 +
 xmloff/qa/unit/data/video-snapshot.odp |binary
 xmloff/qa/unit/draw.cxx|   50 ++
 xmloff/source/draw/shapeexport.cxx |   54 -
 xmloff/source/draw/ximpshap.cxx|   14 +++-
 7 files changed, 146 insertions(+), 2 deletions(-)

New commits:
commit 245124406bad17e3ca6526d472f97971e2095832
Author: Miklos Vajna 
AuthorDate: Mon Aug 29 09:23:22 2022 +0200
Commit: Sarper Akdemir 
CommitDate: Wed Aug 31 10:00:04 2022 +0200

avmedia: implement video crop support in the ODP filter

And also import/export the video preview as well. The naming follows the
style used for table shape previews.

The preview is important, since the cropping is relative to the bitmap's
preferred logic size.

(cherry picked from commit cbc6e67d3c88fb6ae39c304604a98eaa504f19cc)

Conflicts:
xmloff/source/draw/shapeexport.cxx

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

diff --git a/include/svx/unoshape.hxx b/include/svx/unoshape.hxx
index 61f33f46f9a1..6a898ceac515 100644
--- a/include/svx/unoshape.hxx
+++ b/include/svx/unoshape.hxx
@@ -858,6 +858,8 @@ private:
 // override these for special property handling in subcasses. Return true 
if property is handled
 virtual bool setPropertyValueImpl( const OUString& rName, const 
SfxItemPropertyMapEntry* pProperty, const css::uno::Any& rValue ) override;
 virtual bool getPropertyValueImpl( const OUString& rName, const 
SfxItemPropertyMapEntry* pProperty, css::uno::Any& rValue ) override;
+bool getPropertyStateImpl(const SfxItemPropertyMapEntry* pProperty,
+  css::beans::PropertyState& rState) override;
 
 OUString referer_;
 };
diff --git a/svx/source/unodraw/unoshap4.cxx b/svx/source/unodraw/unoshap4.cxx
index 4aabe5929d28..3a1d2eda3402 100644
--- a/svx/source/unodraw/unoshap4.cxx
+++ b/svx/source/unodraw/unoshap4.cxx
@@ -1070,4 +1070,29 @@ bool SvxMediaShape::getPropertyValueImpl( const 
OUString& rName, const SfxItemPr
 }
 }
 
+bool SvxMediaShape::getPropertyStateImpl(const SfxItemPropertyMapEntry* 
pProperty,
+ css::beans::PropertyState& rState)
+{
+#if HAVE_FEATURE_AVMEDIA
+if (pProperty->nWID == SDRATTR_GRAFCROP)
+{
+auto pMedia = static_cast(GetSdrObject());
+const avmedia::MediaItem& rItem = pMedia->getMediaProperties();
+const text::GraphicCrop& rCrop = rItem.getCrop();
+if (rCrop.Bottom > 0 || rCrop.Left > 0 || rCrop.Right > 0 || rCrop.Top 
> 0)
+{
+// The media has a crop, expose it to UNO-based export filters.
+rState = beans::PropertyState_DIRECT_VALUE;
+}
+else
+{
+rState = beans::PropertyState_AMBIGUOUS_VALUE;
+}
+return true;
+}
+#endif
+
+return SvxShape::getPropertyStateImpl(pProperty, rState);
+}
+
 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/xmloff/CppunitTest_xmloff_draw.mk 
b/xmloff/CppunitTest_xmloff_draw.mk
index 42c7a9526661..a503cc9f2c1d 100644
--- a/xmloff/CppunitTest_xmloff_draw.mk
+++ b/xmloff/CppunitTest_xmloff_draw.mk
@@ -28,6 +28,9 @@ $(eval $(call gb_CppunitTest_use_libraries,xmloff_draw, \
 test \
 unotest \
 utl \
+avmedia \
+svxcore \
+vcl \
 ))
 
 $(eval $(call gb_CppunitTest_use_sdk_api,xmloff_draw))
diff --git a/xmloff/qa/unit/data/video-snapshot.odp 
b/xmloff/qa/unit/data/video-snapshot.odp
new file mode 100644
index ..ca3b7f21dc6c
Binary files /dev/null and b/xmloff/qa/unit/data/video-snapshot.odp differ
diff --git a/xmloff/qa/unit/draw.cxx b/xmloff/qa/unit/draw.cxx
index 3c6d7c707be9..f2aeb834c64e 100644
--- a/xmloff/qa/unit/draw.cxx
+++ b/xmloff/qa/unit/draw.cxx
@@ -24,6 +24,7 @@
 #include 
 #include 
 #include 
+#include 
 
 #include 
 #include 
@@ -31,6 +32,9 @@
 #include 
 #include 
 #include 
+#include 
+#include 
+#include 
 
 using namespace ::com::sun::star;
 
@@ -173,6 +177,52 @@ CPPUNIT_TEST_FIXTURE(XmloffDrawTest, testThemeExport)
 assertXPath(pXmlDoc, 
"//style:master-page/loext:theme/loext:color-table/loext:color", 12);
 }
 
+CPPUNIT_TEST_FIXTURE(XmloffDrawTest, testVideoSnapshot)
+{
+// Execute ODP import:
+OUString aURL = 
m_directories.getURLFromSrc(u"xmloff/qa/unit/data/video-snapshot.odp");
+getComponent() = loadFromDesktop(aURL, 
"com.sun.star.presentation.PresentationDocument");
+uno::Reference 
xDrawPagesSupplier(getComponent(),
+   
uno::UNO_QUERY_THROW);
+CPPUNIT_ASSERT(xDrawPagesSupplier.is());
+uno::Reference 
xDrawPages(xD

[Libreoffice-commits] core.git: Branch 'libreoffice-7-4' - avmedia/Library_avmediagst.mk avmedia/source slideshow/source svx/qa

2022-08-31 Thread Miklos Vajna (via logerrit)
 avmedia/Library_avmediagst.mk |1 
 avmedia/source/gstreamer/gstplayer.cxx|   30 ++
 avmedia/source/viewer/mediawindow_impl.cxx|8 +
 avmedia/source/viewer/mediawindow_impl.hxx|1 
 slideshow/source/engine/shapes/viewmediashape.cxx |   14 +-
 svx/qa/unit/data/video-snapshot.pptx  |binary
 svx/qa/unit/svdraw.cxx|4 +-
 7 files changed, 54 insertions(+), 4 deletions(-)

New commits:
commit 99ee5b4a9e6516ca47789150eb92b780e917cddd
Author: Miklos Vajna 
AuthorDate: Fri Aug 26 10:24:39 2022 +0200
Commit: Sarper Akdemir 
CommitDate: Wed Aug 31 09:59:02 2022 +0200

tdf#149971 avmedia: implement video crop support in the gsteamer backend

If a media shape had cropping defined, we already took that into account
when presenting a preview for it, but not during video playback.

The reason for this is that the preview may be set by a file importer
(e.g. PPTX) explicitly, in which case the preview is a bitmap we get
without any video processing.

As a start, implement video crop for the gstreamer backend (used on
Linux), and also pass in the media item (containing crop and other
properties) both during the edit view (MediaWindowImpl) and presenting
(ViewMediaShape). We pass in the whole media item, so in case later
other filters (e.g. black-and-white) are wanted, we have all that info
in the backends already.

Other backends (avmediaMacAVF and avmediawin) are untouched so far.
svx/qa/unit/data/video-snapshot.pptx is modified to have a yellow border
when cropping is unimplemented, which is now not visible with the
gtreamer backend, matching PowerPoint behavior. PPTX export was working
out of the box already.

(cherry picked from commit 916848d877a788d02e2e7c980872314839101798)

Conflicts:
avmedia/source/viewer/mediawindow_impl.cxx

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

diff --git a/avmedia/Library_avmediagst.mk b/avmedia/Library_avmediagst.mk
index 923c474280b4..fcbaeebbc7ee 100644
--- a/avmedia/Library_avmediagst.mk
+++ b/avmedia/Library_avmediagst.mk
@@ -33,6 +33,7 @@ $(eval $(call gb_Library_use_libraries,avmediagst,\
salhelper \
tl \
vcl \
+   avmedia \
 ))
 
 $(eval $(call gb_Library_add_exception_objects,avmediagst,\
diff --git a/avmedia/source/gstreamer/gstplayer.cxx 
b/avmedia/source/gstreamer/gstplayer.cxx
index bf939c4a603b..a1b4c80c672b 100644
--- a/avmedia/source/gstreamer/gstplayer.cxx
+++ b/avmedia/source/gstreamer/gstplayer.cxx
@@ -30,6 +30,8 @@
 #include 
 #include 
 
+#include 
+
 #include 
 #include 
 #include 
@@ -37,6 +39,8 @@
 #include 
 #include 
 #include 
+#include 
+#include 
 
 #include "gstplayer.hxx"
 #include "gstframegrabber.hxx"
@@ -867,6 +871,32 @@ uno::Reference< ::media::XPlayerWindow > SAL_CALL 
Player::createPlayerWindow( co
 g_object_set(G_OBJECT(mpPlaybin), "video-sink", pVideosink, nullptr);
 g_object_set(G_OBJECT(mpPlaybin), "force-aspect-ratio", FALSE, 
nullptr);
 
+if ((rArguments.getLength() >= 4) && (rArguments[3] >>= pIntPtr) && 
pIntPtr)
+{
+auto pItem = reinterpret_cast(pIntPtr);
+Graphic aGraphic = pItem->getGraphic();
+const text::GraphicCrop& rCrop = pItem->getCrop();
+if (!aGraphic.IsNone() && (rCrop.Bottom > 0 || rCrop.Left > 0 || 
rCrop.Right > 0 || rCrop.Top > 0))
+{
+// The media item has a non-empty cropping set. Try to crop 
the video accordingly.
+Size aPref = aGraphic.GetPrefSize();
+Size aPixel = aGraphic.GetSizePixel();
+tools::Long nLeft = aPixel.getWidth() * rCrop.Left / 
aPref.getWidth();
+tools::Long nTop = aPixel.getHeight() * rCrop.Top / 
aPref.getHeight();
+tools::Long nRight = aPixel.getWidth() * rCrop.Right / 
aPref.getWidth();
+tools::Long nBottom = aPixel.getHeight() * rCrop.Bottom / 
aPref.getHeight();
+GstElement* pVideoFilter = 
gst_element_factory_make("videocrop", nullptr);
+if (pVideoFilter)
+{
+g_object_set(G_OBJECT(pVideoFilter), "left", nLeft, 
nullptr);
+g_object_set(G_OBJECT(pVideoFilter), "top", nTop, nullptr);
+g_object_set(G_OBJECT(pVideoFilter), "right", nRight, 
nullptr);
+g_object_set(G_OBJECT(pVideoFilter), "bottom", nBottom, 
nullptr);
+g_object_set(G_OBJECT(mpPlaybin), "video-filter", 
pVideoFilter, nullptr);
+}
+}
+}
+
 if (!mbUseGtkSink)
 {
 mnWindowID = 
pEnvData->GetWindowHandle(pParentWindow->ImplGet

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

2022-08-31 Thread Miklos Vajna (via logerrit)
 avmedia/source/framework/mediaitem.cxx |   17 +
 include/avmedia/mediaitem.hxx  |8 ++--
 svx/qa/unit/data/video-snapshot.pptx   |binary
 svx/qa/unit/svdraw.cxx |6 ++
 svx/source/svdraw/svdomedia.cxx|   21 +
 svx/source/unodraw/unoprov.cxx |1 +
 svx/source/unodraw/unoshap4.cxx|   28 ++--
 7 files changed, 77 insertions(+), 4 deletions(-)

New commits:
commit c7577330e806858f99b8c78f63e734fdb2c06b6e
Author: Miklos Vajna 
AuthorDate: Thu Aug 25 14:01:43 2022 +0200
Commit: Sarper Akdemir 
CommitDate: Wed Aug 31 09:56:07 2022 +0200

Related: tdf#149971 avmedia: add doc model and render for crop of media 
objects

It is possible to provide an explicit preview of media objects since
commit 8fa1d453c94cdbb03dac646fb8db2ebd1a0e84bd (Related: tdf#149971
svx: support explicitly provided snapshots for media shapes,
2022-08-24), however they can't be cropped.

This means that media shapes from PPTX with cropping show unexpected
content and can also have a buggy aspect ratio.

Extend avmedia::MediaItem to store cropping and take it into account
when returning the preview bitmap in SdrMediaObj::getSnapshot(). PPTX
import works out of the box, as oox/ already tried to set a cropping
property on the media shape.

This is just the preview, the cropping of the video itself is not yet
implemented.

(cherry picked from commit b6f0fd6a2f459ead2268e07bfd86db7e303b323f)

Conflicts:
svx/source/unodraw/unoprov.cxx

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

diff --git a/avmedia/source/framework/mediaitem.cxx 
b/avmedia/source/framework/mediaitem.cxx
index 0a53cf5d4d39..ac8c09b79871 100644
--- a/avmedia/source/framework/mediaitem.cxx
+++ b/avmedia/source/framework/mediaitem.cxx
@@ -30,6 +30,7 @@
 #include 
 #include 
 #include 
+#include 
 
 #include 
 
@@ -64,6 +65,7 @@ struct MediaItem::Impl
 boolm_bMute;
 css::media::ZoomLevel m_eZoom;
 Graphic m_aGraphic;
+text::GraphicCrop m_aCrop;
 
 explicit Impl(AVMediaSetMask nMaskSet)
 : m_nMaskSet( nMaskSet )
@@ -107,6 +109,7 @@ bool MediaItem::operator==( const SfxPoolItem& rItem ) const
 && m_pImpl->m_Referer == rOther.m_pImpl->m_Referer
 && m_pImpl->m_sMimeType == rOther.m_pImpl->m_sMimeType
 && m_pImpl->m_aGraphic == rOther.m_pImpl->m_aGraphic
+&& m_pImpl->m_aCrop == rOther.m_pImpl->m_aCrop
 && m_pImpl->m_eState == rOther.m_pImpl->m_eState
 && m_pImpl->m_fDuration == rOther.m_pImpl->m_fDuration
 && m_pImpl->m_fTime == rOther.m_pImpl->m_fTime
@@ -193,6 +196,9 @@ bool MediaItem::merge(const MediaItem& rMediaItem)
 if (nMaskSet & AVMediaSetMask::GRAPHIC)
 bChanged |= setGraphic(rMediaItem.getGraphic());
 
+if (nMaskSet & AVMediaSetMask::CROP)
+bChanged |= setCrop(rMediaItem.getCrop());
+
 if( AVMediaSetMask::STATE & nMaskSet )
 bChanged |= setState( rMediaItem.getState() );
 
@@ -275,6 +281,17 @@ bool MediaItem::setGraphic(const Graphic& rGraphic)
 
 const Graphic & MediaItem::getGraphic() const { return m_pImpl->m_aGraphic; }
 
+bool MediaItem::setCrop(const text::GraphicCrop& rCrop)
+{
+m_pImpl->m_nMaskSet |= AVMediaSetMask::CROP;
+bool bChanged = rCrop != m_pImpl->m_aCrop;
+if (bChanged)
+m_pImpl->m_aCrop = rCrop;
+return bChanged;
+}
+
+const text::GraphicCrop& MediaItem::getCrop() const { return m_pImpl->m_aCrop; 
}
+
 bool MediaItem::setState(MediaState eState)
 {
 m_pImpl->m_nMaskSet |= AVMediaSetMask::STATE;
diff --git a/include/avmedia/mediaitem.hxx b/include/avmedia/mediaitem.hxx
index 5d033b7efba1..bbb5e06e49b1 100644
--- a/include/avmedia/mediaitem.hxx
+++ b/include/avmedia/mediaitem.hxx
@@ -33,6 +33,7 @@ namespace com::sun::star::embed { class XStorage; }
 namespace com::sun::star::frame { class XModel; }
 namespace com::sun::star::io { class XInputStream; }
 namespace com::sun::star::io { class XStream; }
+namespace com::sun::star::text { struct GraphicCrop; }
 class Graphic;
 
 enum class AVMediaSetMask
@@ -48,11 +49,12 @@ enum class AVMediaSetMask
 URL = 0x080,
 MIME_TYPE   = 0x100,
 GRAPHIC = 0x200,
-ALL = 0x3ff,
+CROP= 0x400,
+ALL = 0x7ff,
 };
 namespace o3tl
 {
-template<> struct typed_flags : 
is_typed_flags {};
+template<> struct typed_flags : 
is_typed_flags {};
 }
 
 
@@ -120,6 +122,8 @@ public:
 OUStringgetMimeType() const;
 bool setGraphic(const Graphic& rGraphic);
 const Graphic & getGraphic() const;
+bool setCrop(const css::text::GraphicCrop& rCrop);
+const css::text::GraphicCrop& getCrop() const;
 const OUString& get

Re: Amar Cutura license statement

2022-08-31 Thread Stephan Bergmann

On 28/08/2022 02:44, Amar Cutura wrote:

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


put on file at 
 
"added Amar Cutura"




[Libreoffice-commits] core.git: Branch 'distro/collabora/cp-6.4' - sc/source vcl/source

2022-08-31 Thread Szymon Kłos (via logerrit)
 sc/source/ui/dbgui/csvgrid.cxx |3 +++
 vcl/source/window/layout.cxx   |9 -
 2 files changed, 3 insertions(+), 9 deletions(-)

New commits:
commit 3b364b26b31e14b27f8dbb1472e898958d67f613
Author: Szymon Kłos 
AuthorDate: Fri Jul 1 11:29:28 2022 +0200
Commit: Szymon Kłos 
CommitDate: Wed Aug 31 09:24:01 2022 +0200

lok: allow shrinking too big widgets

This is followup for:

https://cgit.freedesktop.org/libreoffice/core/commit/?id=2b58a0979f9206cfca6d78cb2f3d5e65cd735f8b
Add sanity check to avoid potential crash in the Collabora Online server

nExtraSpace can be negative for shrinking the widget - this is correct.
For example listbox can have many entries, in GetOptimalSize it returns
size required to show all of them, then here we calculate how much of
that size we can allow to be used. When we have too many entries we use
negative nExtraSpace.

The original problem is not that we get negative number but case when we
get value that is much bigger than size of a widget and it becomes
invisible.

So this reverts hack which makes impossible to shrink widget what causes
problems with listboxes in tunneled dialogs. Also it setups better
size request for csv import dialog grid widget - so we don't paint it
as 10px rectangle - what was workarounded by the previous patches.

Change-Id: I478660b12cf0b6a783c704201800018e9849cc23
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/136728
Reviewed-by: Mert Tumer 
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/137252
Tested-by: Jenkins CollaboraOffice 
Reviewed-by: Szymon Kłos 

diff --git a/sc/source/ui/dbgui/csvgrid.cxx b/sc/source/ui/dbgui/csvgrid.cxx
index 1275113c7f29..cd355c902714 100644
--- a/sc/source/ui/dbgui/csvgrid.cxx
+++ b/sc/source/ui/dbgui/csvgrid.cxx
@@ -17,6 +17,7 @@
  *   the License at http://www.apache.org/licenses/LICENSE-2.0 .
  */
 
+#include 
 #include 
 #include 
 
@@ -105,6 +106,8 @@ void ScCsvGrid::SetDrawingArea(weld::DrawingArea* 
pDrawingArea)
 // the left edge will be lost. If this widget is smaller than the scrolling
 // window it is stretched to fit the parent and the problem doesn't arise.
 Size aInitialSize(10, 10);
+if (comphelper::LibreOfficeKit::isActive())
+aInitialSize = Size(-1, 150);
 ScCsvControl::SetDrawingArea(pDrawingArea);
 pDrawingArea->set_size_request(aInitialSize.Width(), 
aInitialSize.Height());
 SetOutputSizePixel(aInitialSize);
diff --git a/vcl/source/window/layout.cxx b/vcl/source/window/layout.cxx
index 5c7a9d1e4355..f1753b548466 100644
--- a/vcl/source/window/layout.cxx
+++ b/vcl/source/window/layout.cxx
@@ -263,15 +263,6 @@ void VclBox::setAllocation(const Size &rAllocation)
 {
 Size aRequisition = calculateRequisition();
 nExtraSpace = (getPrimaryDimension(rAllocation) - 
getPrimaryDimension(aRequisition)) / nExpandChildren;
-// In mobile, the screen size is small and extraSpace can become negative
-// Though the dialogs are rendered in javascript for LOK Android some widgets 
like weld::DrawingArea
-// 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 (nExtraSpace < 0)
-{
-SAL_WARN("vcl.layout", "nExtraSpace went negative, setting to 
zero");
-nExtraSpace = 0;
-}
 }
 
 //Split into those we pack from the start onwards, and those we pack from 
the end backwards


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

2022-08-31 Thread Andrea Gelmini (via logerrit)
 sw/qa/extras/htmlexport/htmlexport.cxx |1 -
 1 file changed, 1 deletion(-)

New commits:
commit f92766413310a3b11669224980a7e9cbf012ed73
Author: Andrea Gelmini 
AuthorDate: Tue Aug 30 21:14:05 2022 +0200
Commit: Julien Nabet 
CommitDate: Wed Aug 31 09:15:33 2022 +0200

Removed duplicated include

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

diff --git a/sw/qa/extras/htmlexport/htmlexport.cxx 
b/sw/qa/extras/htmlexport/htmlexport.cxx
index 740fa1bec7f4..103f7bcc5a84 100644
--- a/sw/qa/extras/htmlexport/htmlexport.cxx
+++ b/sw/qa/extras/htmlexport/htmlexport.cxx
@@ -44,7 +44,6 @@
 #include 
 #include 
 #include 
-#include 
 
 #include 
 #include 


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

2022-08-31 Thread Luboš Luňák (via logerrit)
 sc/source/core/opencl/formulagroupcl.cxx  |2 
 sc/source/core/opencl/op_financial.cxx|   69 --
 sc/source/core/opencl/op_math.cxx |   18 +-
 sc/source/core/opencl/op_statistical.cxx  |  147 ++
 sc/source/core/opencl/opinlinefun_finacial.cxx|   44 +++---
 sc/source/core/opencl/opinlinefun_statistical.cxx |  113 
 6 files changed, 191 insertions(+), 202 deletions(-)

New commits:
commit 7d3ff55a0d072c825dac843bfbf6659a460103ba
Author: Luboš Luňák 
AuthorDate: Tue Aug 30 15:43:39 2022 +0200
Commit: Luboš Luňák 
CommitDate: Wed Aug 31 09:14:59 2022 +0200

pow(x,-1) -> 1/x in opencl code

Ok, division is somewhat slow, but pow() is hardly going to be faster.

Change-Id: I1c0d94243a67d0cd77874eb6b9ee6b4ef9206240
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/139049
Tested-by: Jenkins
Reviewed-by: Luboš Luňák 

diff --git a/sc/source/core/opencl/formulagroupcl.cxx 
b/sc/source/core/opencl/formulagroupcl.cxx
index 5800ef08c89d..eb2ea2fcc98b 100644
--- a/sc/source/core/opencl/formulagroupcl.cxx
+++ b/sc/source/core/opencl/formulagroupcl.cxx
@@ -1513,7 +1513,7 @@ public:
 "return 0;\n";
 ss << "return tmp";
 if (isAverage())
-ss << "*pow((double)nCount,-1.0)";
+ss << "/(double)nCount";
 ss << ";\n}";
 }
 virtual bool isAverage() const { return false; }
diff --git a/sc/source/core/opencl/op_financial.cxx 
b/sc/source/core/opencl/op_financial.cxx
index 30a47cbfbd93..342bd67b2657 100644
--- a/sc/source/core/opencl/op_financial.cxx
+++ b/sc/source/core/opencl/op_financial.cxx
@@ -82,7 +82,7 @@ void RRI::GenSlidingWindowFunction(
 ss<<"fv = ";
 ss << vSubArguments[2]->GenSlidingWindowDeclRef();
 ss<<";\n";
-ss << "tmp = pow(fv*pow(pv,-1),1.0*pow(nper,-1))-1;\n";
+ss << "tmp = pow(fv/pv,1.0/nper)-1;\n";
 ss << "return tmp;\n";
 ss << "}";
 }
@@ -138,7 +138,7 @@ vSubArguments)
 }
 ss<<"if(tmp1==0)\n\t";
 ss<<"\treturn 0;\n\t";
-ss<<"tmp=pow( tmp1,-1);\n\t";
+ss<<"tmp= 1.0 / tmp1;\n\t";
 ss<<"tmp=( pow( tmp0+ 1.0, tmp ) - 1.0 ) *";
 ss<<"tmp1;\n\t";
 ss << "return tmp;\n";
@@ -558,7 +558,7 @@ void OpISPMT::GenSlidingWindowFunction(std::stringstream& 
ss,
 ss << vSubArguments[i]->GenSlidingWindowDeclRef() << ";\n";
 }
 }
-ss << "tmp = arg3 * arg0 * ( arg1 - arg2) * pow(arg2, -1);\n";
+ss << "tmp = arg3 * arg0 * ( arg1 - arg2) / arg2;\n";
 ss << "return tmp;\n";
 ss << "}";
 }
@@ -611,7 +611,7 @@ void 
OpPDuration::GenSlidingWindowFunction(std::stringstream& ss,
 ss << vSubArguments[i]->GenSlidingWindowDeclRef() << ";\n";
 }
 }
-ss << "tmp = log(arg2 * pow( arg1,-1)) / log(arg0 + 1.0);\n";
+ss << "tmp = log(arg2 / arg1) / log(arg0 + 1.0);\n";
 ss << "return tmp;\n";
 ss << "}";
 }
@@ -1366,9 +1366,8 @@ void OpSYD::GenSlidingWindowFunction(std::stringstream 
&ss,
 ss <<"period = ";
 ss << vSubArguments[3]->GenSlidingWindowDeclRef();
 ss <<";\n";
-ss <<"double tmpvalue = ((life*(life+1))*pow(2.0,-1));\n";
-ss <<"result = ((cost-salvage)*(life-period+1)";
-ss << "*pow(tmpvalue,-1));\n";
+ss <<"double tmpvalue = ((life*(life+1))/2.0);\n";
+ss <<"result = ((cost-salvage)*(life-period+1)/tmpvalue);\n";
 ss <<"return result;\n";
 ss <<"}\n";
 }
@@ -1494,7 +1493,7 @@ void 
OpEffective::GenSlidingWindowFunction(std::stringstream& ss,
 ss << vSubArguments[i]->GenSlidingWindowDeclRef() << ";\n";
 }
 }
-ss << "tmp = pow(1.0 + arg0 * pow(arg1, -1), arg1)-1.0;\n";
+ss << "tmp = pow(1.0 + arg0 / arg1, arg1)-1.0;\n";
 ss << "return tmp;\n";
 ss << "}";
 }
@@ -2153,7 +2152,7 @@ void OpSLN::GenSlidingWindowFunction(std::stringstream 
&ss,
 ss<<"life = ";
 ss << vSubArguments[2]->GenSlidingWindowDeclRef();
 ss<<";\n";
-ss << "tmp = (cost-salvage)*pow(life,-1);\n";
+ss << "tmp = (cost-salvage)/life;\n";
 ss << "return tmp;\n";
 ss << "}";
 }
@@ -2349,8 +2348,8 @@ void OpPMT::GenSlidingWindowFunction(std::stringstream 
&ss,
 ss<<"return -(tmp2+tmp3)/tmp1;\n";
 ss<<"tmp-=tmp3;\n";
 ss<<"tmp=tmp-tmp2*pow(1.0+tmp0,tmp1);\n";
-ss<<"tmp=tmp*pow(( (1.0+tmp0*tmp4)* ";
-ss<<"( (pow(1.0+tmp0,tmp1)-1.0)/tmp0)),-1);\n";
+ss<<"tmp=tmp/( (1.0+tmp0*tmp4)* ";
+ss<<"( (pow(1.0+tmp0,tmp1)-1.0)/tmp0));\n";
 ss<<"return tmp;\n";
 ss<<"}";
 }
@@ -2874,10 +2873,10 @@ void OpNper::GenSlidingWindowFunction(std::stringstream 
&ss,
 ss <<"if (tmp0 == 0.0)\n";
 ss <<"tmp=(-1*(tmp2 + tmp3)/tmp1);\n";
 ss <<"else if (tmp4 > 0.0)\n";
-ss <<"tmp=log(-1*(tmp0*tmp3-tmp1*(1.0+tmp0))*";
-ss <<"pow((tmp0*tmp2+tmp1*

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

2022-08-31 Thread Luboš Luňák (via logerrit)
 sc/source/core/opencl/op_statistical.cxx | 1044 +++
 sc/source/core/opencl/opbase.cxx |   31 
 2 files changed, 539 insertions(+), 536 deletions(-)

New commits:
commit 0fe3863a4ef510009bc3191c035f1deafdd2fb6e
Author: Luboš Luňák 
AuthorDate: Tue Aug 30 12:20:11 2022 +0200
Commit: Luboš Luňák 
CommitDate: Wed Aug 31 09:14:34 2022 +0200

revert 'loplugin:flatten in sc' in sc/source/core/opencl

I have patches rewriting this code to be much cleaner, so this
won't be necessary and it makes it hard to rebase those patches.
Also at least the CheckVariables::CheckSubArgumentIsNan() change
actually makes the code worse.

Change-Id: I5d63c158c6883200e2c6e03d02e00f6672d6a1af
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/139048
Tested-by: Jenkins
Reviewed-by: Luboš Luňák 

diff --git a/sc/source/core/opencl/op_statistical.cxx 
b/sc/source/core/opencl/op_statistical.cxx
index 3de4417fb240..ff7ed1e95bca 100644
--- a/sc/source/core/opencl/op_statistical.cxx
+++ b/sc/source/core/opencl/op_statistical.cxx
@@ -494,73 +494,167 @@ void OpTTest::GenSlidingWindowFunction(std::stringstream 
&ss,
 ss << "}\n";
 return ;
 }
-if(vSubArguments.size() != 4)
-return;
-
-FormulaToken *pCur  = vSubArguments[0]->GetFormulaToken();
-FormulaToken *pCur1 = vSubArguments[1]->GetFormulaToken();
-FormulaToken *pCur2 = vSubArguments[2]->GetFormulaToken();
-FormulaToken *pCur3 = vSubArguments[3]->GetFormulaToken();
-assert(pCur);
-assert(pCur1);
-assert(pCur2);
-assert(pCur3);
-if(ocPush == vSubArguments[2]->GetFormulaToken()->GetOpCode())
+if(vSubArguments.size() == 4)
 {
-if(pCur2->GetType() == formula::svSingleVectorRef)
+FormulaToken *pCur  = vSubArguments[0]->GetFormulaToken();
+FormulaToken *pCur1 = vSubArguments[1]->GetFormulaToken();
+FormulaToken *pCur2 = vSubArguments[2]->GetFormulaToken();
+FormulaToken *pCur3 = vSubArguments[3]->GetFormulaToken();
+assert(pCur);
+assert(pCur1);
+assert(pCur2);
+assert(pCur3);
+if(ocPush == vSubArguments[2]->GetFormulaToken()->GetOpCode())
 {
-const formula::SingleVectorRefToken* pSVR =
-static_cast< const formula::SingleVectorRefToken*>(pCur2);
-ss << "if (gid0 < " << pSVR->GetArrayLength() << ")\n";
-ss << "{\n";
-ss << "mode = " ;
-ss << vSubArguments[2]->GenSlidingWindowDeclRef() << ";\n";
-ss << "if (isnan(mode))\n";
-ss << "mode = 0.0;\n";
-ss << "else\n";
-ss << "mode = floor(mode);\n";
-ss << "}\n";
+if(pCur2->GetType() == formula::svSingleVectorRef)
+{
+const formula::SingleVectorRefToken* pSVR =
+static_cast< const formula::SingleVectorRefToken*>(pCur2);
+ss << "if (gid0 < " << pSVR->GetArrayLength() << ")\n";
+ss << "{\n";
+ss << "mode = " ;
+ss << vSubArguments[2]->GenSlidingWindowDeclRef() << ";\n";
+ss << "if (isnan(mode))\n";
+ss << "mode = 0.0;\n";
+ss << "else\n";
+ss << "mode = floor(mode);\n";
+ss << "}\n";
+}
+else if(pCur2->GetType() == formula::svDouble)
+{
+ss << "mode = floor(convert_double(";
+ss << pCur2->GetDouble() << "));\n";
+}
+else
+{
+ss << "return DBL_MAX;\n";
+ss << "}\n";
+return ;
+}
 }
-else if(pCur2->GetType() == formula::svDouble)
+else
 {
-ss << "mode = floor(convert_double(";
-ss << pCur2->GetDouble() << "));\n";
+ss << "mode = floor(" ;
+ss << vSubArguments[2]->GenSlidingWindowDeclRef() << ");\n";
 }
-else
+ss << "if(!(mode == 1.0 || mode == 2.0))\n";
+ss << "return DBL_MAX;\n";
+if(ocPush==vSubArguments[3]->GetFormulaToken()->GetOpCode())
 {
-ss << "return DBL_MAX;\n";
-ss << "}\n";
-return ;
+if(pCur3->GetType() == formula::svSingleVectorRef)
+{
+const formula::SingleVectorRefToken* pSVR =
+static_cast< const formula::SingleVectorRefToken*>(pCur3);
+assert(pSVR);
+ss << "if (gid0 < " << pSVR->GetArrayLength() << ")\n";
+ss << "{\n";
+ss << "if (isnan(";
+ss << vSubArguments[3]->GenSlidingWindowDeclRef() << "))\n";
+ss << " 

[Libreoffice-commits] core.git: Branch 'distro/collabora/co-22.05' - vcl/inc vcl/jsdialog

2022-08-31 Thread Szymon Kłos (via logerrit)
 vcl/inc/salvtables.hxx   |4 +++-
 vcl/jsdialog/jsdialogbuilder.cxx |6 +-
 2 files changed, 8 insertions(+), 2 deletions(-)

New commits:
commit 12d0317070bce527e64980aa5596d1a284544fd1
Author: Szymon Kłos 
AuthorDate: Mon Aug 22 18:27:27 2022 +0200
Commit: Szymon Kłos 
CommitDate: Wed Aug 31 09:14:31 2022 +0200

jsdialog: send action not update for spin button value

This will help us to reduce payload and fix bug where
in Chrome regenerated spin field always focused "arrow
down" button after click on the "arrow up".

Use value from formatter - the same as generated in
widget update JSON.

Change-Id: I6ace90eb532e894daacb563bc9fb93332fd755ce
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/138700
Tested-by: Jenkins CollaboraOffice 
Reviewed-by: Rashesh Padia 
Reviewed-by: Szymon Kłos 

diff --git a/vcl/inc/salvtables.hxx b/vcl/inc/salvtables.hxx
index 46937c161f24..f93407dae8a9 100644
--- a/vcl/inc/salvtables.hxx
+++ b/vcl/inc/salvtables.hxx
@@ -615,10 +615,12 @@ public:
 
 class SalInstanceSpinButton : public SalInstanceEntry, public virtual 
weld::SpinButton
 {
-private:
 VclPtr m_xButton;
+
+protected:
 Formatter& m_rFormatter;
 
+private:
 DECL_LINK(UpDownHdl, SpinField&, void);
 DECL_LINK(LoseFocusHdl, Control&, void);
 DECL_LINK(OutputHdl, LinkParamNone*, bool);
diff --git a/vcl/jsdialog/jsdialogbuilder.cxx b/vcl/jsdialog/jsdialogbuilder.cxx
index 5c62face9769..e28a4e5d9aee 100644
--- a/vcl/jsdialog/jsdialogbuilder.cxx
+++ b/vcl/jsdialog/jsdialogbuilder.cxx
@@ -1370,7 +1370,11 @@ JSSpinButton::JSSpinButton(JSDialogSender* pSender, 
::FormattedField* pSpin,
 void JSSpinButton::set_value(int value)
 {
 SalInstanceSpinButton::set_value(value);
-sendUpdate(true); // if input is limited we can receive the same JSON
+
+std::unique_ptr pMap = 
std::make_unique();
+(*pMap)[ACTION_TYPE] = "setText";
+(*pMap)["text"] = OUString::number(m_rFormatter.GetValue());
+sendAction(std::move(pMap));
 }
 
 JSMessageDialog::JSMessageDialog(JSDialogSender* pSender, ::MessageDialog* 
pDialog,


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

2022-08-31 Thread Luboš Luňák (via logerrit)
 sc/source/core/opencl/formulagroupcl.cxx |   40 +++
 1 file changed, 36 insertions(+), 4 deletions(-)

New commits:
commit fd72a87868708569d19cccaab158116107698db5
Author: Luboš Luňák 
AuthorDate: Tue Aug 30 16:30:12 2022 +0200
Commit: Luboš Luňák 
CommitDate: Wed Aug 31 09:14:14 2022 +0200

fix opencl implementations of comparison operators

The normal core implementations use approximate comparison. Also
add the two missing operators.

Change-Id: I98f65b4fed70dd40f9087b6d98696b3bb10ea194
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/139053
Tested-by: Jenkins
Reviewed-by: Luboš Luňák 

diff --git a/sc/source/core/opencl/formulagroupcl.cxx 
b/sc/source/core/opencl/formulagroupcl.cxx
index 9ab5b83057e9..5800ef08c89d 100644
--- a/sc/source/core/opencl/formulagroupcl.cxx
+++ b/sc/source/core/opencl/formulagroupcl.cxx
@@ -1786,12 +1786,25 @@ public:
 virtual std::string Gen2( const std::string& lhs, const std::string& rhs ) 
const override
 {
 std::stringstream ss;
-ss << "(" << lhs << " == " << rhs << ")";
+ss << "approx_equal(" << lhs << "," << rhs << ")";
 return ss.str();
 }
 virtual std::string BinFuncName() const override { return "eq"; }
 };
 
+class OpNotEqual : public Binary
+{
+public:
+virtual std::string GetBottom() override { return "0"; }
+virtual std::string Gen2( const std::string& lhs, const std::string& rhs ) 
const override
+{
+std::stringstream ss;
+ss << "!approx_equal(" << lhs << "," << rhs << ")";
+return ss.str();
+}
+virtual std::string BinFuncName() const override { return "neq"; }
+};
+
 class OpLessEqual : public Binary
 {
 public:
@@ -1799,10 +1812,10 @@ public:
 virtual std::string Gen2( const std::string& lhs, const std::string& rhs ) 
const override
 {
 std::stringstream ss;
-ss << "(" << lhs << "<=" << rhs << ")";
+ss << "(approx_equal(" << lhs << "," << rhs << ") || " << lhs << "<=" 
<< rhs << ")";
 return ss.str();
 }
-virtual std::string BinFuncName() const override { return "leq"; }
+virtual std::string BinFuncName() const override { return "le"; }
 };
 
 class OpLess : public Binary
@@ -1815,7 +1828,7 @@ public:
 ss << "(" << lhs << "<" << rhs << ")";
 return ss.str();
 }
-virtual std::string BinFuncName() const override { return "less"; }
+virtual std::string BinFuncName() const override { return "lt"; }
 };
 
 class OpGreater : public Binary
@@ -1831,6 +1844,19 @@ public:
 virtual std::string BinFuncName() const override { return "gt"; }
 };
 
+class OpGreaterEqual : public Binary
+{
+public:
+virtual std::string GetBottom() override { return "0"; }
+virtual std::string Gen2( const std::string& lhs, const std::string& rhs ) 
const override
+{
+std::stringstream ss;
+ss << "(approx_equal(" << lhs << "," << rhs << ") || " << lhs << ">=" 
<< rhs << ")";
+return ss.str();
+}
+virtual std::string BinFuncName() const override { return "ge"; }
+};
+
 class OpSum : public Reduction
 {
 public:
@@ -3004,9 +3030,15 @@ 
DynamicKernelSoPArguments::DynamicKernelSoPArguments(const ScCalcConfig& config,
 case ocEqual:
 mvSubArguments.push_back(SoPHelper(mCalcConfig, ts, 
ft->Children[i], std::make_shared(), nResultSize));
 break;
+case ocNotEqual:
+mvSubArguments.push_back(SoPHelper(mCalcConfig, ts, 
ft->Children[i], std::make_shared(), nResultSize));
+break;
 case ocGreater:
 mvSubArguments.push_back(SoPHelper(mCalcConfig, ts, 
ft->Children[i], std::make_shared(), nResultSize));
 break;
+case ocGreaterEqual:
+mvSubArguments.push_back(SoPHelper(mCalcConfig, ts, 
ft->Children[i], std::make_shared(), nResultSize));
+break;
 case ocSYD:
 mvSubArguments.push_back(SoPHelper(mCalcConfig, ts, 
ft->Children[i], std::make_shared(), nResultSize));
 break;


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

2022-08-31 Thread Luboš Luňák (via logerrit)
 sc/source/core/opencl/formulagroupcl.cxx |9 
 sc/source/core/opencl/op_math.cxx|   66 ---
 sc/source/core/opencl/op_math.hxx|9 
 3 files changed, 1 insertion(+), 83 deletions(-)

New commits:
commit 067610f46ae57f88439a1b7c5a28209d129e641e
Author: Luboš Luňák 
AuthorDate: Tue Aug 30 15:48:56 2022 +0200
Commit: Luboš Luňák 
CommitDate: Wed Aug 31 09:13:54 2022 +0200

do not accept strings for opencl equal operator

This is part of "using string hashes for strings is kind of stupid"
removal. And it seems this is never used for all of Calc's tests.
Just keep it for numeric comparison.

Change-Id: I1c5e3b10c9cacf3d163a675373f14d879a857db8
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/139052
Tested-by: Jenkins
Reviewed-by: Luboš Luňák 

diff --git a/sc/source/core/opencl/formulagroupcl.cxx 
b/sc/source/core/opencl/formulagroupcl.cxx
index 6855434d37b7..9ab5b83057e9 100644
--- a/sc/source/core/opencl/formulagroupcl.cxx
+++ b/sc/source/core/opencl/formulagroupcl.cxx
@@ -93,7 +93,6 @@ const char* const publicFunc =
  "double legalize(double a, double b) { return isnan(a)?b:a;}\n"
  "double fsub(double a, double b) { return a-b; }\n"
  "double fdiv(double a, double b) { return a/b; }\n"
- "double strequal(unsigned a, unsigned b) { return (a==b)?1.0:0; }\n"
  "int is_representable_integer(double a) {\n"
  "long kMaxInt = (1L << 53) - 1;\n"
  "if (a <= as_double(kMaxInt))\n"
@@ -1787,11 +1786,10 @@ public:
 virtual std::string Gen2( const std::string& lhs, const std::string& rhs ) 
const override
 {
 std::stringstream ss;
-ss << "strequal(" << lhs << "," << rhs << ")";
+ss << "(" << lhs << " == " << rhs << ")";
 return ss.str();
 }
 virtual std::string BinFuncName() const override { return "eq"; }
-virtual bool takeString() const override { return true; }
 };
 
 class OpLessEqual : public Binary
commit 975fa7d700d50d376090de6c370aa00b8b38e8cf
Author: Luboš Luňák 
AuthorDate: Tue Aug 30 15:48:40 2022 +0200
Commit: Luboš Luňák 
CommitDate: Wed Aug 31 09:13:37 2022 +0200

remove opencl implementation of CONVERT()

Part of removal of string handling in opencl (using the hash here
is not that bad, a hash collision is unlikely, but still).
And the code handles only two conversions (m<->km and sec<->min ?
I'm not even sure). And it seems it's not used a single time
for all of Calc's checks.
It could be added back if there's use for it (possibly with handling
the strings better, e.g. by converting them in the C++ code
to enumeration values passed to opencl).

Change-Id: I65a6ab51d8fb42c09d8a76a1e09f6f5fcbae099a
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/139051
Tested-by: Jenkins
Reviewed-by: Luboš Luňák 

diff --git a/sc/source/core/opencl/formulagroupcl.cxx 
b/sc/source/core/opencl/formulagroupcl.cxx
index b30fa97f854f..6855434d37b7 100644
--- a/sc/source/core/opencl/formulagroupcl.cxx
+++ b/sc/source/core/opencl/formulagroupcl.cxx
@@ -3771,11 +3771,6 @@ 
DynamicKernelSoPArguments::DynamicKernelSoPArguments(const ScCalcConfig& config,
 mvSubArguments.push_back(SoPHelper(mCalcConfig, ts, 
ft->Children[i],
 std::make_shared(), nResultSize));
 }
-else if (pChild->GetExternal() == 
"com.sun.star.sheet.addin.Analysis.getConvert")
-{
-mvSubArguments.push_back(SoPHelper(mCalcConfig, ts, 
ft->Children[i],
-std::make_shared(), nResultSize));
-}
 else if (pChild->GetExternal() == 
"com.sun.star.sheet.addin.Analysis.getIseven")
 {
 mvSubArguments.push_back(SoPHelper(mCalcConfig, ts, 
ft->Children[i],
diff --git a/sc/source/core/opencl/op_math.cxx 
b/sc/source/core/opencl/op_math.cxx
index 4042e2511177..5914436ffd8e 100644
--- a/sc/source/core/opencl/op_math.cxx
+++ b/sc/source/core/opencl/op_math.cxx
@@ -2642,72 +2642,6 @@ void 
OpCombin::GenSlidingWindowFunction(std::stringstream &ss,
 ss << "return result;\n";
 ss << "}\n";
 }
-void OpConvert::GenSlidingWindowFunction(
-std::stringstream &ss, const std::string &sSymName,
-SubArguments &vSubArguments)
-{
-// The CONVERT function converts a value from one unit of
-// measurement to another. It takes the units of measurements to
-// convert between as string arguments. This implementation
-// handles just a very small subset of such conversions.
-
-int arg1=vSubArguments[1]->GetFormulaToken()->GetString().
-getString().toAsciiUpperCase().hashCode();
-int arg2=vSubArguments[2]->GetFormulaToken()->GetString().
-getString().toAsciiUpperCase().hashCode();
-
-// Check if the from and to units are those combinations that the
-// code below supports.
-if( !((arg1==

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

2022-08-31 Thread Luboš Luňák (via logerrit)
 sc/source/core/opencl/formulagroupcl.cxx |3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

New commits:
commit 19e64b69fe1327993e8eeec41572d9c258686965
Author: Luboš Luňák 
AuthorDate: Tue Aug 30 15:44:26 2022 +0200
Commit: Luboš Luňák 
CommitDate: Wed Aug 31 09:13:13 2022 +0200

do not take strings for opencl <,>,<=,>= operations

OpenCL code doesn't actually work on strings themselves, but only on their
hashes. And comparing hashes doesn't necessarily have the same result
as comparing the strings themselves.
This is a part of preparation for removal of string handling in opencl,
as the whole idea of handling strings in opencl is probably stupid.

Change-Id: I8fa98bca0af14832f0d76135c1e195e1fb24451a
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/139050
Tested-by: Jenkins
Reviewed-by: Luboš Luňák 

diff --git a/sc/source/core/opencl/formulagroupcl.cxx 
b/sc/source/core/opencl/formulagroupcl.cxx
index 67f0da6eb3d6..b30fa97f854f 100644
--- a/sc/source/core/opencl/formulagroupcl.cxx
+++ b/sc/source/core/opencl/formulagroupcl.cxx
@@ -1546,7 +1546,7 @@ public:
 vSubArguments[1]->GenSlidingWindowDeclRef()) << ";\n\t";
 ss << "return tmp;\n}";
 }
-virtual bool takeString() const override { return true; }
+virtual bool takeString() const override { return false; }
 virtual bool takeNumeric() const override { return true; }
 };
 
@@ -1791,6 +1791,7 @@ public:
 return ss.str();
 }
 virtual std::string BinFuncName() const override { return "eq"; }
+virtual bool takeString() const override { return true; }
 };
 
 class OpLessEqual : public Binary