Re: regarding contributing in libre office for gsoc 2022

2021-10-28 Thread Ilmari Lauhakangas

On 27.10.2021 20.26, Anushka Agrawal wrote:

Sir/mam

I am keen to contribute in your organization. I know a little of all the 
skills required. I would love to know how can I start contributing. Your 
reply will be awaited.


I have invited you to an interview.

Ilmari


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

2021-10-28 Thread Xisco Fauli (via logerrit)
 sc/Module_sc.mk  |1 +
 sc/UITest_autofilter2.mk |   20 
 2 files changed, 21 insertions(+)

New commits:
commit 6e18b96188a454bcdd2f2780799c136be75606cd
Author: Xisco Fauli 
AuthorDate: Wed Oct 27 16:57:32 2021 +0200
Commit: Xisco Fauli 
CommitDate: Thu Oct 28 10:35:18 2021 +0200

sc: split UITest_autofilter in two

it already has 45 tests

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

diff --git a/sc/Module_sc.mk b/sc/Module_sc.mk
index 17698421accb..5dc30cf56304 100644
--- a/sc/Module_sc.mk
+++ b/sc/Module_sc.mk
@@ -243,6 +243,7 @@ $(eval $(call gb_Module_add_uicheck_targets,sc,\
UITest_range_name \
UITest_hide_cols \
UITest_autofilter \
+   UITest_autofilter2 \
UITest_search_replace \
UITest_calc_tests \
UITest_calc_tests2 \
diff --git a/sc/UITest_autofilter2.mk b/sc/UITest_autofilter2.mk
new file mode 100644
index ..387033912e1e
--- /dev/null
+++ b/sc/UITest_autofilter2.mk
@@ -0,0 +1,20 @@
+# -*- Mode: makefile-gmake; tab-width: 4; indent-tabs-mode: t -*-
+#
+# This file is part of the LibreOffice project.
+#
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+#
+
+$(eval $(call gb_UITest_UITest,autofilter2))
+
+$(eval $(call gb_UITest_add_modules,autofilter2,$(SRCDIR)/sc/qa/uitest,\
+   autofilter2/ \
+))
+
+$(eval $(call gb_UITest_set_defs,autofilter2, \
+TDOC="$(SRCDIR)/sc/qa/uitest/data/autofilter" \
+))
+
+# vim: set noet sw=4 ts=4:
diff --git a/sc/qa/uitest/autofilter/tdf101165.py 
b/sc/qa/uitest/autofilter2/tdf101165.py
similarity index 100%
rename from sc/qa/uitest/autofilter/tdf101165.py
rename to sc/qa/uitest/autofilter2/tdf101165.py
diff --git a/sc/qa/uitest/autofilter/tdf117276.py 
b/sc/qa/uitest/autofilter2/tdf117276.py
similarity index 100%
rename from sc/qa/uitest/autofilter/tdf117276.py
rename to sc/qa/uitest/autofilter2/tdf117276.py
diff --git a/sc/qa/uitest/autofilter/tdf117276_autofilter_reset.py 
b/sc/qa/uitest/autofilter2/tdf117276_autofilter_reset.py
similarity index 100%
rename from sc/qa/uitest/autofilter/tdf117276_autofilter_reset.py
rename to sc/qa/uitest/autofilter2/tdf117276_autofilter_reset.py
diff --git a/sc/qa/uitest/autofilter/tdf122260.py 
b/sc/qa/uitest/autofilter2/tdf122260.py
similarity index 100%
rename from sc/qa/uitest/autofilter/tdf122260.py
rename to sc/qa/uitest/autofilter2/tdf122260.py
diff --git a/sc/qa/uitest/autofilter/tdf126306.py 
b/sc/qa/uitest/autofilter2/tdf126306.py
similarity index 100%
rename from sc/qa/uitest/autofilter/tdf126306.py
rename to sc/qa/uitest/autofilter2/tdf126306.py
diff --git a/sc/qa/uitest/autofilter/tdf130070.py 
b/sc/qa/uitest/autofilter2/tdf130070.py
similarity index 100%
rename from sc/qa/uitest/autofilter/tdf130070.py
rename to sc/qa/uitest/autofilter2/tdf130070.py
diff --git a/sc/qa/uitest/autofilter/tdf140754.py 
b/sc/qa/uitest/autofilter2/tdf140754.py
similarity index 100%
rename from sc/qa/uitest/autofilter/tdf140754.py
rename to sc/qa/uitest/autofilter2/tdf140754.py
diff --git a/sc/qa/uitest/autofilter/tdf141559.py 
b/sc/qa/uitest/autofilter2/tdf141559.py
similarity index 100%
rename from sc/qa/uitest/autofilter/tdf141559.py
rename to sc/qa/uitest/autofilter2/tdf141559.py
diff --git a/sc/qa/uitest/autofilter/tdf141946.py 
b/sc/qa/uitest/autofilter2/tdf141946.py
similarity index 100%
rename from sc/qa/uitest/autofilter/tdf141946.py
rename to sc/qa/uitest/autofilter2/tdf141946.py
diff --git a/sc/qa/uitest/autofilter/tdf46062.py 
b/sc/qa/uitest/autofilter2/tdf46062.py
similarity index 100%
rename from sc/qa/uitest/autofilter/tdf46062.py
rename to sc/qa/uitest/autofilter2/tdf46062.py
diff --git a/sc/qa/uitest/autofilter/tdf46184.py 
b/sc/qa/uitest/autofilter2/tdf46184.py
similarity index 100%
rename from sc/qa/uitest/autofilter/tdf46184.py
rename to sc/qa/uitest/autofilter2/tdf46184.py
diff --git a/sc/qa/uitest/autofilter/tdf48025.py 
b/sc/qa/uitest/autofilter2/tdf48025.py
similarity index 100%
rename from sc/qa/uitest/autofilter/tdf48025.py
rename to sc/qa/uitest/autofilter2/tdf48025.py
diff --git a/sc/qa/uitest/autofilter/tdf68113.py 
b/sc/qa/uitest/autofilter2/tdf68113.py
similarity index 100%
rename from sc/qa/uitest/autofilter/tdf68113.py
rename to sc/qa/uitest/autofilter2/tdf68113.py
diff --git a/sc/qa/uitest/autofilter/tdf92767.py 
b/sc/qa/uitest/autofilter2/tdf92767.py
similarity index 100%
rename from sc/qa/uitest/autofilter/tdf92767.py
rename to sc/qa/uitest/autofilter2/tdf92767.py
diff --git a/sc/qa/uitest/autofilter/tdf97340.py 
b/sc/qa/uitest/autofilter2/tdf97340.py
similarity index 100%
rename from sc/qa/uitest/autofilter/tdf97340.py
rename to sc/qa/uitest/autofilter2/tdf97340.py


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

2021-10-28 Thread Jean-Pierre Ledure (via logerrit)
 wizards/source/scriptforge/python/scriptforge.py |3 +++
 wizards/source/sfdocuments/SF_Calc.xba   |   17 +
 2 files changed, 20 insertions(+)

New commits:
commit a97227aeb451fe579546427e125c5d8219eeb952
Author: Jean-Pierre Ledure 
AuthorDate: Wed Oct 27 15:31:29 2021 +0200
Commit: Jean-Pierre Ledure 
CommitDate: Thu Oct 28 10:47:52 2021 +0200

ScriptForge - (SF_Calc) new XSheetCellCursor property

The XSheetCellCursor property requires one mandatory argument,
a range as a string.

It returns a UNO object of type com.sun.star.sheet.XSheetCellCursor.
Such an object is designed to navigate thru the spreadsheet.

After the user script has used one or more navigation verbs
(gotoNext(), ...) the resulting range can be got back in the
script by using the cursor.AbsoluteName UNO property.
The new range can be given as input to further ScriptForge
methods.

XSheetCellCursor is available both from Basic and Python user scripts.

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

diff --git a/wizards/source/scriptforge/python/scriptforge.py 
b/wizards/source/scriptforge/python/scriptforge.py
index d162c6ed5781..9972660de0d3 100644
--- a/wizards/source/scriptforge/python/scriptforge.py
+++ b/wizards/source/scriptforge/python/scriptforge.py
@@ -1903,6 +1903,9 @@ class SFDocuments:
 def XCellRange(self, rangename):
 return self.ExecMethod(self.vbGet + self.flgUno, 'XCellRange', 
rangename)
 
+def XSheetCellCursor(self, rangename):
+return self.ExecMethod(self.vbGet + self.flgUno, 
'XSheetCellCursor', rangename)
+
 def XSpreadsheet(self, sheetname):
 return self.ExecMethod(self.vbGet + self.flgUno, 'XSpreadsheet', 
sheetname)
 
diff --git a/wizards/source/sfdocuments/SF_Calc.xba 
b/wizards/source/sfdocuments/SF_Calc.xba
index 7608fd2f8af9..f8a13f927953 100644
--- a/wizards/source/sfdocuments/SF_Calc.xba
+++ b/wizards/source/sfdocuments/SF_Calc.xba
@@ -263,6 +263,14 @@ Property Get XCellRange(Optional ByVal RangeName As 
Variant) As Variant
XCellRange = _PropertyGet("XCellRange", RangeName)
 End Property   '  SFDocuments.SF_Calc.XCellRange
 
+REM 
-
+Property Get XSheetCellCursor(Optional ByVal RangeName As Variant) As Variant
+''' Returns a UNO object of type 
com.sun.star.sheet.XSheetCellCursor
+''   After having moved the cursor (gotoNext(), ...) the resulting 
range can be got
+''' back as a string with the cursor.AbsoluteName UNO 
property.
+   XSheetCellCursor = _PropertyGet("XSheetCellCursor", RangeName)
+End Property   '  SFDocuments.SF_Calc.XSheetCellCursor
+
 REM 
-
 Property Get XSpreadsheet(Optional ByVal SheetName As Variant) As Variant
 ''' Returns a UNO object of type 
com.sun.star.sheet.XSpreadsheet
@@ -1896,6 +1904,7 @@ Public Function Properties() As Variant
, "Width" _
, "XCellRange" _
, "XComponent" _
+   , "XSheetCellCursor" _
, "XSpreadsheet" _
)
 
@@ -3181,6 +3190,14 @@ Const cstSubArgs = ""
If Not ScriptForge.SF_Utils._Validate(pvArg, 
"Range", V_STRING) Then GoTo Finally
Set _PropertyGet = 
_ParseAddress(pvArg).XCellRange
End If
+   Case UCase("XSheetCellCursor")
+   If IsMissing(pvArg) Or IsEmpty(pvArg) Then
+   Set _PropertyGet = Nothing
+   Else
+   If Not ScriptForge.SF_Utils._Validate(pvArg, 
"Range", V_STRING) Then GoTo Finally
+   Set oAddress = _ParseAddress(pvArg)
+   Set _PropertyGet = 
oAddress.XSpreadsheet.createCursorByRange(oAddress.XCellRange)
+   End If
Case UCase("XSpreadsheet")
If IsMissing(pvArg) Or IsEmpty(pvArg) Then
Set _PropertyGet = Nothing


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

2021-10-28 Thread Xisco Fauli (via logerrit)
 sc/Module_sc.mk |1 +
 sc/UITest_chart2.mk |   20 
 2 files changed, 21 insertions(+)

New commits:
commit 0a340780962ff93b519ff5285ccacc9c52cf17ca
Author: Xisco Fauli 
AuthorDate: Wed Oct 27 16:19:30 2021 +0200
Commit: Xisco Fauli 
CommitDate: Thu Oct 28 11:02:54 2021 +0200

sc: split UITest_chart in two

it already has 48 tests

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

diff --git a/sc/Module_sc.mk b/sc/Module_sc.mk
index 5dc30cf56304..4a5d7055db29 100644
--- a/sc/Module_sc.mk
+++ b/sc/Module_sc.mk
@@ -265,6 +265,7 @@ $(eval $(call gb_Module_add_uicheck_targets,sc,\
UITest_calc_tests7 \
UITest_sort \
UITest_chart \
+   UITest_chart2 \
UITest_pageFormat \
UITest_pasteSpecial \
UITest_calc_tests8 \
diff --git a/sc/UITest_chart2.mk b/sc/UITest_chart2.mk
new file mode 100644
index ..1d60c1dd06ce
--- /dev/null
+++ b/sc/UITest_chart2.mk
@@ -0,0 +1,20 @@
+# -*- Mode: makefile-gmake; tab-width: 4; indent-tabs-mode: t -*-
+#
+# This file is part of the LibreOffice project.
+#
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+#
+
+$(eval $(call gb_UITest_UITest,chart2))
+
+$(eval $(call gb_UITest_add_modules,chart2,$(SRCDIR)/sc/qa/uitest,\
+   chart2/ \
+))
+
+$(eval $(call gb_UITest_set_defs,chart2, \
+TDOC="$(SRCDIR)/sc/qa/uitest/data" \
+))
+
+# vim: set noet sw=4 ts=4:
diff --git a/sc/qa/uitest/chart/tdf101894.py b/sc/qa/uitest/chart2/tdf101894.py
similarity index 100%
rename from sc/qa/uitest/chart/tdf101894.py
rename to sc/qa/uitest/chart2/tdf101894.py
diff --git a/sc/qa/uitest/chart/tdf107097.py b/sc/qa/uitest/chart2/tdf107097.py
similarity index 100%
rename from sc/qa/uitest/chart/tdf107097.py
rename to sc/qa/uitest/chart2/tdf107097.py
diff --git a/sc/qa/uitest/chart/tdf120348.py b/sc/qa/uitest/chart2/tdf120348.py
similarity index 100%
rename from sc/qa/uitest/chart/tdf120348.py
rename to sc/qa/uitest/chart2/tdf120348.py
diff --git a/sc/qa/uitest/chart/tdf122398.py b/sc/qa/uitest/chart2/tdf122398.py
similarity index 100%
rename from sc/qa/uitest/chart/tdf122398.py
rename to sc/qa/uitest/chart2/tdf122398.py
diff --git a/sc/qa/uitest/chart/tdf123013.py b/sc/qa/uitest/chart2/tdf123013.py
similarity index 100%
rename from sc/qa/uitest/chart/tdf123013.py
rename to sc/qa/uitest/chart2/tdf123013.py
diff --git a/sc/qa/uitest/chart/tdf123231.py b/sc/qa/uitest/chart2/tdf123231.py
similarity index 100%
rename from sc/qa/uitest/chart/tdf123231.py
rename to sc/qa/uitest/chart2/tdf123231.py
diff --git a/sc/qa/uitest/chart/tdf123520.py b/sc/qa/uitest/chart2/tdf123520.py
similarity index 100%
rename from sc/qa/uitest/chart/tdf123520.py
rename to sc/qa/uitest/chart2/tdf123520.py
diff --git a/sc/qa/uitest/chart/tdf124111.py b/sc/qa/uitest/chart2/tdf124111.py
similarity index 100%
rename from sc/qa/uitest/chart/tdf124111.py
rename to sc/qa/uitest/chart2/tdf124111.py
diff --git a/sc/qa/uitest/chart/tdf124295.py b/sc/qa/uitest/chart2/tdf124295.py
similarity index 100%
rename from sc/qa/uitest/chart/tdf124295.py
rename to sc/qa/uitest/chart2/tdf124295.py
diff --git a/sc/qa/uitest/chart/tdf129587.py b/sc/qa/uitest/chart2/tdf129587.py
similarity index 100%
rename from sc/qa/uitest/chart/tdf129587.py
rename to sc/qa/uitest/chart2/tdf129587.py
diff --git a/sc/qa/uitest/chart/tdf131715.py b/sc/qa/uitest/chart2/tdf131715.py
similarity index 100%
rename from sc/qa/uitest/chart/tdf131715.py
rename to sc/qa/uitest/chart2/tdf131715.py
diff --git a/sc/qa/uitest/chart/tdf133630.py b/sc/qa/uitest/chart2/tdf133630.py
similarity index 100%
rename from sc/qa/uitest/chart/tdf133630.py
rename to sc/qa/uitest/chart2/tdf133630.py
diff --git a/sc/qa/uitest/chart/tdf134059.py b/sc/qa/uitest/chart2/tdf134059.py
similarity index 100%
rename from sc/qa/uitest/chart/tdf134059.py
rename to sc/qa/uitest/chart2/tdf134059.py
diff --git a/sc/qa/uitest/chart/tdf136011.py b/sc/qa/uitest/chart2/tdf136011.py
similarity index 100%
rename from sc/qa/uitest/chart/tdf136011.py
rename to sc/qa/uitest/chart2/tdf136011.py
diff --git a/sc/qa/uitest/chart/tdf142851.py b/sc/qa/uitest/chart2/tdf142851.py
similarity index 100%
rename from sc/qa/uitest/chart/tdf142851.py
rename to sc/qa/uitest/chart2/tdf142851.py


[Libreoffice-commits] core.git: Branch 'libreoffice-7-1' - configure.ac

2021-10-28 Thread Tor Lillqvist (via logerrit)
 configure.ac |   17 +
 1 file changed, 13 insertions(+), 4 deletions(-)

New commits:
commit dc32231639615aa2ded614a9e120e7adc8e03e6f
Author: Tor Lillqvist 
AuthorDate: Wed Oct 27 13:28:58 2021 +0300
Commit: Michael Stahl 
CommitDate: Thu Oct 28 11:05:01 2021 +0200

Accept macOS SDK 12.0

Change-Id: I3e2b004578394e0199ac425f7b80da47a668f70d
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/124266
Tested-by: Tor Lillqvist 
Reviewed-by: Tor Lillqvist 
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/124276
Tested-by: Jenkins
Reviewed-by: Michael Stahl 

diff --git a/configure.ac b/configure.ac
index a9c4b1513bd7..bd28bc6eb38e 100644
--- a/configure.ac
+++ b/configure.ac
@@ -3131,7 +3131,7 @@ if test $_os = Darwin; then
 # higher than or equal to the minimum required should be found.
 
 AC_MSG_CHECKING([what macOS SDK to use])
-for _macosx_sdk in ${with_macosx_sdk-11.3 11.1 11.0 10.15 10.14 10.13}; do
+for _macosx_sdk in ${with_macosx_sdk-12.0 11.3 11.1 11.0 10.15 10.14 
10.13}; do
 MACOSX_SDK_PATH=`xcrun --sdk macosx${_macosx_sdk} --show-sdk-path 2> 
/dev/null`
 if test -d "$MACOSX_SDK_PATH"; then
 with_macosx_sdk="${_macosx_sdk}"
@@ -3169,8 +3169,11 @@ if test $_os = Darwin; then
 11.3)
 MACOSX_SDK_VERSION=110300
 ;;
+12.0)
+MACOSX_SDK_VERSION=12
+;;
 *)
-AC_MSG_ERROR([with-macosx-sdk $with_macosx_sdk is not a supported 
value, supported values are 10.13--11.3])
+AC_MSG_ERROR([with-macosx-sdk $with_macosx_sdk is not a supported 
value, supported values are 10.13--12.0])
 ;;
 esac
 
@@ -3238,8 +3241,11 @@ if test $_os = Darwin; then
 11.3)
 MAC_OS_X_VERSION_MIN_REQUIRED="110300"
 ;;
+12.0)
+MAC_OS_X_VERSION_MIN_REQUIRED="12"
+;;
 *)
-AC_MSG_ERROR([with-macosx-version-min-required 
$with_macosx_version_min_required is not a supported value, supported values 
are 10.10--11.3])
+AC_MSG_ERROR([with-macosx-version-min-required 
$with_macosx_version_min_required is not a supported value, supported values 
are 10.10--12.0])
 ;;
 esac
 
@@ -3306,8 +3312,11 @@ if test $_os = Darwin; then
 11.3)
 MAC_OS_X_VERSION_MAX_ALLOWED="110300"
 ;;
+12.0)
+MAC_OS_X_VERSION_MAX_ALLOWED="12"
+;;
 *)
-AC_MSG_ERROR([with-macosx-version-max-allowed 
$with_macosx_version_max_allowed is not a supported value, supported values are 
10.10--11.3])
+AC_MSG_ERROR([with-macosx-version-max-allowed 
$with_macosx_version_max_allowed is not a supported value, supported values are 
10.10--12.0])
 ;;
 esac
 


[Libreoffice-commits] core.git: solenv/gbuild

2021-10-28 Thread Christian Lohmaier (via logerrit)
 solenv/gbuild/platform/com_GCC_defs.mk |3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

New commits:
commit 899434244fb8b632159a82c1f61262a15058708c
Author: Christian Lohmaier 
AuthorDate: Wed Oct 27 20:19:44 2021 +0200
Commit: Christian Lohmaier 
CommitDate: Thu Oct 28 12:07:06 2021 +0200

-flto: only use firstword of PARALLELISM

jenkins agents use PARALLELISM with additional load limit, e.g.
PARALLELISM="16 -l 24" causing the linker to complain about not finding
-l24 when lto is enabled. So only use the first element/the number of
jobs to use and omit the load limit here.

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

diff --git a/solenv/gbuild/platform/com_GCC_defs.mk 
b/solenv/gbuild/platform/com_GCC_defs.mk
index 2ca057c4f196..de3359f5dbd2 100644
--- a/solenv/gbuild/platform/com_GCC_defs.mk
+++ b/solenv/gbuild/platform/com_GCC_defs.mk
@@ -185,7 +185,8 @@ ifeq (,$(index,iOS MACOSX,$(OS)))
 gb_LTOPLUGINFLAGS := --plugin $(if $(LD_PLUGIN),$(LD_PLUGIN),LLVMgold.so)
 endif
 else
-gb_LTOFLAGS := -flto=$(if $(filter-out 0,$(PARALLELISM)),$(PARALLELISM),auto) 
-fuse-linker-plugin -O2
+# use first element of the PARALLELISM, to allow values like "12 -l 14" to 
specify load limits
+gb_LTOFLAGS := -flto=$(if $(filter-out 0,$(PARALLELISM)),$(firstword 
$(PARALLELISM)),auto) -fuse-linker-plugin -O2
 # clang does not support -flto=
 gb_CLANG_LTOFLAGS := -flto=thin
 endif


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

2021-10-28 Thread Julien Nabet (via logerrit)
 xmloff/CppunitTest_xmloff_draw.mk|1 
 xmloff/qa/unit/data/tdf141301_Extrusion_Skew.odg |binary
 xmloff/qa/unit/draw.cxx  |   38 ++-
 xmloff/source/draw/shapeexport.cxx   |8 
 4 files changed, 46 insertions(+), 1 deletion(-)

New commits:
commit 773465fb95c1be48f8fdf406d2d39caa142050db
Author: Julien Nabet 
AuthorDate: Sun Mar 28 18:21:04 2021 +0200
Commit: Regina Henschel 
CommitDate: Thu Oct 28 14:15:35 2021 +0200

tdf#141301: extrusion-skew angle value -135 is not written to file...

whereas it should since not default value

(Regina) Hopefully in some years missing values are unlikely and
bug tdf#141127 can be fixed.
(Regina) I have added a unit test to Julien's patch.

Change-Id: Ia2aabd8e724e3c3db9ae8a87cb27707aa7040fb9
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/113257
Tested-by: Jenkins
Reviewed-by: Regina Henschel 

diff --git a/xmloff/CppunitTest_xmloff_draw.mk 
b/xmloff/CppunitTest_xmloff_draw.mk
index 4ebac5c27a3b..46188eb0c438 100644
--- a/xmloff/CppunitTest_xmloff_draw.mk
+++ b/xmloff/CppunitTest_xmloff_draw.mk
@@ -13,6 +13,7 @@ $(eval $(call gb_CppunitTest_CppunitTest,xmloff_draw))
 
 $(eval $(call gb_CppunitTest_use_externals,xmloff_draw,\
boost_headers \
+libxml2 \
 ))
 
 $(eval $(call gb_CppunitTest_add_exception_objects,xmloff_draw, \
diff --git a/xmloff/qa/unit/data/tdf141301_Extrusion_Skew.odg 
b/xmloff/qa/unit/data/tdf141301_Extrusion_Skew.odg
new file mode 100644
index ..757289d43849
Binary files /dev/null and b/xmloff/qa/unit/data/tdf141301_Extrusion_Skew.odg 
differ
diff --git a/xmloff/qa/unit/draw.cxx b/xmloff/qa/unit/draw.cxx
index d386e92a2da6..3b0cda0f0383 100644
--- a/xmloff/qa/unit/draw.cxx
+++ b/xmloff/qa/unit/draw.cxx
@@ -9,21 +9,26 @@
 
 #include 
 #include 
+#include 
 
 #include 
 #include 
 #include 
 #include 
+#include 
 
 #include 
 #include 
+#include 
 
 using namespace ::com::sun::star;
 
 constexpr OUStringLiteral DATA_DIRECTORY = u"/xmloff/qa/unit/data/";
 
 /// Covers xmloff/source/draw/ fixes.
-class XmloffDrawTest : public test::BootstrapFixture, public 
unotest::MacrosTest
+class XmloffDrawTest : public test::BootstrapFixture,
+   public unotest::MacrosTest,
+   public XmlTestTools
 {
 private:
 uno::Reference mxComponent;
@@ -31,6 +36,7 @@ private:
 public:
 void setUp() override;
 void tearDown() override;
+void registerNamespaces(xmlXPathContextPtr& pXmlXpathCtx) override;
 uno::Reference& getComponent() { return mxComponent; }
 };
 
@@ -49,6 +55,11 @@ void XmloffDrawTest::tearDown()
 test::BootstrapFixture::tearDown();
 }
 
+void XmloffDrawTest::registerNamespaces(xmlXPathContextPtr& pXmlXpathCtx)
+{
+XmlTestTools::registerODFNamespaces(pXmlXpathCtx);
+}
+
 CPPUNIT_TEST_FIXTURE(XmloffDrawTest, testTextBoxLoss)
 {
 // Load a document that has a shape with a textbox in it. Save it to ODF 
and reload.
@@ -75,6 +86,31 @@ CPPUNIT_TEST_FIXTURE(XmloffDrawTest, testTextBoxLoss)
 CPPUNIT_ASSERT(bTextBox);
 }
 
+CPPUNIT_TEST_FIXTURE(XmloffDrawTest, testTdf141301_Extrusion_Angle)
+{
+// Load a document that has a custom shape with extrusion direction as set 
by LO as its default.
+OUString aURL = m_directories.getURLFromSrc(DATA_DIRECTORY) + 
"tdf141301_Extrusion_Skew.odg";
+getComponent() = loadFromDesktop(aURL, 
"com.sun.star.comp.drawing.DrawingDocument");
+
+// Prepare use of XPath
+uno::Reference xStorable(getComponent(), uno::UNO_QUERY);
+utl::TempFile aTempFile;
+aTempFile.EnableKillingFile();
+utl::MediaDescriptor aMediaDescriptor;
+aMediaDescriptor["FilterName"] <<= OUString("draw8");
+xStorable->storeAsURL(aTempFile.GetURL(), 
aMediaDescriptor.getAsConstPropertyValueList());
+uno::Reference xNameAccess
+= packages::zip::ZipFileAccess::createWithURL(mxComponentContext, 
aTempFile.GetURL());
+uno::Reference 
xInputStream(xNameAccess->getByName("content.xml"),
+  uno::UNO_QUERY);
+std::unique_ptr 
pStream(utl::UcbStreamHelper::CreateStream(xInputStream, true));
+xmlDocUniquePtr pXmlDoc = parseXmlStream(pStream.get());
+
+// Without fix draw:extrusion-skew="50 -135" was not written to file 
although "50 -135" is not
+// default in ODF, but only default inside LO.
+assertXPath(pXmlDoc, "//draw:enhanced-geometry", "extrusion-skew", "50 
-135");
+}
+
 CPPUNIT_PLUGIN_IMPLEMENT();
 
 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/xmloff/source/draw/shapeexport.cxx 
b/xmloff/source/draw/shapeexport.cxx
index f94fa160afd7..fd22a4dca5a2 100644
--- a/xmloff/source/draw/shapeexport.cxx
+++ b/xmloff/source/draw/shapeexport.cxx
@@ -4282,6 +4282,7 @@ static void ImpExportEnhancedGeometry( SvXMLExport& 
rExport, const uno::Referenc
 uno::Sequence< beans::PropertyVal

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

2021-10-28 Thread Stephan Bergmann (via logerrit)
 xmlsecurity/source/xmlsec/mscrypt/x509certificate_mscryptimpl.cxx |2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

New commits:
commit dfdb04938fbaa756b236f1008a7cef576225404d
Author: Stephan Bergmann 
AuthorDate: Thu Oct 28 11:55:00 2021 +0200
Commit: Stephan Bergmann 
CommitDate: Thu Oct 28 14:34:54 2021 +0200

loplugin:simplifybool (clang-cl)

(not a typo according to the comment at


"xmlsecurity: some Distinguished Names are less equal than others":  "i was 
too
lazy to look up which integer would be returned by the function and hoped 
this
would convert it to bool anyway"

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

diff --git a/xmlsecurity/source/xmlsec/mscrypt/x509certificate_mscryptimpl.cxx 
b/xmlsecurity/source/xmlsec/mscrypt/x509certificate_mscryptimpl.cxx
index 97648f3b85cd..e8b86858d337 100644
--- a/xmlsecurity/source/xmlsec/mscrypt/x509certificate_mscryptimpl.cxx
+++ b/xmlsecurity/source/xmlsec/mscrypt/x509certificate_mscryptimpl.cxx
@@ -752,7 +752,7 @@ bool EqualDistinguishedNames(
 }
 CERT_NAME_BLOB blob2;
 bool ret(false);
-if (!!EncodeDistinguishedName(rName2, blob2))
+if (EncodeDistinguishedName(rName2, blob2))
 {
 ret = CertCompareCertificateName(X509_ASN_ENCODING,
 &blob1, &blob2) == TRUE;


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

2021-10-28 Thread Stephan Bergmann (via logerrit)
 bridges/source/cpp_uno/shared/vtablefactory.cxx |5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)

New commits:
commit 601d0577245e5d85211da96736609a48146c847e
Author: Stephan Bergmann 
AuthorDate: Thu Oct 28 11:37:07 2021 +0200
Commit: Stephan Bergmann 
CommitDate: Thu Oct 28 14:35:26 2021 +0200

Revert broken optimization attempt

This partially reverts 1a5b12aa5da2c718848d3cc5d9bce7bfcdeacf54 "optimise
find/insert pattern", which caused

> ~/llvm/inst/bin/../include/c++/v1/unordered_map:1134: _LIBCPP_ASSERT 
'__get_const_db()->__find_c_from_i(&__p) == this' failed. 
unordered_map::insert(const_iterator, const value_type&) called with an 
iterator not referring to this unordered_map

during CustomTarget_testtools/uno_test in an experimental build with
-D_LIBCPP_DEBUG=1 on macOS.

Change-Id: Id40e5eab7c3fb1f8e1bb2599c7fb84649e870ba2
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/124319
Reviewed-by: Noel Grandin 
Reviewed-by: Stephan Bergmann 
Tested-by: Jenkins

diff --git a/bridges/source/cpp_uno/shared/vtablefactory.cxx 
b/bridges/source/cpp_uno/shared/vtablefactory.cxx
index a8aa7a9c2bfa..53b516cded5a 100644
--- a/bridges/source/cpp_uno/shared/vtablefactory.cxx
+++ b/bridges/source/cpp_uno/shared/vtablefactory.cxx
@@ -188,12 +188,11 @@ sal_Int32 VtableFactory::BaseOffset::calculate(
 typelib_InterfaceTypeDescription * type, sal_Int32 offset)
 {
 OUString name(type->aBase.pTypeName);
-auto it = m_map.find(name);
-if (it == m_map.end()) {
+if (m_map.find(name) == m_map.end()) {
 for (sal_Int32 i = 0; i < type->nBaseTypes; ++i) {
 offset = calculate(type->ppBaseTypes[i], offset);
 }
-m_map.insert(it, {name, offset});
+m_map.insert({name, offset});
 typelib_typedescription_complete(
 reinterpret_cast< typelib_TypeDescription ** >(&type));
 offset += bridges::cpp_uno::shared::getLocalFunctions(type);


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

2021-10-28 Thread Caolán McNamara (via logerrit)
 svx/source/tbxctrls/extrusioncontrols.cxx |   53 ++-
 svx/source/tbxctrls/extrusioncontrols.hxx |4 ++
 svx/source/tbxctrls/fontworkgallery.cxx   |   57 +-
 3 files changed, 94 insertions(+), 20 deletions(-)

New commits:
commit 37147e03918ed73c34e5a63bf775c98f0b9238ec
Author: Caolán McNamara 
AuthorDate: Mon Oct 25 20:39:41 2021 +0100
Commit: Caolán McNamara 
CommitDate: Thu Oct 28 14:40:57 2021 +0200

tdf#145296 better fix to launch dialog when active radiobutton is clicked

Uses a mouse-release workaround to detect the case of clicking on an
already active radiobutton which gives a result basically
indistinguishable from the pre 7.2 experience

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

diff --git a/svx/source/tbxctrls/extrusioncontrols.cxx 
b/svx/source/tbxctrls/extrusioncontrols.cxx
index 6e040da5b1dd..e51c479ffe43 100644
--- a/svx/source/tbxctrls/extrusioncontrols.cxx
+++ b/svx/source/tbxctrls/extrusioncontrols.cxx
@@ -341,6 +341,7 @@ 
ExtrusionDepthWindow::ExtrusionDepthWindow(svt::PopupWindowController* pControl,
 , meUnit(FieldUnit::NONE)
 , mfDepth( -1.0 )
 , mbSettingValue(false)
+, mbCommandDispatched(false)
 {
 mxDepth0->connect_toggled(LINK(this, ExtrusionDepthWindow, SelectHdl));
 mxDepth1->connect_toggled(LINK(this, ExtrusionDepthWindow, SelectHdl));
@@ -349,6 +350,7 @@ 
ExtrusionDepthWindow::ExtrusionDepthWindow(svt::PopupWindowController* pControl,
 mxDepth4->connect_toggled(LINK(this, ExtrusionDepthWindow, SelectHdl));
 mxInfinity->connect_toggled(LINK(this, ExtrusionDepthWindow, SelectHdl));
 mxCustom->connect_toggled(LINK(this, ExtrusionDepthWindow, SelectHdl));
+mxCustom->connect_mouse_release(LINK(this, ExtrusionDepthWindow, 
MouseReleaseHdl));
 
 AddStatusListener( gsExtrusionDepth );
 AddStatusListener( gsMetricUnit );
@@ -443,23 +445,33 @@ void ExtrusionDepthWindow::statusChanged(
 }
 }
 
+void ExtrusionDepthWindow::DispatchDepthDialog()
+{
+Sequence< PropertyValue > aArgs( 2 );
+aArgs[0].Name = "Depth";
+aArgs[0].Value <<= mfDepth;
+aArgs[1].Name = "Metric";
+aArgs[1].Value <<= static_cast( meUnit );
+
+rtl::Reference xControl(mxControl);
+xControl->EndPopupMode();
+xControl->dispatchCommand(".uno:ExtrusionDepthDialog", aArgs);
+mbCommandDispatched = true;
+}
+
 IMPL_LINK(ExtrusionDepthWindow, SelectHdl, weld::Toggleable&, rButton, void)
 {
 if (mbSettingValue || !rButton.get_active())
 return;
 
+// see MouseReleaseHdl for mbCommandDispatched check, there's no guarantee
+// this toggle will happen before that mouse release though it does in
+// practice for vcl and gtk
+if (mbCommandDispatched)
+return;
+
 if (mxCustom->get_active())
-{
-Sequence< PropertyValue > aArgs( 2 );
-aArgs[0].Name = "Depth";
-aArgs[0].Value <<= mfDepth;
-aArgs[1].Name = "Metric";
-aArgs[1].Value <<= static_cast( meUnit );
-
-rtl::Reference xControl(mxControl);
-xControl->EndPopupMode();
-xControl->dispatchCommand(".uno:ExtrusionDepthDialog", aArgs);
-}
+DispatchDepthDialog();
 else
 {
 double fDepth;
@@ -490,12 +502,31 @@ IMPL_LINK(ExtrusionDepthWindow, SelectHdl, 
weld::Toggleable&, rButton, void)
 aArgs[0].Value <<= fDepth;
 
 mxControl->dispatchCommand( gsExtrusionDepth,  aArgs );
+mbCommandDispatched = true;
 implSetDepth( fDepth );
 
 mxControl->EndPopupMode();
 }
 }
 
+IMPL_LINK_NOARG(ExtrusionDepthWindow, MouseReleaseHdl, const MouseEvent&, bool)
+{
+/*
+ tdf#145296 if the "custom" radiobutton was presented preselected as
+ toggled on and the user clicked on it then there's no toggled signal sent
+ because the item was already toggled on and didn't change state.
+
+ So if that happens launch the custom spacing dialog explicitly here on
+ mouse release.
+*/
+if (mxCustom->get_active() && !mbCommandDispatched)
+{
+DispatchDepthDialog();
+return true;
+}
+return false;
+}
+
 // ExtrusionDirectionControl
 ExtrusionDepthController::ExtrusionDepthController(
 const Reference< XComponentContext >& rxContext
diff --git a/svx/source/tbxctrls/extrusioncontrols.hxx 
b/svx/source/tbxctrls/extrusioncontrols.hxx
index 0f0f54dbf457..7e0043487274 100644
--- a/svx/source/tbxctrls/extrusioncontrols.hxx
+++ b/svx/source/tbxctrls/extrusioncontrols.hxx
@@ -104,12 +104,16 @@ private:
 FieldUnit   meUnit;
 double  mfDepth;
 boolmbSettingValue;
+boolmbCommandDispatched;
 
 DECL_LINK( SelectHdl, weld::Toggleable&, void );
+DECL_LINK( MouseReleaseHdl, const MouseEvent&, bool );
 
 voidimplFillStrings( FieldUnit eUnit );
 vo

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

2021-10-28 Thread Caolán McNamara (via logerrit)
 external/neon/configs/config.h |4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

New commits:
commit bbab833bd956e220db3548ddd0a00dfd30836de1
Author: Caolán McNamara 
AuthorDate: Thu Oct 28 10:07:00 2021 +0100
Commit: Caolán McNamara 
CommitDate: Thu Oct 28 14:41:17 2021 +0200

endian check in internal neon looks dubious

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

diff --git a/external/neon/configs/config.h b/external/neon/configs/config.h
index af8408ad9ad3..8f225a3296ad 100644
--- a/external/neon/configs/config.h
+++ b/external/neon/configs/config.h
@@ -1,5 +1,7 @@
 /* Contents kept in sync with config.h.in from neon 0.31.2 */
 
+#include 
+
 /* Define if building universal (internal helper macro) */
 /* #undef AC_APPLE_UNIVERSAL_BUILD */
 
@@ -521,7 +523,7 @@
 
 /* Define WORDS_BIGENDIAN to 1 if your processor stores words with the most
significant byte first (like Motorola and SPARC, unlike Intel). */
-#if defined(__sun) && defined(SPARC)
+#if defined OSL_BIGENDIAN
 #define WORDS_BIGENDIAN 1
 #endif
 


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

2021-10-28 Thread Jean-Pierre Ledure (via logerrit)
 wizards/source/sfdocuments/SF_Calc.xba  |2 +-
 wizards/source/sfdocuments/SF_Chart.xba |4 ++--
 2 files changed, 3 insertions(+), 3 deletions(-)

New commits:
commit 4f53fc260438591467c2b9dfc13eb76abeac3d9e
Author: Jean-Pierre Ledure 
AuthorDate: Thu Oct 28 12:05:35 2021 +0200
Commit: Jean-Pierre Ledure 
CommitDate: Thu Oct 28 15:15:01 2021 +0200

ScriptForge - (SF_Chart) fix Resize() method must return a Boolean

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

diff --git a/wizards/source/sfdocuments/SF_Calc.xba 
b/wizards/source/sfdocuments/SF_Calc.xba
index f8a13f927953..a816b96920a0 100644
--- a/wizards/source/sfdocuments/SF_Calc.xba
+++ b/wizards/source/sfdocuments/SF_Calc.xba
@@ -1017,7 +1017,7 @@ Try:
'  Create the chart and get ihe corresponding chart instance
oSheet.getCharts.addNewByName(ChartName, oRectangle, 
Array(oRange.XCellRange.RangeAddress), ColumnHeader, RowHeader)
Set oChart = Charts(SheetName, ChartName)
-   oChart._Shape.Name = ChartName  '  Both used-defined and 
internal names match ChartName
+   oChart._Shape.Name = ChartName  '  Both user-defined and 
internal names match ChartName
oChart._Diagram.Wall.FillColor = RGB(255, 255, 255) '  
Align on background color set by the user interface by default

 Finally:
diff --git a/wizards/source/sfdocuments/SF_Chart.xba 
b/wizards/source/sfdocuments/SF_Chart.xba
index 175fecfccaf8..a4cbf2f2ba28 100644
--- a/wizards/source/sfdocuments/SF_Chart.xba
+++ b/wizards/source/sfdocuments/SF_Chart.xba
@@ -137,7 +137,7 @@ End Property'  SFDocuments.SF_Chart.Dim3D (let)
 
 REM 
-
 Property Get Exploded() As Variant
-''' the offset by which pie segments in a PieDiagram are 
dragged outside from the center.
+''' the offset by which pie segments in a PieDiagram (pie 
or donut) are dragged outside from the center.
 ''' This value is given in percent of the radius.
Exploded = _PropertyGet("Exploded")
 End Property   '  SFDocuments.SF_Chart.Exploded (get)_ChartObject
@@ -417,7 +417,7 @@ Public Function Resize(Optional ByVal XPos As Variant _
, Optional 
ByVal YPos As Variant _
, Optional 
ByVal Width As Variant _
, Optional 
ByVal Height As Variant _
-   ) As String
+   ) As Boolean
 ''' Move the topleft corner of a chart to new coordinates 
and/or modify its dimensions
 ''' All distances are expressed in 1/100th mm
 ''' Args:


[Libreoffice-commits] core.git: configure.ac

2021-10-28 Thread Christian Lohmaier (via logerrit)
 configure.ac |9 ++---
 1 file changed, 2 insertions(+), 7 deletions(-)

New commits:
commit 6bbf36ff2dd0d213d5e8a374ff4138767c8d41de
Author: Christian Lohmaier 
AuthorDate: Thu Oct 28 12:18:59 2021 +0200
Commit: Christian Lohmaier 
CommitDate: Thu Oct 28 15:43:48 2021 +0200

Don't auto-enable --enable-online-update for Win/Mac

newcomers will run into the need to specify --with-privacy-policy-url
and besides that the update server won't know about the build done/will
be useless without also using your own update-check server.

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

diff --git a/configure.ac b/configure.ac
index a810ba0b88af..f0cca1285c76 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1769,7 +1769,7 @@ AC_ARG_ENABLE(ccache,
 libo_FUZZ_ARG_ENABLE(online-update,
 AS_HELP_STRING([--enable-online-update],
 [Enable the online update service that will check for new versions of
- LibreOffice. By default, it is enabled on Windows and Mac, disabled 
on Linux.
+ LibreOffice. Disabled by default. Requires --with-privacy-policy-url 
to be set.
  If the value is "mar", the experimental Mozilla-like update will be
  enabled instead of the traditional update mechanism.]),
 ,)
@@ -13228,12 +13228,7 @@ ENABLE_ONLINE_UPDATE=
 ENABLE_ONLINE_UPDATE_MAR=
 UPDATE_CONFIG=
 if test "$enable_online_update" = ""; then
-if test "$_os" = "WINNT" -o "$_os" = "Darwin"; then
-AC_MSG_RESULT([yes])
-ENABLE_ONLINE_UPDATE="TRUE"
-else
-AC_MSG_RESULT([no])
-fi
+AC_MSG_RESULT([no])
 else
 if test "$enable_online_update" = "mar"; then
 AC_MSG_RESULT([yes - MAR-based online update])


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

2021-10-28 Thread Stephan Bergmann (via logerrit)
 tools/qa/cppunit/test_cpu_runtime_detection_AVX2_check.cxx  |2 ++
 tools/qa/cppunit/test_cpu_runtime_detection_SSE2_check.cxx  |2 ++
 tools/qa/cppunit/test_cpu_runtime_detection_SSSE3_check.cxx |2 ++
 3 files changed, 6 insertions(+)

New commits:
commit d9bc3affb57fa0f2d7676f02fb02d7da40365b37
Author: Stephan Bergmann 
AuthorDate: Thu Oct 28 12:02:00 2021 +0200
Commit: Stephan Bergmann 
CommitDate: Thu Oct 28 15:48:06 2021 +0200

-Werror,-Wunused-macros

(when e.g. building natively on macOS ARM64)

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

diff --git a/tools/qa/cppunit/test_cpu_runtime_detection_AVX2_check.cxx 
b/tools/qa/cppunit/test_cpu_runtime_detection_AVX2_check.cxx
index 39c18e5314e0..7ed8495f36e2 100644
--- a/tools/qa/cppunit/test_cpu_runtime_detection_AVX2_check.cxx
+++ b/tools/qa/cppunit/test_cpu_runtime_detection_AVX2_check.cxx
@@ -19,7 +19,9 @@
  * handle it, and don't include any headers that contain templates
  * or inline functions, which includes cppunit.
  */
+#ifdef LO_AVX2_AVAILABLE
 #define CPPUNIT_ASSERT_EQUAL(a, b) ((a) == (b) ? (void)0 : abort())
+#endif
 
 void CpuRuntimeDetectionX86Checks::checkAVX2()
 {
diff --git a/tools/qa/cppunit/test_cpu_runtime_detection_SSE2_check.cxx 
b/tools/qa/cppunit/test_cpu_runtime_detection_SSE2_check.cxx
index 4b706cd5c1de..7f14e1b51789 100644
--- a/tools/qa/cppunit/test_cpu_runtime_detection_SSE2_check.cxx
+++ b/tools/qa/cppunit/test_cpu_runtime_detection_SSE2_check.cxx
@@ -19,7 +19,9 @@
  * handle it, and don't include any headers that contain templates
  * or inline functions, which includes cppunit.
  */
+#ifdef LO_SSE2_AVAILABLE
 #define CPPUNIT_ASSERT_EQUAL(a, b) ((a) == (b) ? (void)0 : abort())
+#endif
 void CpuRuntimeDetectionX86Checks::checkSSE2()
 {
 #ifdef LO_SSE2_AVAILABLE
diff --git a/tools/qa/cppunit/test_cpu_runtime_detection_SSSE3_check.cxx 
b/tools/qa/cppunit/test_cpu_runtime_detection_SSSE3_check.cxx
index 5e7c0b3e2a75..9a93dadea79c 100644
--- a/tools/qa/cppunit/test_cpu_runtime_detection_SSSE3_check.cxx
+++ b/tools/qa/cppunit/test_cpu_runtime_detection_SSSE3_check.cxx
@@ -19,7 +19,9 @@
  * handle it, and don't include any headers that contain templates
  * or inline functions, which includes cppunit.
  */
+#ifdef LO_SSSE3_AVAILABLE
 #define CPPUNIT_ASSERT_EQUAL(a, b) ((a) == (b) ? (void)0 : abort())
+#endif
 void CpuRuntimeDetectionX86Checks::checkSSSE3()
 {
 #ifdef LO_SSSE3_AVAILABLE


ESC meeting minutes: 2021-10-28

2021-10-28 Thread Stephan Bergmann

* Present:
+ Caolan, Cloph, Gabriel, Hossein, Michael S., Xisco, Stephan

* Completed Action Items:
+ flip the Online update default on macOS and Windows (Cloph)

* Pending Action Items:
+ give code pointers to Hossein to filter this out [translation bugs in
  contributor stats] on the scripting side (Xisco)

* Release Engineering update (Cloph)
+ 7.1 status: 7.1.7 rc2 this week, tagged, builds running
+ 7.2 status: 7.2.3 rc1 in 1 week
+ 7.3 alpha1: this week (no branch-off yet), rc1 around Christmas
+ Remotes: Android (has new translations, though), iOS
+ Android viewer

* Documentation (Olivier, missing)
+ Bugzilla Documentation statistics
256(256) bugs open
+ Updates:
BZ changes   1 week   1 month3 months   12 months
created  11(11)   44(44) 121(121)   354(354)
commented20(20)   115(115)   429(429)   1762(1762)
resolved 2(2) 15(15) 53(53) 214(214)
+ top 10 contributors:
  Olivier Hallot made 40 changes in 1 month, and 452 changes in 
1 year

  Rafael Lima made 36 changes in 1 month, and 231 changes in 1 year
  Ross Johnson made 18 changes in 1 month, and 49 changes in 1 year
  Dieter made 13 changes in 1 month, and 135 changes in 1 year
  Rathke, Eike made 13 changes in 1 month, and 20 changes in 1 year
  Telesto made 11 changes in 1 month, and 40 changes in 1 year
  Xisco Fauli made 9 changes in 1 month, and 101 changes in 1 year
  Robert Großkopf made 8 changes in 1 month, and 8 changes in 1 
year
  Tomoyuki Kubota made 7 changes in 1 month, and 23 changes in 
1 year

  Alex Sims made 6 changes in 1 month, and 6 changes in 1 year

* UX Update (Heiko on vacation)
+ Bugzilla (topicUI) statistics
256(256) (topicUI) bugs open, 159(159) (needsUXEval) needs to 
be evaluated by the UXteam

+ Updates:
BZ changes   1 week   1 month3 months   12 months
added9(7) 17(4)  33(-1) 94(5)
commented44(6)181(-20)   628(-11)   3167(-38)
removed  1(0) 2(1)   6(1)   37(1)
resolved 3(-6)27(1)  89(2)  463(-6)
+ top 10 contributors:
  Heiko Tietze made 130 changes in 1 month, and 2206 changes in 
1 year
  Foote, V Stuart made 75 changes in 1 month, and 595 changes 
in 1 year

  Telesto made 30 changes in 1 month, and 632 changes in 1 year
  Roman Kuznetsov made 29 changes in 1 month, and 237 changes 
in 1 year

  Dieter made 23 changes in 1 month, and 288 changes in 1 year
  Ilmari Lauhakangas made 10 changes in 1 month, and 382 
changes in 1 year

  Xisco Fauli made 10 changes in 1 month, and 176 changes in 1 year
  Kaganski, Mike made 9 changes in 1 month, and 160 changes in 
1 year

  Timur made 8 changes in 1 month, and 120 changes in 1 year
  Kevin Suo made 7 changes in 1 month, and 22 changes in 1 year

* Crash Testing (Caolan)
+ 7(+0) import failure, 4(+0) export failures
+ 1 coverity issue
 quikee is having a look
+ 5 ossfuzz issues
  - 5 Timeouts, 4 are true hangs

* Crash Reporting (Xisco)
   + https://crashreport.libreoffice.org/stats/version/7.1.6.2
 + (+129) 1145 1016 930 906 650 210 0
   + https://crashreport.libreoffice.org/stats/version/7.2.1.2
 + (-241) 1827 2068 2209 2042 1450 0
   + https://crashreport.libreoffice.org/stats/version/7.2.2.2
 + (+382) 1134 752 0

* Mentoring/EasyHack update (Hossein)
committer...  1 week 1 month 3 months12 months
  open161(107)   194(22) 247(21) 292(19)
  reviews 382(50)1274(6) 3636(30)8478(202)
  merged  292(52)1209(44)3656(64)10062(331)
  abandoned   12(3)  46(6)   170(-4) 510(11)
  own commits 210(-10)   962(-35)2992(-44)   12666(-24)
  review commits  85(35) 287(40) 913(17) 4295(-8)
contributor...1 week 1 month 3 months12 months
  open34(2)  69(-3)  132(-3) 169(-3)
  reviews 710(32)2848(52)8360(128)   22194(660)
  merged  26(-1) 131(3)  358(16) 913(31)
  abandoned   0(-4)  41(-5)  125(-3) 320(-1)
  own commits 38(24) 107(27) 328(24) 1940(-11)
  review commits  0(0)   0(0)0(0)0(0)
+ easyHack statistics:
   needsDevEval 8(8)   needsUXEval 1(1)   cleanup_comments 274(274)
   total 328(328)   assigned 26(26)   open 274(274)
+ will probably add 2–3 new easy hacks next week
+ working with mentees
+ top 10 contributors:
  Johnny_M made 50 patches in 1 month, and 751 patches in 1 year
  Ross Johnson made 10 patches in 1 month, and 24 patches in 1 year
  Srebotnjak, Martin made 6 patches in 1 month, and

Re: ESC meeting minutes: 2021-10-28

2021-10-28 Thread Luboš Luňák
On Thursday 28 of October 2021, Stephan Bergmann wrote:
> + tests that failed more than twice in last seven days
>3 CppunitTest_sc_ucalc_copypaste   gerrit_windows
>3 CppunitTest_smoketestgerrit_linux_clang_dbgutil
>3 CppunitTest_xmlsecurity_signing  
> gerrit_linux_clang_dbgutil
>3 UITest_calc_tests8   gerrit_linux_clang_dbgutil
>3 UITest_writer_tests3 gerrit_linux_clang_dbgutil
>4 CppunitTest_sc_ucalc_sharedformula   gerrit_windows
>6 UITest_writer_tests7 gerrit_linux_clang_dbgutil
>   15 Killed by the kill-wrapper   gerrit_linux_clang_dbgutil

 FWIW, I think those Calc Windows failures were all tb68-bytemark failing on 
illegal instruction, and https://gerrit.libreoffice.org/c/core/+/124249 has 
already taken care of it.

 Had nobody noticed that before? It seems likely that tb68-bytemark was 
consistently failing every master build since May.

-- 
 Luboš Luňák
 l.lu...@collabora.com


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

2021-10-28 Thread Caolán McNamara (via logerrit)
 svx/uiconfig/ui/toolbarpopover.ui |2 --
 1 file changed, 2 deletions(-)

New commits:
commit a93329244a7d24b8a89d8f287b6123e56d13786d
Author: Caolán McNamara 
AuthorDate: Thu Oct 28 14:23:36 2021 +0100
Commit: Caolán McNamara 
CommitDate: Thu Oct 28 18:14:05 2021 +0200

gtk[3 vs 4]: remove can-focus entirely from toolbarpopover.ui

so tab-cycling inside sidebar popovers work as wanted

In gtk3 a can-focus of True means that tab-cycling doesn't work
correctly as the container is seen as a candidate itself

In gtk4 a can-focus of False means that focus cannot enter any
child of it.

So it needs to be false for gtk3 and true for gtk4, leaving it
unspecified gets a desired working default.

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

diff --git a/svx/uiconfig/ui/toolbarpopover.ui 
b/svx/uiconfig/ui/toolbarpopover.ui
index 3a0f83bf3405..d7684d73ebe7 100644
--- a/svx/uiconfig/ui/toolbarpopover.ui
+++ b/svx/uiconfig/ui/toolbarpopover.ui
@@ -3,13 +3,11 @@
 
   
   
-True
 True
 4
 
   
 True
-True
 vertical
 6
 


[Libreoffice-commits] core.git: Branch 'distro/collabora/co-2021' - xmlsecurity/qa xmlsecurity/source

2021-10-28 Thread Tomaž Vajngerl (via logerrit)
 xmlsecurity/qa/unit/signing/signing.cxx   |  136 --
 xmlsecurity/source/helper/documentsignaturehelper.cxx |2 
 xmlsecurity/source/helper/ooxmlsecexporter.cxx|4 
 xmlsecurity/source/helper/xsecctl.cxx |   23 +--
 xmlsecurity/source/helper/xsecsign.cxx|   10 -
 5 files changed, 152 insertions(+), 23 deletions(-)

New commits:
commit b883bc9d8ca4a9c6037166b2eff09095aef145e0
Author: Tomaž Vajngerl 
AuthorDate: Wed Oct 27 14:15:17 2021 +0200
Commit: Tomaž Vajngerl 
CommitDate: Thu Oct 28 19:09:14 2021 +0200

xmlsec: signing the document fails the 3rd time (invalid signature)

Signing the document 3 or more times produces an invalid signature.
The cause of this is that xmlsec is confused because we have 3
signatures, which all have the same SignedProperties with the ID
"idSignedProperties", but it expect them to be unique.

This issue is fixed by making the ID unique with adding the ID of
the Signature to the SignedProperties ID, so this makes them unique
inside the same Signature.

Also UnsignedProperties have a unique ID usign the same approach,
but they aren't referenced - luckily.

Change-Id: I53c7249a82fc0623586548db9fa25bdc0e7c4101
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/124278
Tested-by: Jenkins
Reviewed-by: Tomaž Vajngerl 
(cherry picked from commit fd5463343ab7f784070f1ab87a345eed20803d07)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/124327
Tested-by: Jenkins CollaboraOffice 

diff --git a/xmlsecurity/qa/unit/signing/signing.cxx 
b/xmlsecurity/qa/unit/signing/signing.cxx
index 9695a84af3bf..3f632366bf94 100644
--- a/xmlsecurity/qa/unit/signing/signing.cxx
+++ b/xmlsecurity/qa/unit/signing/signing.cxx
@@ -937,13 +937,13 @@ CPPUNIT_TEST_FIXTURE(SigningTest, testXAdESNotype)
 // attribute", i.e. the signature without such an attribute was not 
preserved correctly.
 assertXPathNoAttribute(pXmlDoc,

"/odfds:document-signatures/dsig:Signature[1]/dsig:SignedInfo/"
-   "dsig:Reference[@URI='#idSignedProperties']",
+   "dsig:Reference[starts-with(@URI, 
'#idSignedProperties')]",
"Type");
 
 // New signature always has the Type attribute.
 assertXPath(pXmlDoc,
 "/odfds:document-signatures/dsig:Signature[2]/dsig:SignedInfo/"
-"dsig:Reference[@URI='#idSignedProperties']",
+"dsig:Reference[starts-with(@URI, '#idSignedProperties')]",
 "Type", "http://uri.etsi.org/01903#SignedProperties";);
 }
 
@@ -1002,12 +1002,132 @@ CPPUNIT_TEST_FIXTURE(SigningTest, testXAdES)
 // Assert that the digest of the signing certificate is included.
 assertXPath(pXmlDoc, "//xd:CertDigest", 1);
 
-// Assert that the Type attribute on the idSignedProperties reference is
-// not missing.
-assertXPath(pXmlDoc,
-"/odfds:document-signatures/dsig:Signature/dsig:SignedInfo/"
-"dsig:Reference[@URI='#idSignedProperties']",
-"Type", "http://uri.etsi.org/01903#SignedProperties";);
+// Assert that the Type attribute is set on all URI's that start with 
#idSignedProperties
+assertXPath(pXmlDoc, "//dsig:Reference[starts-with(@URI, 
'#idSignedProperties')]", "Type",
+"http://uri.etsi.org/01903#SignedProperties";);
+}
+
+CPPUNIT_TEST_FIXTURE(SigningTest, testSigningMultipleTimes_ODT)
+{
+createDoc("");
+
+utl::TempFile aTempFile;
+aTempFile.EnableKillingFile();
+uno::Reference xStorable(mxComponent, uno::UNO_QUERY);
+utl::MediaDescriptor aMediaDescriptor;
+aMediaDescriptor["FilterName"] <<= OUString("writer8");
+xStorable->storeAsURL(aTempFile.GetURL(), 
aMediaDescriptor.getAsConstPropertyValueList());
+
+DocumentSignatureManager aManager(mxComponentContext, 
DocumentSignatureMode::Content);
+CPPUNIT_ASSERT(aManager.init());
+uno::Reference xStorage
+= comphelper::OStorageHelper::GetStorageOfFormatFromURL(
+ZIP_STORAGE_FORMAT_STRING, aTempFile.GetURL(), 
embed::ElementModes::READWRITE);
+CPPUNIT_ASSERT(xStorage.is());
+aManager.setStore(xStorage);
+aManager.getSignatureHelper().SetStorage(xStorage, "1.2");
+
+// Create a signature.
+uno::Reference xCertificate
+= getCertificate(aManager, svl::crypto::SignatureMethodAlgorithm::RSA);
+if (!xCertificate.is())
+return;
+sal_Int32 nSecurityId;
+aManager.add(xCertificate, mxSecurityContext, /*rDescription=*/OUString(), 
nSecurityId,
+ /*bAdESCompliant=*/true);
+
+// Read back the signature and make sure that it's valid.
+aManager.read(/*bUseTempStream=*/true);
+{
+std::vector& rInformations
+= aManager.getCurrentSignatureInformations();
+CPPUNIT_ASSERT_EQUAL(static_cast(1), 
rInformations.si

[Libreoffice-commits] core.git: 2 commits - basctl/source include/com include/comphelper include/oox include/toolkit include/vbahelper

2021-10-28 Thread Mike Kaganski (via logerrit)
 basctl/source/basicide/baside3.cxx   |3 ++-
 basctl/source/dlged/dlged.cxx|   20 
 basctl/source/dlged/dlgedobj.cxx |3 +--
 basctl/source/dlged/managelang.cxx   |3 ++-
 include/com/sun/star/uno/Sequence.hxx|3 ++-
 include/comphelper/sequence.hxx  |   10 ++
 include/oox/helper/containerhelper.hxx   |3 ++-
 include/toolkit/helper/macros.hxx|2 +-
 include/vbahelper/vbahelperinterface.hxx |7 +--
 9 files changed, 25 insertions(+), 29 deletions(-)

New commits:
commit dd97bfce9900e6bae40eece36124f8b22e70ff47
Author: Mike Kaganski 
AuthorDate: Thu Oct 28 16:03:49 2021 +0300
Commit: Mike Kaganski 
CommitDate: Thu Oct 28 20:09:27 2021 +0200

Prepare for removal of non-const operator[] from Sequence in basctl

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

diff --git a/basctl/source/basicide/baside3.cxx 
b/basctl/source/basicide/baside3.cxx
index 085228971eae..23eb5ab1e0eb 100644
--- a/basctl/source/basicide/baside3.cxx
+++ b/basctl/source/basicide/baside3.cxx
@@ -1010,13 +1010,14 @@ bool implImportDialog(weld::Window* pWin, const 
ScriptDocument& rDocument, const
 if( nOnlyInImportLanguageCount > 1 )
 {
 Sequence< lang::Locale > aRemainingLocaleSeq( 
nOnlyInImportLanguageCount - 1 );
+auto pRemainingLocaleSeq = 
aRemainingLocaleSeq.getArray();
 lang::Locale aTmpLocale;
 int iSeq = 0;
 for( int i = 0 ; i < nOnlyInImportLanguageCount ; ++i )
 {
 aTmpLocale = aOnlyInImportLanguages[i];
 if( !localesAreEqual( aFirstLocale, aTmpLocale ) )
-aRemainingLocaleSeq[iSeq++] = aTmpLocale;
+pRemainingLocaleSeq[iSeq++] = aTmpLocale;
 }
 pCurMgr->handleAddLocales( aRemainingLocaleSeq );
 }
diff --git a/basctl/source/dlged/dlged.cxx b/basctl/source/dlged/dlged.cxx
index 203fa9cc44b9..13ff7a17ca36 100644
--- a/basctl/source/dlged/dlged.cxx
+++ b/basctl/source/dlged/dlged.cxx
@@ -182,8 +182,14 @@ DlgEditor::DlgEditor (
 ,pVScroll(nullptr)
 ,pDlgEdModel(new DlgEdModel())
 ,pDlgEdPage(new DlgEdPage(*pDlgEdModel))
-,m_ClipboardDataFlavors(1)
-,m_ClipboardDataFlavorsResource(2)
+// set clipboard data flavors
+,m_ClipboardDataFlavors{ { /* MimeType */ "application/vnd.sun.xml.dialog",
+   /* HumanPresentableName */ "Dialog 6.0",
+   /* DataType */ cppu::UnoType>::get() } }
+,m_ClipboardDataFlavorsResource{ m_ClipboardDataFlavors[0],
+ { /* MimeType */ 
"application/vnd.sun.xml.dialogwithresource",
+   /* HumanPresentableName */ "Dialog 8.0",
+   /* DataType */ cppu::UnoType>::get() } }
 ,pObjFac(new DlgEdFactory(xModel))
 ,rWindow(rWindow_)
 ,pFunc(new DlgEdFuncSelect(*this))
@@ -207,16 +213,6 @@ DlgEditor::DlgEditor (
 
 pDlgEdModel->InsertPage(pDlgEdPage);
 
-// set clipboard data flavors
-m_ClipboardDataFlavors[0].MimeType = 
"application/vnd.sun.xml.dialog" ;
-m_ClipboardDataFlavors[0].HumanPresentableName = "Dialog 6.0" ;
-m_ClipboardDataFlavors[0].DataType = cppu::UnoType>::get();
-
-m_ClipboardDataFlavorsResource[0] =  
m_ClipboardDataFlavors[0];
-m_ClipboardDataFlavorsResource[1].MimeType = 
"application/vnd.sun.xml.dialogwithresource" ;
-m_ClipboardDataFlavorsResource[1].HumanPresentableName = "Dialog 8.0" ;
-m_ClipboardDataFlavorsResource[1].DataType = 
cppu::UnoType>::get();
-
 aMarkIdle.SetInvokeHandler( LINK( this, DlgEditor, MarkTimeout ) );
 
 rWindow.SetMapMode( MapMode( MapUnit::Map100thMM ) );
diff --git a/basctl/source/dlged/dlgedobj.cxx b/basctl/source/dlged/dlgedobj.cxx
index 6353ddf9ecd6..c9ae1de4ae6e 100644
--- a/basctl/source/dlged/dlgedobj.cxx
+++ b/basctl/source/dlged/dlgedobj.cxx
@@ -1685,8 +1685,7 @@ void DlgEdObj::MakeDataAware( const Reference< 
frame::XModel >& xModel )
 aValue.Name = "BoundCell";
 aValue.Value <<= aApiAddress;
 
-Sequence< Any > aArgs( 1 );
-aArgs[ 0 ] <<= aValue;
+Sequence< Any > aArgs{ Any(aValue) };
 
 if ( xBindable.is() )
 {
diff --git a/basctl/source/dlged/managelang.cxx 
b/basctl/source/dlged/managelang.cxx
index d36c23803e7a..c7cd423cccee 100644
--- a/basctl/source/dlged/managelang.cxx
+++ b/basctl/source/dlged/managelang.cxx
@@ -162,12 +162,13 @@ IMPL_LINK_NOARG(ManageLanguageDialog, DeleteHdl, 
weld::Button&, void)
 int

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

2021-10-28 Thread Mike Kaganski (via logerrit)
 accessibility/source/extended/AccessibleGridControlTable.cxx |3 -
 accessibility/source/extended/AccessibleGridControlTableBase.cxx |3 -
 accessibility/source/standard/vclxaccessiblemenuitem.cxx |   22 
+-
 3 files changed, 17 insertions(+), 11 deletions(-)

New commits:
commit ada320547db4c7ddbb05d10df4140ea988f29973
Author: Mike Kaganski 
AuthorDate: Thu Oct 28 16:01:34 2021 +0300
Commit: Mike Kaganski 
CommitDate: Thu Oct 28 20:09:41 2021 +0200

Prepare for removal of non-const operator[] from Sequence in accessibility

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

diff --git a/accessibility/source/extended/AccessibleGridControlTable.cxx 
b/accessibility/source/extended/AccessibleGridControlTable.cxx
index ffb8108d0f24..8938ba83a122 100644
--- a/accessibility/source/extended/AccessibleGridControlTable.cxx
+++ b/accessibility/source/extended/AccessibleGridControlTable.cxx
@@ -238,8 +238,9 @@ void SAL_CALL 
AccessibleGridControlTable::selectAllAccessibleChildren()
 
 ensureIsAlive();
 Sequence< sal_Int32 > selectedRows = getSelectedAccessibleRows();
+auto selectedRowsRange = asNonConstRange(selectedRows);
 for(tools::Long i=0; i&
 {
 sal_Int32 const selectionCount( m_aTable.GetSelectedRowCount() );
 rSeq.realloc( selectionCount );
+auto pSeq = rSeq.getArray();
 for ( sal_Int32 i=0; i 
VCLXAccessibleMenuItem::getAccessibleActionKe
 {
 Reference< XAccessibleContext > xParentContext( 
xParent->getAccessibleContext() );
 if ( xParentContext.is() && xParentContext->getAccessibleRole() == 
AccessibleRole::MENU_BAR )
-aSeq1[0].Modifiers |= awt::KeyModifier::MOD2;
+aSeq1.getArray()[0].Modifiers |= awt::KeyModifier::MOD2;
 }
 pKeyBindingHelper->AddKeyBinding( aSeq1 );
 
@@ -490,14 +490,18 @@ Reference< XAccessibleKeyBinding > 
VCLXAccessibleMenuItem::getAccessibleActionKe
 static_cast< sal_Int16 >(aAccelKeyCode.GetFunction())
 }
 };
-if ( aAccelKeyCode.IsShift() )
-aSeq3[0].Modifiers |= awt::KeyModifier::SHIFT;
-if ( aAccelKeyCode.IsMod1() )
-aSeq3[0].Modifiers |= awt::KeyModifier::MOD1;
-if ( aAccelKeyCode.IsMod2() )
-aSeq3[0].Modifiers |= awt::KeyModifier::MOD2;
-if ( aAccelKeyCode.IsMod3() )
-aSeq3[0].Modifiers |= awt::KeyModifier::MOD3;
+if (aAccelKeyCode.GetModifier() != 0)
+{
+auto pSeq3 = aSeq3.getArray();
+if ( aAccelKeyCode.IsShift() )
+pSeq3[0].Modifiers |= awt::KeyModifier::SHIFT;
+if ( aAccelKeyCode.IsMod1() )
+pSeq3[0].Modifiers |= awt::KeyModifier::MOD1;
+if ( aAccelKeyCode.IsMod2() )
+pSeq3[0].Modifiers |= awt::KeyModifier::MOD2;
+if ( aAccelKeyCode.IsMod3() )
+pSeq3[0].Modifiers |= awt::KeyModifier::MOD3;
+}
 pKeyBindingHelper->AddKeyBinding( aSeq3 );
 }
 }


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

2021-10-28 Thread Mike Kaganski (via logerrit)
 avmedia/source/framework/mediaitem.cxx |   22 ++
 avmedia/source/viewer/mediawindow_impl.cxx |9 +
 2 files changed, 15 insertions(+), 16 deletions(-)

New commits:
commit eee0b76a8c3dab62d1751db2f29f7f075c65b0c5
Author: Mike Kaganski 
AuthorDate: Thu Oct 28 16:02:46 2021 +0300
Commit: Mike Kaganski 
CommitDate: Thu Oct 28 20:09:59 2021 +0200

Prepare for removal of non-const operator[] from Sequence in avmedia

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

diff --git a/avmedia/source/framework/mediaitem.cxx 
b/avmedia/source/framework/mediaitem.cxx
index b2b2b8d72b82..127ad8af243f 100644
--- a/avmedia/source/framework/mediaitem.cxx
+++ b/avmedia/source/framework/mediaitem.cxx
@@ -133,18 +133,16 @@ bool MediaItem::GetPresentation( SfxItemPresentation,
 
 bool MediaItem::QueryValue( css::uno::Any& rVal, sal_uInt8 ) const
 {
-uno::Sequence< uno::Any > aSeq( 10 );
-
-aSeq[ 0 ] <<= m_pImpl->m_URL;
-aSeq[ 1 ] <<= static_cast(m_pImpl->m_nMaskSet);
-aSeq[ 2 ] <<= static_cast< sal_Int32 >( m_pImpl->m_eState );
-aSeq[ 3 ] <<= m_pImpl->m_fTime;
-aSeq[ 4 ] <<= m_pImpl->m_fDuration;
-aSeq[ 5 ] <<= m_pImpl->m_nVolumeDB;
-aSeq[ 6 ] <<= m_pImpl->m_bLoop;
-aSeq[ 7 ] <<= m_pImpl->m_bMute;
-aSeq[ 8 ] <<= m_pImpl->m_eZoom;
-aSeq[ 9 ] <<= m_pImpl->m_sMimeType;
+uno::Sequence< uno::Any > aSeq{ uno::Any(m_pImpl->m_URL),
+
uno::Any(static_cast(m_pImpl->m_nMaskSet)),
+uno::Any(static_cast< sal_Int32 >( 
m_pImpl->m_eState )),
+uno::Any(m_pImpl->m_fTime),
+uno::Any(m_pImpl->m_fDuration),
+uno::Any(m_pImpl->m_nVolumeDB),
+uno::Any(m_pImpl->m_bLoop),
+uno::Any(m_pImpl->m_bMute),
+uno::Any(m_pImpl->m_eZoom),
+uno::Any(m_pImpl->m_sMimeType) };
 
 rVal <<= aSeq;
 
diff --git a/avmedia/source/viewer/mediawindow_impl.cxx 
b/avmedia/source/viewer/mediawindow_impl.cxx
index 2637eedf8147..fcc06488e913 100644
--- a/avmedia/source/viewer/mediawindow_impl.cxx
+++ b/avmedia/source/viewer/mediawindow_impl.cxx
@@ -415,7 +415,6 @@ void MediaWindowImpl::onURLChanged()
 if (mxPlayer.is())
 {
 Resize();
-uno::Sequence aArgs( 3 );
 uno::Reference xPlayerWindow;
 const Point aPoint;
 const Size aSize(mpChildWindow->GetSizePixel());
@@ -425,9 +424,11 @@ void MediaWindowImpl::onURLChanged()
 // tdf#139609 gtk doesn't need the handle, and fetching it is 
undesirable
 if (!pEnvData || pEnvData->toolkit != SystemEnvData::Toolkit::Gtk)
 nParentWindowHandle = mpChildWindow->GetParentWindowHandle();
-aArgs[0] <<= nParentWindowHandle;
-aArgs[1] <<= awt::Rectangle(aPoint.X(), aPoint.Y(), aSize.Width(), 
aSize.Height());
-aArgs[2] <<= reinterpret_cast(mpChildWindow.get());
+uno::Sequence aArgs{
+uno::Any(nParentWindowHandle),
+uno::Any(awt::Rectangle(aPoint.X(), aPoint.Y(), aSize.Width(), 
aSize.Height())),
+uno::Any(reinterpret_cast(mpChildWindow.get()))
+};
 
 try
 {


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

2021-10-28 Thread Michael Weghorn (via logerrit)
 vcl/unx/gtk3/a11y/atkselection.cxx |8 +++-
 1 file changed, 7 insertions(+), 1 deletion(-)

New commits:
commit eec233bf33ac0d9ac1ba0ecc669a5ecf58626ef2
Author: Michael Weghorn 
AuthorDate: Tue Oct 26 16:51:35 2021 +0200
Commit: Michael Weghorn 
CommitDate: Thu Oct 28 20:36:14 2021 +0200

gtk3 a11y: Use correct index when deselecting child

The AT-SPI selection interface provides two functions
to unselect:

 gboolean atspi_selection_deselect_selected_child (AtspiSelection *obj, 
gint selected_child_index, GError **error);
 gboolean atspi_selection_deselect_child (AtspiSelection *obj, gint 
child_index, GError **error);

For the first one, 'atspi_selection_deselect_selected_child',
"child_index is the index in the selected-children list,
not the index in the parent container." [1]

For the second one, 'atspi_selection_deselect_child',
"child_index is the index of the child in the parent container". [2]

ATKSelection, on the other hand, only has

gboolean
atk_selection_remove_selection (AtkSelection *selection,
gint i);

where the index 'i' is "a gint specifying the index in the selection set.
(e.g. the ith selection as opposed to the ith child)." [3]

That means, the meaning of the index in
'atk_selection_remove_selection' is the same as in
'atspi_selection_deselect_selected_child', while
'XAccessibleSelection::deselectAccessibleChild' expects
an index in the parent container, not in the selection
set.

Therefore, convert the index from an index in the
selection to a child index first before passing
it into 'XAccessibleSelection::deselectAccessibleChild'.

(For ATK, the mapping from the two AT-SPI to the
ATK function is done in libatk-bridge.)

Example to reproduce wrong behaviour without this
change in place:

1) select cells B1 to E5 in Calc
2) start Accerciser
3) select the Calc table in Accerciser
4) get AT-SPI selection interface for the table by typing the following
   in the IPython Console in Accerciser:

sel = acc.querySelection()

5) check whether child 0 (i.e. cell A1) is selected

In : sel.isChildSelected(0)
Out: False

-> OK

6) check whether child 1 (i.e. cell B1) is selected:

In : sel.isChildSelected(1)
Out: True

-> OK

7a) try to unselect cell B1:
In : sel.deselectChild(1)
Out: True

-> NOK: selection remains unchanged, cell B1 is still selected

Alternatively, intead of step 7a:
7b) try to unselect cell C1 (2nd item in the selection):

In : sel.deselectSelectedChild(1)
Out: True

-> NOK: cell B1 gets unselected instead of C1

[1] 
https://developer-old.gnome.org/libatspi/unstable/libatspi-atspi-selection.html#atspi-selection-deselect-selected-child
[2] 
https://developer-old.gnome.org/libatspi/unstable/libatspi-atspi-selection.html#atspi-selection-deselect-child
[3] 
https://gnome.pages.gitlab.gnome.org/atk/AtkSelection.html#atk-selection-remove-selection

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

diff --git a/vcl/unx/gtk3/a11y/atkselection.cxx 
b/vcl/unx/gtk3/a11y/atkselection.cxx
index 91759e8d0b21..22d515f1b6fa 100644
--- a/vcl/unx/gtk3/a11y/atkselection.cxx
+++ b/vcl/unx/gtk3/a11y/atkselection.cxx
@@ -141,7 +141,13 @@ selection_remove_selection( AtkSelection *selection,
 = getSelection( selection );
 if( pSelection.is() )
 {
-pSelection->deselectAccessibleChild( i );
+css::uno::Reference xAcc = 
pSelection->getSelectedAccessibleChild(i);
+if (!xAcc.is())
+return false;
+
+css::uno::Reference 
xAccContext = xAcc->getAccessibleContext();
+const sal_Int32 nChildIndex = 
xAccContext->getAccessibleIndexInParent();
+pSelection->deselectAccessibleChild(nChildIndex);
 return true;
 }
 }


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

2021-10-28 Thread Michael Weghorn (via logerrit)
 offapi/com/sun/star/accessibility/XAccessibleSelection.idl |5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)

New commits:
commit d13307b93bfc21c7e5996c43e359906c255b0830
Author: Michael Weghorn 
AuthorDate: Thu Oct 28 14:01:04 2021 +0200
Commit: Michael Weghorn 
CommitDate: Thu Oct 28 20:36:30 2021 +0200

XAccessibleSelection: Don't reference non-existing methods in doc

There are no 'XAccessibleSelection::deselectSelectedChild'
and 'XAccessibleSelection::getSelectedChild' methods, so don't
mention them in the documentation for
'getSelectedAccessibleChildCount'.

First, there's 'XAccessibleSelection::getSelectedAccessibleChild',
but not 'XAccessibleSelection::getSelectedChild', so update that
accordingly.

Second, there's no 'XAccessibleSelection::deselectSelectedChild',
and 'XAccessibleSelection::deselectAccessibleChild' doesn't take an
index into the selection, but a child index, s. its documentation
and the commit message of pending Gerrit change
Change-Id: I3c63c647e61baaa6288ffd545d8d89d8b94231de
("gtk3 a11y: Use correct index when deselecting child")
on how the semantics of AT-SPI functions with corresponding
names differ.

(The comment was added in

commit daacf7ed0bc8a1a2447c4b1cb340c97f82918af8
Date:   Thu Apr 24 16:35:46 2003 +

INTEGRATION: CWS uaa02 (1.1.2); FILE ADDED
2003/04/02 10:06:50 obr 1.1.2.3: #108113# Renamed 
deselectSelectedAccessibleChild to deselectAccessibleChild
2003/03/14 10:40:52 af 1.1.2.2: #108113# Removed references to the 
drafts directory.
2003/03/11 15:00:39 af 1.1.2.1: #108113# Moved from 
drafts/com/sun/star/accessibility.

and

> 2003/04/02 10:06:50 obr 1.1.2.3: #108113# Renamed 
deselectSelectedAccessibleChild to deselectAccessibleChild

sounds like there might temporarily have existed a draft implementation
that actually took an index into the selection rather than
a child index.)

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

diff --git a/offapi/com/sun/star/accessibility/XAccessibleSelection.idl 
b/offapi/com/sun/star/accessibility/XAccessibleSelection.idl
index cc10cca44177..0d9d18820d02 100644
--- a/offapi/com/sun/star/accessibility/XAccessibleSelection.idl
+++ b/offapi/com/sun/star/accessibility/XAccessibleSelection.idl
@@ -97,9 +97,8 @@ interface XAccessibleSelection : 
::com::sun::star::uno::XInterface
 selected.
 
 This number specifies the valid interval of indices that can be
-used as arguments for the methods
-XAccessibleSelection::getSelectedChild() and
-XAccessibleSelection::deselectSelectedChild().
+used as arguments for the method
+XAccessibleSelection::getSelectedAccessibleChild().
 
 @return
 Returns the number of selected children of this object or 0 if


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

2021-10-28 Thread Caolán McNamara (via logerrit)
 svx/uiconfig/ui/textunderlinecontrol.ui |   11 ---
 1 file changed, 11 deletions(-)

New commits:
commit 4f5b5a19f450ae0b2dcdb99d26f48cf3aea352ad
Author: Caolán McNamara 
AuthorDate: Thu Oct 28 14:31:47 2021 +0100
Commit: Caolán McNamara 
CommitDate: Thu Oct 28 20:40:27 2021 +0200

center the content of the underline control

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

diff --git a/svx/uiconfig/ui/textunderlinecontrol.ui 
b/svx/uiconfig/ui/textunderlinecontrol.ui
index eef6a69adb68..81edf621ed39 100644
--- a/svx/uiconfig/ui/textunderlinecontrol.ui
+++ b/svx/uiconfig/ui/textunderlinecontrol.ui
@@ -77,7 +77,6 @@
 True
 none
 True
-0
   
   
 False
@@ -93,7 +92,6 @@
 Single
 image_spacing_1
 none
-0
 True
   
   
@@ -110,7 +108,6 @@
 Double
 image_spacing_2
 none
-0
 True
   
   
@@ -127,7 +124,6 @@
 Bold
 image_spacing_3
 none
-0
 True
   
   
@@ -144,7 +140,6 @@
 Dotted
 image_spacing_4
 none
-0
 True
   
   
@@ -161,7 +156,6 @@
 Dotted (Bold)
 image_spacing_5
 none
-0
 True
   
   
@@ -178,7 +172,6 @@
 Dash
 image_spacing_6
 none
-0
 True
   
   
@@ -195,7 +188,6 @@
 Long Dash
 image_spacing_7
 none
-0
 True
   
   
@@ -212,7 +204,6 @@
 Dot Dash
 image_spacing_8
 none
-0
 True
   
   
@@ -229,7 +220,6 @@
 Dot Dot Dash
 image_spacing_9
 none
-0
 True
   
   
@@ -246,7 +236,6 @@
 Wave
 image_spacing_10
 none
-0
 True
   
   


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

2021-10-28 Thread Stephan Bergmann (via logerrit)
 solenv/gbuild/CppunitTest.mk |9 +
 solenv/gbuild/PythonTest.mk  |3 ---
 vcl/unx/gtk3/gtkinst.cxx |   10 ++
 3 files changed, 11 insertions(+), 11 deletions(-)

New commits:
commit e06ba31a037ea3ff192c9a00db6152179eb298a6
Author: Stephan Bergmann 
AuthorDate: Thu Oct 28 14:08:59 2021 +0200
Commit: Stephan Bergmann 
CommitDate: Thu Oct 28 20:41:00 2021 +0200

Fix passing DYLD_LIBRARY_PATH into lldb on macOS

...making sure that the shell expands the leading

  DYLD_LIBRARY_PATH=${DYLD_LIBRARY_PATH:+$DYLD_LIBRARY_PATH:}...

before it reaches lldb.

(This gets rid of gb_{Cppunit,Pyhton}_{PRE,POST}GDBTRACE again.  No idea why
c38a4d9ce248b4b3fcc9208b25dfa599fe506ac0 "Make the CPPUNITTRACE="lldb --" 
thing
work again (on macOS)" used -s with a temp file rather than -o to pass that 
env
var into lldb.)

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

diff --git a/solenv/gbuild/CppunitTest.mk b/solenv/gbuild/CppunitTest.mk
index 895cb3edca49..bf29724d7eaf 100644
--- a/solenv/gbuild/CppunitTest.mk
+++ b/solenv/gbuild/CppunitTest.mk
@@ -32,14 +32,10 @@ gb_PythonTest_GDBTRACE := $(subst gdb,\
PYTHONWARNINGS=default gdb -return-child-result -ex 
"add-auto-load-safe-path $(INSTDIR)" -ex "set environment $(subst =, 
,$(gb_PythonTest_PRECOMMAND))" $(if $(PYTHONWARNINGS),-ex 'set environment 
PYTHONWARNINGS $(PYTHONWARNINGS)') $(gb_CppunitTest_malloc_check) 
$(gb_CppunitTest_DEBUGCPPUNIT),\
$(CPPUNITTRACE))
 else ifneq ($(filter lldb,$(CPPUNITTRACE)),)
-gb_CppunitTest_PREGDBTRACE := lo_dyldpathfile=$(call var2file,$(shell 
$(gb_MKTEMP)),500,settings set target.env-vars 
$(gb_CppunitTest_CPPTESTPRECOMMAND))
 gb_CppunitTest_GDBTRACE := $(subst lldb,\
-   lldb -s $$lo_dyldpathfile $(gb_CppunitTest_malloc_check),\
+   lldb -o "env $(gb_CppunitTest_CPPTESTPRECOMMAND)" 
$(gb_CppunitTest_malloc_check),\
$(CPPUNITTRACE))
-gb_CppunitTest_POSTGDBTRACE := rm $$lo_dyldpathfile
-gb_PythonTest_PREGDBTRACE := lo_dyldpathfile=$(call var2file,$(shell 
$(gb_MKTEMP)),500,settings set target.env-vars $(gb_PythonTest_PRECOMMAND))
 gb_PythonTest_GDBTRACE := $(gb_CppunitTest_GDBTRACE)
-gb_PythonTest_POSTGDBTRACE := $(gb_CppunitTest_POSTGDBTRACE)
 else
 gb_CppunitTest_GDBTRACE := $(CPPUNITTRACE)
 gb_PythonTest_GDBTRACE := $(gb_CppunitTest_GDBTRACE)
@@ -133,7 +129,6 @@ else
( \
$(if $(gb_CppunitTest_localized),for l in $(WITH_LANG_LIST) ; 
do \
printf 'LO_TEST_LOCALE=%s\n' "$$l" && 
LO_TEST_LOCALE="$$l" ) \
-   $(if 
$(gb_CppunitTest_PREGDBTRACE),$(gb_CppunitTest_PREGDBTRACE) &&) \
$(if $(gb_CppunitTest__vcl_no_svp), \
$(filter-out 
SAL_USE_VCLPLUGIN=svp,$(gb_TEST_ENV_VARS)),$(gb_TEST_ENV_VARS)) \
$(EXTRA_ENV_VARS) \
@@ -146,8 +141,6 @@ else
$(gb_CppunitTest_CPPTESTCOMMAND) \
$(call gb_LinkTarget_get_target,$(call 
gb_CppunitTest_get_linktarget,$*)) \
$(call gb_CppunitTest__make_args) "-env:CPPUNITTESTTARGET=$@" \
-   $(if $(gb_CppunitTest_POSTGDBTRACE), \
-   ; RET=$$? && $(gb_CppunitTest_POSTGDBTRACE) && (exit 
$$RET)) \
$(if $(gb_CppunitTest_localized),|| exit $$?; done) \
) \
$(if $(gb_CppunitTest__interactive),, \
diff --git a/solenv/gbuild/PythonTest.mk b/solenv/gbuild/PythonTest.mk
index bc404d4fb817..4e81261d2354 100644
--- a/solenv/gbuild/PythonTest.mk
+++ b/solenv/gbuild/PythonTest.mk
@@ -49,7 +49,6 @@ else
$(if $(value gb_CppunitTest_postprocess), \
rm -fr $@.core && mkdir $@.core && cd $@.core 
&&)) \
{ \
-   $(if $(gb_PythonTest_PREGDBTRACE),$(gb_PythonTest_PREGDBTRACE) 
&&) \
$(if $(filter 
gdb,$(gb_PythonTest_GDBTRACE)),,$(gb_PythonTest_PRECOMMAND)) \
$(if $(G_SLICE),G_SLICE=$(G_SLICE)) \
$(if 
$(GLIBCXX_FORCE_NEW),GLIBCXX_FORCE_NEW=$(GLIBCXX_FORCE_NEW)) \
@@ -64,8 +63,6 @@ else
$(ICECREAM_RUN) $(gb_PythonTest_GDBTRACE) 
$(gb_CppunitTest_VALGRINDTOOL) $(gb_CppunitTest_RR) \
$(gb_PythonTest_COMMAND) \
$(if 
$(PYTHON_TEST_NAME),$(PYTHON_TEST_NAME),$(MODULES)) \
-   $(if $(gb_PythonTest_POSTGDBTRACE), \
-   ; RET=$$? && $(gb_PythonTest_POSTGDBTRACE) && (exit 
$$RET)) \
; } \
$(if $(gb_CppunitTest__interactive),, \
> $@.log 2>&1 \
commit 39fbcc330b20f2f4d1c93024734f1b330edd5408
Author: Caolán McNamara 
AuthorDate: Thu Oct 28 17:11:08 2021 +0100
Commit: Caolán McNamara 
CommitDate: Thu Oct 28 20:40:45 2021 +0200

gtk4: use a GtkPicture for arb

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

2021-10-28 Thread Bjoern Michaelsen (via logerrit)
 sw/inc/ddefld.hxx|1 
 sw/source/core/doc/DocumentFieldsManager.cxx |6 +
 sw/source/core/fields/ddefld.cxx |  100 ++-
 3 files changed, 57 insertions(+), 50 deletions(-)

New commits:
commit cae107bab822acc198569750ae5b9a272f7ae996
Author: Bjoern Michaelsen 
AuthorDate: Mon Oct 25 00:52:32 2021 +0200
Commit: Bjoern Michaelsen 
CommitDate: Fri Oct 29 02:59:36 2021 +0200

consolidate DDE updates in FieldType

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

diff --git a/sw/inc/ddefld.hxx b/sw/inc/ddefld.hxx
index a9ca4db81b52..ccb72ff25b24 100644
--- a/sw/inc/ddefld.hxx
+++ b/sw/inc/ddefld.hxx
@@ -99,6 +99,7 @@ public:
 void DecRefCnt() {  if( !--m_nRefCount && m_pDoc ) RefCntChgd(); }
 
 void SetCRLFDelFlag( bool bFlag ){ m_bCRLFFlag = bFlag; }
+void UpdateDDE(const bool bNotifyShells = true);
 };
 
 // DDE-field
diff --git a/sw/source/core/doc/DocumentFieldsManager.cxx 
b/sw/source/core/doc/DocumentFieldsManager.cxx
index b15e043aa795..530f4ea22bec 100644
--- a/sw/source/core/doc/DocumentFieldsManager.cxx
+++ b/sw/source/core/doc/DocumentFieldsManager.cxx
@@ -49,6 +49,7 @@
 #include 
 #include 
 #include 
+#include 
 #include 
 #include 
 #include 
@@ -405,8 +406,9 @@ void DocumentFieldsManager::UpdateFields( bool bCloseDB )
 
 case SwFieldIds::Dde:
 {
-SwMsgPoolItem aUpdateDDE( RES_UPDATEDDETBL );
-pFieldType->CallSwClientNotify(sw::LegacyModifyHint(nullptr, 
&aUpdateDDE));
+assert(dynamic_cast(pFieldType.get()));
+auto pDDEFieldType = 
static_cast(pFieldType.get());
+pDDEFieldType->UpdateDDE(false);
 break;
 }
 case SwFieldIds::GetExp:
diff --git a/sw/source/core/fields/ddefld.cxx b/sw/source/core/fields/ddefld.cxx
index 590fcef86cad..8b326d02cd62 100644
--- a/sw/source/core/fields/ddefld.cxx
+++ b/sw/source/core/fields/ddefld.cxx
@@ -97,54 +97,8 @@ public:
 return SUCCESS;
 }
 
-OSL_ENSURE(m_rFieldType.GetDoc(), "no pDoc");
-
-// no dependencies left?
-if (!m_rFieldType.IsModifyLocked() && !ChkNoDataFlag())
-{
-SwViewShell* pSh = 
m_rFieldType.GetDoc()->getIDocumentLayoutAccess().GetCurrentViewShell();
-SwEditShell* pESh = m_rFieldType.GetDoc()->GetEditShell();
-
-// Search for fields. If no valid found, disconnect.
-SwMsgPoolItem aUpdateDDE( RES_UPDATEDDETBL );
-m_rFieldType.LockModify();
-
-std::vector vFields;
-std::vector vTables;
-m_rFieldType.GatherFields(vFields, false);
-m_rFieldType.GatherDdeTables(vTables);
-const bool bDoAction = vFields.size() || vTables.size();
-if(bDoAction)
-{
-if(pESh)
-pESh->StartAllAction();
-else if(pSh)
-pSh->StartAction();
-}
-
-// DDE fields attribute in the text
-for(auto pFormatField: vFields)
-{
-if(pFormatField->GetTextField())
-pFormatField->UpdateTextNode( nullptr, &aUpdateDDE );
-}
-// a DDE tables in the text
-for(auto pTable: vTables)
-pTable->ChangeContent();
-
-m_rFieldType.UnlockModify();
-
-if(bDoAction)
-{
-if(pESh)
-pESh->EndAllAction();
-else if(pSh)
-pSh->EndAction();
-
-if(pSh)
-pSh->GetDoc()->getIDocumentState().SetModified();
-}
-}
+if(!ChkNoDataFlag())
+m_rFieldType.UpdateDDE();
 
 return SUCCESS;
 }
@@ -332,6 +286,56 @@ void SwDDEFieldType::PutValue( const uno::Any& rVal, 
sal_uInt16 nWhichId )
 SetCmd( sNewCmd.makeStringAndClear() );
 }
 
+void SwDDEFieldType::UpdateDDE(const bool bNotifyShells)
+{
+auto pDoc = GetDoc();
+assert(pDoc);
+if(IsModifyLocked())
+return;
+SwViewShell* pSh = bNotifyShells ? 
pDoc->getIDocumentLayoutAccess().GetCurrentViewShell() : nullptr;
+SwEditShell* pESh = bNotifyShells ? pDoc->GetEditShell() : nullptr;
+
+// Search for fields. If no valid found, disconnect.
+LockModify();
+
+std::vector vFields;
+std::vector vTables;
+GatherFields(vFields, false);
+GatherDdeTables(vTables);
+const bool bDoAction = vFields.size() || vTables.size();
+if(bDoAction)
+{
+if(pESh)
+pESh->StartAllAction();
+else if(pSh)
+pSh->StartAction();
+}
+
+// DDE fields attribute in the text
+SwMsgPoolItem aUpdateDDE(RES_UPDATEDDETBL);
+for(auto pFormatField: vFields)
+{
+if(pFormatField->GetTextField())
+pFormatField->UpdateTextNode( nullptr, &aUpdateDDE );
+}
+// a DDE tables in the text
+for(auto pTable: vTables)
+pTable->ChangeContent();
+
+

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

2021-10-28 Thread Bjoern Michaelsen (via logerrit)
 sw/inc/dbfld.hxx |5 +--
 sw/inc/ddefld.hxx|8 +++-
 sw/inc/docufld.hxx   |8 +++-
 sw/inc/expfld.hxx|7 +++-
 sw/inc/fldbas.hxx|1 
 sw/inc/reffld.hxx|1 
 sw/source/core/doc/DocumentFieldsManager.cxx |   44 ---
 sw/source/core/fields/fldbas.cxx |5 +++
 8 files changed, 33 insertions(+), 46 deletions(-)

New commits:
commit 86d11097cd4a2ae4a6b4e6b35e28a6075376d67a
Author: Bjoern Michaelsen 
AuthorDate: Mon Oct 25 02:02:09 2021 +0200
Commit: Bjoern Michaelsen 
CommitDate: Fri Oct 29 03:00:47 2021 +0200

use virtual function call for dynamic dispatch

... as it is around since the dawn of C++ and should be stable --
certainly more stable and less errorprone that manual typetagging.

Change-Id: I5dfe2ce40c2334dc8fe60705d358779fa4bf1586
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/124131
Tested-by: Jenkins
Reviewed-by: Bjoern Michaelsen 

diff --git a/sw/inc/dbfld.hxx b/sw/inc/dbfld.hxx
index 4fabaff6c253..8904575f319b 100644
--- a/sw/inc/dbfld.hxx
+++ b/sw/inc/dbfld.hxx
@@ -47,8 +47,9 @@ public:
 const OUString& GetColumnName() const {return m_sColumn;}
 const SwDBData& GetDBData() const {return m_aDBData;}
 
-virtual voidQueryValue( css::uno::Any& rVal, sal_uInt16 nWhich ) 
const override;
-virtual voidPutValue( const css::uno::Any& rVal, sal_uInt16 nWhich 
) override;
+virtual void QueryValue( css::uno::Any& rVal, sal_uInt16 nWhich ) const 
override;
+virtual void PutValue( const css::uno::Any& rVal, sal_uInt16 nWhich ) 
override;
+virtual void UpdateFields() override {};
 };
 
 // Classes derived from SwFields. They overlay the expand-function.
diff --git a/sw/inc/ddefld.hxx b/sw/inc/ddefld.hxx
index ccb72ff25b24..c96f0bdaa659 100644
--- a/sw/inc/ddefld.hxx
+++ b/sw/inc/ddefld.hxx
@@ -99,6 +99,8 @@ public:
 void DecRefCnt() {  if( !--m_nRefCount && m_pDoc ) RefCntChgd(); }
 
 void SetCRLFDelFlag( bool bFlag ){ m_bCRLFFlag = bFlag; }
+virtual void UpdateFields() override
+{ UpdateDDE(false); };
 void UpdateDDE(const bool bNotifyShells = true);
 };
 
@@ -115,11 +117,11 @@ public:
 
 /** Get parameter via types.
  Name cannot be changed. */
-virtual OUString  GetPar1() const override;
+virtual OUString GetPar1() const override;
 
 // Command
-virtual OUString  GetPar2() const override;
-virtual voidSetPar2(const OUString& rStr) override;
+virtual OUString GetPar2() const override;
+virtual void SetPar2(const OUString& rStr) override;
 };
 
 #endif // INCLUDED_SW_INC_DDEFLD_HXX
diff --git a/sw/inc/docufld.hxx b/sw/inc/docufld.hxx
index 1b76fe7bf83b..9cad6b71f77c 100644
--- a/sw/inc/docufld.hxx
+++ b/sw/inc/docufld.hxx
@@ -288,9 +288,10 @@ public:
 SwHiddenTextFieldType(bool bSetHidden = true);
 
 virtual std::unique_ptr Copy() const override;
+virtual void UpdateFields() override {};
 
-voidSetHiddenFlag( bool bSetHidden );
-bool GetHiddenFlag() const { return m_bHidden; }
+void SetHiddenFlag( bool bSetHidden );
+bool GetHiddenFlag() const { return m_bHidden; }
 };
 
 class SW_DLLPUBLIC SwHiddenTextField final : public SwField
@@ -357,6 +358,7 @@ public:
 SwHiddenParaFieldType();
 
 virtual std::unique_ptr Copy() const override;
+virtual void UpdateFields() override {};
 };
 
 class SwHiddenParaField final : public SwField
@@ -577,6 +579,7 @@ public:
 SwRefPageSetFieldType();
 
 virtual std::unique_ptr Copy() const override;
+virtual void UpdateFields() override {};
 
 private:
 /// noop, there is nothing to update!
@@ -652,6 +655,7 @@ class SwJumpEditFieldType final : public SwFieldType
 public:
 SwJumpEditFieldType( SwDoc& rDoc );
 virtual std::unique_ptr Copy() const override;
+virtual void UpdateFields() override {};
 
 SwCharFormat* GetCharFormat();
 };
diff --git a/sw/inc/expfld.hxx b/sw/inc/expfld.hxx
index e82f9b23772f..25d442ee107a 100644
--- a/sw/inc/expfld.hxx
+++ b/sw/inc/expfld.hxx
@@ -72,6 +72,7 @@ class SAL_DLLPUBLIC_RTTI SwGetExpFieldType final : public 
SwValueFieldType
 public:
 SwGetExpFieldType(SwDoc* pDoc);
 virtual std::unique_ptr Copy() const override;
+virtual void UpdateFields() override {};
 
 /** Overlay, because get-field cannot be changed and therefore
  does not need to be updated. Update at changing of set-values! */
@@ -180,8 +181,9 @@ public:
 void SetOutlineLvl( sal_uInt8 n )   { m_nLevel = n; }
 void SetChapter(SwSetExpField& rField, const SwNode& rNd, SwRootFrame 
const* pLayout);
 
-virtual voidQueryValue( css::uno::Any& rVal, sal_uInt16 nWhich ) 
const override;
-virtual voidPutValue( const css::uno::Any& rVal, sal_uInt16 n

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

2021-10-28 Thread Mike Kaganski (via logerrit)
 basic/source/classes/sbunoobj.cxx   |   17 +++--
 basic/source/classes/sbxmod.cxx |8 +++-
 basic/source/runtime/comenumwrapper.cxx |4 +---
 basic/source/runtime/methods1.cxx   |6 +++---
 basic/source/uno/dlgcont.cxx|4 +---
 basic/source/uno/modsizeexceeded.cxx|4 +---
 basic/source/uno/namecont.cxx   |   16 +---
 binaryurp/source/bridge.cxx |2 +-
 binaryurp/source/bridgefactory.cxx  |5 +++--
 9 files changed, 25 insertions(+), 41 deletions(-)

New commits:
commit f6aef99057c08490af49aec0fd5f2601a83c4e76
Author: Mike Kaganski 
AuthorDate: Thu Oct 28 16:11:26 2021 +0300
Commit: Mike Kaganski 
CommitDate: Fri Oct 29 06:50:43 2021 +0200

Prepare for removal of non-const operator[] from Sequence in binaryurp

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

diff --git a/binaryurp/source/bridge.cxx b/binaryurp/source/bridge.cxx
index 9730036ab4a8..3299cd0ed519 100644
--- a/binaryurp/source/bridge.cxx
+++ b/binaryurp/source/bridge.cxx
@@ -950,7 +950,7 @@ void Bridge::removeEventListener(
 void Bridge::sendCommitChangeRequest() {
 assert(mode_ == MODE_REQUESTED || mode_ == MODE_REPLY_1);
 css::uno::Sequence< css::bridge::ProtocolProperty > s(1);
-s[0].Name = "CurrentContext";
+s.getArray()[0].Name = "CurrentContext";
 std::vector< BinaryAny > a { mapCppToBinaryAny(css::uno::Any(s)) };
 sendProtPropRequest(OutgoingRequest::KIND_COMMIT_CHANGE, a);
 }
diff --git a/binaryurp/source/bridgefactory.cxx 
b/binaryurp/source/bridgefactory.cxx
index d2fef4383c06..a2dd1fa97fba 100644
--- a/binaryurp/source/bridgefactory.cxx
+++ b/binaryurp/source/bridgefactory.cxx
@@ -141,12 +141,13 @@ BridgeFactory::getExistingBridges() {
 }
 n = static_cast< sal_Int32 >(n + named_.size());
 css::uno::Sequence< css::uno::Reference< css::bridge::XBridge > > s(n);
+auto r = asNonConstRange(s);
 sal_Int32 i = 0;
 for (auto const& item : unnamed_)
-s[i++] = item;
+r[i++] = item;
 
 for (auto const& item : named_)
-s[i++] = item.second;
+r[i++] = item.second;
 
 return s;
 }
commit 81a7d46d9f89252146bf3ba4074625bdfe3345f8
Author: Mike Kaganski 
AuthorDate: Thu Oct 28 16:09:55 2021 +0300
Commit: Mike Kaganski 
CommitDate: Fri Oct 29 06:50:32 2021 +0200

Prepare for removal of non-const operator[] from Sequence in basic

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

diff --git a/basic/source/classes/sbunoobj.cxx 
b/basic/source/classes/sbunoobj.cxx
index c1753a67aca0..f9d378ea8865 100644
--- a/basic/source/classes/sbunoobj.cxx
+++ b/basic/source/classes/sbunoobj.cxx
@@ -542,6 +542,7 @@ static void implSequenceToMultiDimArray( SbxDimArray*& 
pArray, Sequence< sal_Int
 sal_Int32 nLen = xIdlArray->getLen( aValue );
 for ( sal_Int32 index = 0; index < nLen; ++index )
 {
+auto pindices = indices.getArray();
 Any aElementAny = xIdlArray->get( aValue, 
static_cast(index) );
 // This detects the dimension were currently processing
 if ( dimCopy == dimension )
@@ -550,15 +551,16 @@ static void implSequenceToMultiDimArray( SbxDimArray*& 
pArray, Sequence< sal_Int
 if ( sizes.getLength() < dimCopy )
 {
 sizes.realloc( sizes.getLength() + 1 );
-sizes[ sizes.getLength() - 1 ] = nLen;
+sizes.getArray()[ sizes.getLength() - 1 ] = nLen;
 indices.realloc( indices.getLength() + 1 );
+pindices = indices.getArray();
 }
 }
 
 if ( bIsZeroIndex )
-indices[ dimCopy - 1 ] = index;
+pindices[ dimCopy - 1 ] = index;
 else
-indices[ dimCopy - 1] = index + 1;
+pindices[ dimCopy - 1] = index + 1;
 
 implSequenceToMultiDimArray( pArray, indices, sizes, aElementAny, 
dimCopy, bIsZeroIndex, &aElementType );
 }
@@ -4385,10 +4387,7 @@ Reference< XInterface > createComListener( const Any& 
aControlAny, const OUStrin
 
 Reference< XInvocation > xProxy = new ModuleInvocationProxy( aPrefix, 
xScopeObj );
 
-Sequence args( 3 );
-args[0] = aControlAny;
-args[1] <<= aVBAType;
-args[2] <<= xProxy;
+Sequence args{ aControlAny, Any(aVBAType), Any(xProxy) };
 
 try
 {
@@ -4524,9 +4523,7 @@ bool SbModule::createCOMWrapperForIface( Any& o_rRetAny, 
SbClassModuleObject* pP
 }
 Reference< XInvocation > xProxy = new ModuleInvocationProxy( 
aPureIfaceName, pProxyClassModuleObject );
 
-Sequence args( 2 );
-  

[Libreoffice-commits] core.git: canvas/source canvas/workben

2021-10-28 Thread Mike Kaganski (via logerrit)
 canvas/source/directx/dx_canvasbitmap.cxx   |   12 ++---
 canvas/source/directx/dx_config.cxx |   10 ++--
 canvas/source/factory/cf_service.cxx|6 +---
 canvas/source/simplecanvas/simplecanvasimpl.cxx |   30 ++--
 canvas/source/tools/canvastools.cxx |6 +---
 canvas/source/tools/parametricpolypolygon.cxx   |   14 ---
 canvas/source/vcl/textlayout.cxx|3 +-
 canvas/workben/canvasdemo.cxx   |   17 -
 8 files changed, 40 insertions(+), 58 deletions(-)

New commits:
commit 1a58461bfa3e980f3113a8a16c09cddda0606e7b
Author: Mike Kaganski 
AuthorDate: Thu Oct 28 16:12:28 2021 +0300
Commit: Mike Kaganski 
CommitDate: Fri Oct 29 06:50:51 2021 +0200

Prepare for removal of non-const operator[] from Sequence in canvas

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

diff --git a/canvas/source/directx/dx_canvasbitmap.cxx 
b/canvas/source/directx/dx_canvasbitmap.cxx
index adc4b741a4c3..217d3edd2b7b 100644
--- a/canvas/source/directx/dx_canvasbitmap.cxx
+++ b/canvas/source/directx/dx_canvasbitmap.cxx
@@ -97,9 +97,7 @@ namespace dxcanvas
 HBITMAP aHBmp;
 mpBitmap->getBitmap()->GetHBITMAP(Gdiplus::Color(), &aHBmp 
);
 
-uno::Sequence< uno::Any > args(1);
-args[0] <<= reinterpret_cast(aHBmp);
-
+uno::Sequence< uno::Any > args{ 
uno::Any(reinterpret_cast(aHBmp)) };
 aRes <<= args;
 }
 else
@@ -153,9 +151,7 @@ namespace dxcanvas
 
 pGDIPlusBitmap->UnlockBits( &aBmpData );
 
-uno::Sequence< uno::Any > args(1);
-args[0] <<= reinterpret_cast(hBmpBitmap);
-
+uno::Sequence< uno::Any > args{ 
uno::Any(reinterpret_cast(hBmpBitmap)) };
 aRes <<= args;
 }
 }
@@ -230,9 +226,7 @@ namespace dxcanvas
aSize.getY(), pAlphaBits.get(),
reinterpret_cast(&aDIB), 
DIB_RGB_COLORS );
 
-uno::Sequence< uno::Any > args(1);
-args[0] <<= reinterpret_cast(hBmpBitmap);
-
+uno::Sequence< uno::Any > args{ 
uno::Any(reinterpret_cast(hBmpBitmap)) };
 aRes <<= args;
 }
 }
diff --git a/canvas/source/directx/dx_config.cxx 
b/canvas/source/directx/dx_config.cxx
index 48609d8c500e..afb52de30f03 100644
--- a/canvas/source/directx/dx_config.cxx
+++ b/canvas/source/directx/dx_config.cxx
@@ -45,9 +45,7 @@ namespace dxcanvas
 {
 try
 {
-uno::Sequence< OUString > aName { "DeviceDenylist" };
-
-uno::Sequence< uno::Any > aProps( GetProperties( aName ));
+uno::Sequence< uno::Any > aProps( GetProperties( { 
"DeviceDenylist" } ));
 uno::Sequence< sal_Int32 > aValues;
 
 if( aProps.getLength() > 0 &&
@@ -70,13 +68,11 @@ namespace dxcanvas
 }
 }
 
-aName[0] = "DenylistCurrentDevice";
-aProps = GetProperties( aName );
+aProps = GetProperties( { "DenylistCurrentDevice" } );
 if( aProps.getLength() > 0 )
 aProps[0] >>= mbDenylistCurrentDevice;
 
-aName[0] = "MaxTextureSize";
-aProps = GetProperties( aName );
+aProps = GetProperties( { "MaxTextureSize" } );
 if( aProps.getLength() > 0 )
 maMaxTextureSize = aProps[0].get();
 else
diff --git a/canvas/source/factory/cf_service.cxx 
b/canvas/source/factory/cf_service.cxx
index d7e612cb6ca9..6cb27699864c 100644
--- a/canvas/source/factory/cf_service.cxx
+++ b/canvas/source/factory/cf_service.cxx
@@ -185,13 +185,11 @@ CanvasFactory::CanvasFactory( 
Reference const & xContext ) :
 {
 // Ugh. Looks like configuration is borked. Fake minimal
 // setup.
-Sequence aServices { 
"com.sun.star.comp.rendering.Canvas.VCL" };
 
m_aAvailableImplementations.emplace_back(OUString("com.sun.star.rendering.Canvas"),
-  aServices );
+Sequence{ "com.sun.star.comp.rendering.Canvas.VCL" } );
 
-aServices[0] = "com.sun.star.comp.rendering.SpriteCanvas.VCL";
 
m_aAvailableImplementations.emplace_back(OUString("com.sun.star.rendering.SpriteCanvas"),
-  aServices );
+Sequence{ "com.sun.star.comp.rendering.SpriteCanvas.VCL" 
} );
 }
 }
 
diff --git a/canvas/source/simplecanvas/simplecanvasimpl.cxx 
b/canvas/source/simplecanvas/simplecanvasimpl.cxx
index 6182d4e2142b..18d2c0e9815d 100644
--- a/canvas/source/s