[Libreoffice-commits] core.git: Branch 'distro/collabora/co-22.05' - 85 commits - chart2/qa chart2/source connectivity/source drawinglayer/source hwpfilter/qa hwpfilter/source icon-themes/breeze icon-

2022-03-09 Thread Caolán McNamara (via logerrit)
 chart2/qa/extras/chart2import.cxx  |  155 
 chart2/qa/extras/data/odp/BarChartVeryLongLabel.odp|binary
 chart2/source/controller/dialogs/res_LegendPosition.cxx|7 
 chart2/source/controller/inc/res_LegendPosition.hxx|1 
 chart2/source/tools/DataSeriesHelper.cxx   |2 
 chart2/source/view/axes/Tickmarks.cxx  |5 
 chart2/source/view/axes/Tickmarks.hxx  |   11 
 chart2/source/view/axes/VCartesianAxis.cxx |   31 
 chart2/source/view/charttypes/Splines.cxx  |4 
 chart2/source/view/main/ChartView.cxx  |   12 
 connectivity/source/inc/odbc/OResultSetMetaData.hxx|2 
 dev/null   |binary
 drawinglayer/source/tools/emfphelperdata.cxx   |   36 
 hwpfilter/qa/cppunit/data/pass/ofz44997-1.hwp  |1 
 hwpfilter/source/drawing.h |   13 
 hwpfilter/source/hbox.cxx  |   39 
 hwpfilter/source/hbox.h|2 
 hwpfilter/source/hcode.cxx |2 
 hwpfilter/source/hinfo.cxx |   12 
 hwpfilter/source/hinfo.h   |2 
 hwpfilter/source/hpara.cxx |2 
 hwpfilter/source/hstyle.cxx|2 
 hwpfilter/source/hwpfile.cxx   |9 
 hwpfilter/source/hwpfile.h |2 
 hwpfilter/source/hwpread.cxx   |   20 
 hwpfilter/source/hwpreader.cxx |   16 
 icon-themes/breeze/res/base_thumbnail_256.png  |binary
 icon-themes/breeze_dark/res/base_thumbnail_256.png |binary
 icon-themes/breeze_dark_svg/res/base_thumbnail_256.svg |1 
 icon-themes/breeze_svg/res/base_thumbnail_256.svg  |1 
 icon-themes/colibre/cmd/32/changecasetolower.png   |binary
 icon-themes/colibre/cmd/32/changecasetoupper.png   |binary
 icon-themes/colibre/cmd/32/es/underline.png|binary
 icon-themes/colibre/cmd/32/es/underlinedouble.png  |binary
 icon-themes/colibre/cmd/32/grow.png|binary
 icon-themes/colibre/cmd/32/hu/underline.png|binary
 icon-themes/colibre/cmd/32/hu/underlinedouble.png  |binary
 icon-themes/colibre/cmd/32/km/underline.png|binary
 icon-themes/colibre/cmd/32/km/underlinedouble.png  |binary
 icon-themes/colibre/cmd/32/ko/designerdialog.png   |binary
 icon-themes/colibre/cmd/32/ko/editstyle.png|binary
 icon-themes/colibre/cmd/32/ko/overline.png |binary
 icon-themes/colibre/cmd/32/ko/stylenewbyexample.png|binary
 icon-themes/colibre/cmd/32/ko/styleupdatebyexample.png |binary
 icon-themes/colibre/cmd/32/ko/underline.png|binary
 icon-themes/colibre/cmd/32/ko/underlinedouble.png  |binary
 icon-themes/colibre/cmd/32/nl/underline.png|binary
 icon-themes/colibre/cmd/32/nl/underlinedouble.png  |binary
 icon-themes/colibre/cmd/32/outlinefont.png |binary
 icon-themes/colibre/cmd/32/overline.png|binary
 icon-themes/colibre/cmd/32/pl/underline.png|binary
 icon-themes/colibre/cmd/32/pl/underlinedouble.png  |binary
 icon-themes/colibre/cmd/32/ru/underline.png|binary
 icon-themes/colibre/cmd/32/ru/underlinedouble.png  |binary
 icon-themes/colibre/cmd/32/shrink.png  |binary
 icon-themes/colibre/cmd/32/smallcaps.png   |binary
 icon-themes/colibre/cmd/32/underline.png   |binary
 icon-themes/colibre/cmd/32/underlinedouble.png |binary
 icon-themes/colibre/cmd/lc_changecasetolower.png   |binary
 icon-themes/colibre/cmd/lc_changecasetoupper.png   |binary
 icon-themes/colibre/cmd/lc_color.png   |binary
 icon-themes/colibre/cmd/lc_italic.png  |binary
 icon-themes/colibre/cmd/lc_outlinefont.png |binary
 icon-themes/colibre/cmd/lc_paralefttoright.png |binary
 icon-themes/colibre/cmd/lc_pararighttoleft.png |binary
 icon-themes/colibre/cmd/lc_smallcaps.png   |binary
 icon-themes/colibre/cmd/lc_strikeout.png   |binary
 icon-themes/colibre/cmd/sc_changecasetolower.png   |binary
 icon-themes/colibre/cmd/sc_smallcaps.png   |binary
 icon-themes/colibre/res/base_thumbnail_256.png |binary
 icon-themes/colibre_svg/cmd/32/changecasetolower.svg   |2 
 icon-themes/colibre_svg/cmd/32/changecasetoupper.svg   |2 
 icon-themes/colibre_svg/cmd/32/es/underline.svg|2 
 icon-themes/colibre_svg/cmd/32/es/

[Libreoffice-commits] translations.git: Branch 'distro/collabora/co-22.05' - 2 commits - source/an source/ar source/ast source/bg source/ca source/cs source/da source/de source/el source/eo source/es

2022-03-09 Thread Christian Lohmaier (via logerrit)
 source/an/sc/messages.po | 
   4 
 source/an/sw/messages.po | 
   5 
 source/ar/basctl/messages.po | 
  72 
 source/ar/chart2/messages.po | 
  30 
 source/ar/cui/messages.po| 
 339 +--
 source/ar/dbaccess/messages.po   | 
  34 
 source/ar/desktop/messages.po| 
   4 
 source/ar/dictionaries/en/dialog.po  | 
   8 
 source/ar/dictionaries/pt_BR/dialog.po   | 
  12 
 source/ar/dictionaries/ru_RU/dialog.po   | 
   6 
 source/ar/editeng/messages.po| 
  52 
 source/ar/extensions/messages.po | 
  42 
 source/ar/extras/source/autocorr/emoji.po| 
  10 
 source/ar/extras/source/gallery/share.po | 
   8 
 source/ar/filter/messages.po | 
  16 
 source/ar/filter/source/config/fragments/filters.po  | 
  10 
 source/ar/filter/source/config/fragments/internalgraphicfilters.po   | 
  12 
 source/ar/forms/messages.po  | 
   4 
 source/ar/formula/messages.po| 
   8 
 source/ar/framework/messages.po  | 
  10 
 source/ar/instsetoo_native/inc_openoffice/windows/msi_languages.po   | 
  36 
 source/ar/librelogo/source/pythonpath.po | 
   4 
 source/ar/officecfg/registry/data/org/openoffice/Office.po   | 
  16 
 source/ar/officecfg/registry/data/org/openoffice/Office/UI.po| 
 261 +-
 source/ar/reportdesign/messages.po   | 
  11 
 source/ar/sc/messages.po | 
 510 ++---
 source/ar/scaddins/messages.po   | 
  34 
 source/ar/sd/messages.po | 
 127 -
 source/ar/sfx2/classification.po | 
  14 
 source/ar/sfx2/messages.po   | 
 168 -
 source/ar/shell/source/win32/shlxthandler/res.po | 
   6 
 source/ar/starmath/messages.po   | 
  20 
 source/ar/svtools/messages.po| 
  83 
 source/ar/svx/messages.po| 
 324 +--
 source/ar/sw/messages.po | 
 600 +++---
 source/ar/swext/mediawiki/help.po| 
  16 
 source/ar/swext/mediawiki/src/registry/data/org/openoffice/Office/Custom.po  | 
  10 
 source/ar/uui/messages.po| 
   4 
 source/ar/vcl/messages.po| 
 142 -
 source/ar/wizards/messages.po| 
   8 
 source/ar/wizards/source/resources.po| 
   9 
 source/ar/writerperfect/messages.po  | 
   6 
 source/ar/xmlsecurity/messages.po| 
   6 
 source/ast/accessibility/messages.po | 
   6 
 source/ast/avmedia/messages.po   | 
   6 
 source/ast/basctl/messages.po| 
   4 
 source/ast/basic/messages.po | 
   6 
 source/ast/chart2/messages.po| 
   4 
 source/ast/connectivity/messages.po  | 
   6 
 source/ast/cui/messages.po   | 
  18 
 source/ast/dbaccess/messages.po  | 
   7 
 source/ast/desktop/messages.po   | 
   6 
 source/ast/editeng/messages.po   | 
   6 
 source/ast/extensions/messages.po| 
   4 
 source/ast/extras/source/gallery/share.po| 
  10 
 source/ast/filter/messages.po| 
   4 
 source/ast/forms/messages.po | 
   6 
 source/ast/formul

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

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

New commits:
commit ac418615dc791a6360f727321c9588ebbcd888df
Author: Christian Lohmaier 
AuthorDate: Wed Mar 9 09:21:24 2022 +0100
Commit: Gerrit Code Review 
CommitDate: Wed Mar 9 09:21:24 2022 +0100

Update git submodules

* Update translations from branch 'distro/collabora/co-22.05'
  to cb0fed00f3d6d7284397c5f7acaaae7396fe819c
  - update translations for 7.3.1 rc3

and force-fix errors using pocheck

Change-Id: I41de399ba9bbdc8157aa5c04a76f1845d974fc8a

  - update translations for 7.3.1 rc2

and force-fix errors using pocheck

Change-Id: I152885b2e8291a05aafc17ca5b494011d0b9af92

diff --git a/translations b/translations
index a02216096706..cb0fed00f3d6 16
--- a/translations
+++ b/translations
@@ -1 +1 @@
-Subproject commit a0221609670607e8d203b4c129292b5697a66566
+Subproject commit cb0fed00f3d6d7284397c5f7acaaae7396fe819c


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

2022-03-09 Thread Miklos Vajna (via logerrit)
 sw/qa/extras/ooxmlexport/data/clearing-break.docx |binary
 sw/qa/extras/ooxmlexport/ooxmlexport17.cxx|   13 +++
 sw/source/filter/ww8/attributeoutputbase.hxx  |3 +
 sw/source/filter/ww8/docxattributeoutput.cxx  |   36 ++
 sw/source/filter/ww8/docxattributeoutput.hxx  |8 
 sw/source/filter/ww8/rtfattributeoutput.cxx   |2 +
 sw/source/filter/ww8/rtfattributeoutput.hxx   |2 +
 sw/source/filter/ww8/ww8atr.cxx   |5 +++
 sw/source/filter/ww8/ww8attributeoutput.hxx   |2 +
 9 files changed, 71 insertions(+)

New commits:
commit 280ab11ee40c95d2513e6f23ec5b08a083ecc1c5
Author: Miklos Vajna 
AuthorDate: Wed Mar 9 08:32:24 2022 +0100
Commit: Miklos Vajna 
CommitDate: Wed Mar 9 09:30:13 2022 +0100

sw clearing breaks: add DOCX export

Need to do this in two passes, because a clearing line break is a text
attribute, but the DOCX markup is not a run property, so can only write
it once the run properties are finished.

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

diff --git a/sw/qa/extras/ooxmlexport/data/clearing-break.docx 
b/sw/qa/extras/ooxmlexport/data/clearing-break.docx
new file mode 100644
index ..453a4c2b83d1
Binary files /dev/null and b/sw/qa/extras/ooxmlexport/data/clearing-break.docx 
differ
diff --git a/sw/qa/extras/ooxmlexport/ooxmlexport17.cxx 
b/sw/qa/extras/ooxmlexport/ooxmlexport17.cxx
index 5de93edd3226..7905091de82f 100644
--- a/sw/qa/extras/ooxmlexport/ooxmlexport17.cxx
+++ b/sw/qa/extras/ooxmlexport/ooxmlexport17.cxx
@@ -75,6 +75,19 @@ CPPUNIT_TEST_FIXTURE(Test, testParaStyleNumLevel)
 assertXPath(pXmlDoc, 
"/w:styles/w:style[@w:styleId='Mystyle']/w:pPr/w:numPr/w:ilvl", "val", "1");
 }
 
+CPPUNIT_TEST_FIXTURE(Test, testClearingBreak)
+{
+// Given a document with a clearing break, when saving to DOCX:
+loadAndSave("clearing-break.docx");
+
+// Then make sure that the clearing break is not lost:
+xmlDocUniquePtr pXmlDoc = parseExport("word/document.xml");
+// Without the accompanying fix in place, this test would have failed with:
+// - XPath '/w:document/w:body/w:p/w:r/w:br' number of nodes is incorrect
+// i.e. first the clearing break was turned into a plain break, then it 
was completely lost.
+assertXPath(pXmlDoc, "/w:document/w:body/w:p/w:r/w:br", "clear", "all");
+}
+
 DECLARE_OOXMLEXPORT_TEST(testTdf137466, "tdf137466.docx")
 {
 xmlDocUniquePtr pXmlDoc = parseExport("word/document.xml");
diff --git a/sw/source/filter/ww8/attributeoutputbase.hxx 
b/sw/source/filter/ww8/attributeoutputbase.hxx
index 1694b9335cb5..8461f2e1510c 100644
--- a/sw/source/filter/ww8/attributeoutputbase.hxx
+++ b/sw/source/filter/ww8/attributeoutputbase.hxx
@@ -507,6 +507,9 @@ protected:
 /// Sfx item RES_TXTATR_FTN
 virtual void TextFootnote_Impl( const SwFormatFootnote& ) = 0;
 
+/// RES_TXTATR_LINEBREAK, i.e. clearing breaks.
+virtual void TextLineBreak(const SwFormatLineBreak&) = 0;
+
 /// Sfx item RES_PARATR_LINESPACING
 void ParaLineSpacing( const SvxLineSpacingItem& );
 
diff --git a/sw/source/filter/ww8/docxattributeoutput.cxx 
b/sw/source/filter/ww8/docxattributeoutput.cxx
index a08a16919e8d..6f3601ff0815 100644
--- a/sw/source/filter/ww8/docxattributeoutput.cxx
+++ b/sw/source/filter/ww8/docxattributeoutput.cxx
@@ -3097,6 +3097,8 @@ void DocxAttributeOutput::EndRunProperties( const 
SwRedlineData* pRedlineData )
 // write footnotes/endnotes if we have any
 FootnoteEndnoteReference();
 
+WriteLineBreak();
+
 // merge the properties _before_ the run text (strictly speaking, just
 // after the start of the run)
 m_pSerializer->mergeTopMarks(Tag_StartRunProperties, 
sax_fastparser::MergeMarks::PREPEND);
@@ -7186,6 +7188,40 @@ void DocxAttributeOutput::SectionRtlGutter(const 
SfxBoolItem& rRtlGutter)
 m_pSerializer->singleElementNS(XML_w, XML_rtlGutter);
 }
 
+void DocxAttributeOutput::TextLineBreak(const SwFormatLineBreak& rLineBreak)
+{
+m_oLineBreakClear = rLineBreak.GetValue();
+}
+
+void DocxAttributeOutput::WriteLineBreak()
+{
+if (!m_oLineBreakClear.has_value())
+{
+return;
+}
+
+rtl::Reference pAttr = 
FastSerializerHelper::createAttrList();
+pAttr->add(FSNS(XML_w, XML_type), "textWrapping");
+switch (*m_oLineBreakClear)
+{
+case SwLineBreakClear::NONE:
+pAttr->add(FSNS(XML_w, XML_clear), "none");
+break;
+case SwLineBreakClear::LEFT:
+pAttr->add(FSNS(XML_w, XML_clear), "left");
+break;
+case SwLineBreakClear::RIGHT:
+pAttr->add(FSNS(XML_w, XML_clear), "right");
+break;
+case SwLineBreakClear::ALL:
+pAttr->add(FSNS(XML_w, XML_clear), "all");
+break;
+}
+m_oLineBreakClear.re

[Libreoffice-commits] help.git: Branch 'distro/collabora/co-22.05' - 8 commits - AllLangHelp_shared.mk help3xsl/default.css help3xsl/help2.js help3xsl/help.html help3xsl/index2.html help3xsl/index.htm

2022-03-09 Thread Andras Timar (via logerrit)
 AllLangHelp_shared.mk |1 
 Package_html_media.mk |2 
 help3xsl/default.css  |5 -
 help3xsl/help.html|2 
 help3xsl/help2.js |7 --
 help3xsl/index.html   |2 
 help3xsl/index2.html  |2 
 help3xsl/online_transform.xsl |   16 ++--
 help3xsl/xap_templ_query.xsl  |2 
 source/media/navigation/collabora-online-logo.svg |   77 ++
 source/media/navigation/favicon.ico   |binary
 source/media/navigation/libo-symbol-white.svg |1 
 source/text/sbasic/shared/main0601.xhp|1 
 source/text/scalc/main.xhp|1 
 source/text/schart/main.xhp   |1 
 source/text/sdatabase/main.xhp|1 
 source/text/sdraw/main.xhp|1 
 source/text/shared/05/new_help.xhp|1 
 source/text/shared/06/youtubevideos.xhp   |   23 --
 source/text/shared/main0108.xhp   |2 
 source/text/simpress/main.xhp |1 
 source/text/smath/main.xhp|1 
 source/text/swriter/main.xhp  |1 
 23 files changed, 93 insertions(+), 58 deletions(-)

New commits:
commit dacd2376bf884abd34701a5260f5d7640074ff92
Author: Andras Timar 
AuthorDate: Tue Jul 28 16:09:48 2020 +0200
Commit: Andras Timar 
CommitDate: Wed Mar 9 10:18:24 2022 +0100

[cp] Xapian Omega setup for help.collaboraoffice.com

Change-Id: Iaa28803be627db8915e7f426b400ac3b26e7b3a2

diff --git a/help3xsl/online_transform.xsl b/help3xsl/online_transform.xsl
index 3256bcb36..bc60367e3 100644
--- a/help3xsl/online_transform.xsl
+++ b/help3xsl/online_transform.xsl
@@ -229,8 +229,11 @@
 
 
 
-
-
+
+
+
+
+
 
 
 
commit 8c727f286a2dbc6a324f9613afa697eb566d55b6
Author: Andras Timar 
AuthorDate: Wed Aug 22 09:55:44 2018 +0200
Commit: Andras Timar 
CommitDate: Wed Mar 9 10:16:18 2022 +0100

[cp] help page footer

Change-Id: I257d7dd85a896ff69e391a05206c1cb419997331

diff --git a/help3xsl/online_transform.xsl b/help3xsl/online_transform.xsl
index a6c67489e..3256bcb36 100644
--- a/help3xsl/online_transform.xsl
+++ b/help3xsl/online_transform.xsl
@@ -246,12 +246,7 @@
 
 
 
-http://schema.org/Organization";>
-
-
-
-https://www.libreoffice.org/imprint"/>
-https://www.libreoffice.org/imprint"; 
target="_blank">Impressum (Legal Info) | https://www.libreoffice.org/privacy"; target="_blank">Privacy Policy | 
https://www.documentfoundation.org/statutes.pdf"; 
target="_blank">Statutes (non-binding English translation) - https://www.documentfoundation.org/satzung.pdf"; target="_blank">Satzung 
(binding German version) | Copyright information: Unless otherwise 
specified, all text and images on this website are licensed under the https://www.libreoffice.org/download/license/"; target="_blank">Mozilla 
Public License v2.0. “LibreOffice” and “The Document Foundation” are 
registered trademarks of their corresponding registered owners or are in actual 
use as trademarks in one or more countries. Their respective logos and icons 
are also subject to international copyright laws. Use thereof is explained in 
our https://wiki.documentfoundation.org/TradeMark_Policy"; tar
 get="_blank">trademark policy. LibreOffice was based on OpenOffice.org.
+https://www.collaboraoffice.com/about-us/"; 
target="_blank">About Us | https://www.collaboraoffice.com/privacy-policy/"; target="_blank">Privacy 
Policy | Copyright information: Unless otherwise specified, all text and 
images on this website are licensed under the https://www.mozilla.org/en-US/MPL/2.0/"; target="_blank">Mozilla Public 
License v2.0. “LibreOffice” and “The Document Foundation” are registered 
trademarks of their corresponding registered owners or are in actual use as 
trademarks in one or more countries. Their respective logos and icons are also 
subject to international copyright laws. Use thereof is explained in TDF's https://wiki.documentfoundation.org/TradeMark_Policy"; 
target="_blank">trademark policy. Collabora Office is derived from 
LibreOffice which was based on OpenOffice.org.
 
 
 Help content debug info:
diff --git a/help3xsl/xap_templ_query.xsl b/help3xsl/xap_templ_query.xsl
index 4189aadfd..98ebaad5b 100644
--- a/help3xsl/xap_templ_query.xsl
+++ b/help3xsl/xap_templ_query.xsl
@@ -246,7 +246,7 @@ $map{$cgilist{B},}

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

2022-03-09 Thread Andras Timar (via logerrit)
 helpcontent2 |2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

New commits:
commit fb032d098bcdd8d88af58d376aed9b58c6d026a5
Author: Andras Timar 
AuthorDate: Wed Mar 9 11:19:17 2022 +0200
Commit: Gerrit Code Review 
CommitDate: Wed Mar 9 10:19:17 2022 +0100

Update git submodules

* Update helpcontent2 from branch 'distro/collabora/co-22.05'
  to dacd2376bf884abd34701a5260f5d7640074ff92
  - [cp] Xapian Omega setup for help.collaboraoffice.com

Change-Id: Iaa28803be627db8915e7f426b400ac3b26e7b3a2

  - [cp] help page footer

Change-Id: I257d7dd85a896ff69e391a05206c1cb419997331

  - [cp] Hide 'Please support us!' button

Change-Id: I003b30b6b47e1323f4ef2a504ed72585561a386f

  - [cp] Revert the .xhp parts of "Deploy videos in New Help (WIP)"

Partially reverts commit 93ebf037016819613322ef1c39951a3de893ec14.

Change-Id: I21224f97e9c47d5dfeb8e000102237a5664d3d41

  - [cp] Exchange the logo.

Change-Id: I138d97fd40764ff455354f4ad53f9a7fb72faba8
Reviewed-on: https://gerrit.libreoffice.org/58797
Reviewed-by: Andras Timar 
Tested-by: Andras Timar 

  - [cp] Collabora favicon

Change-Id: I00bfc8fff17435356f393de32b585d12c37fea5e

  - [cp] Collabora support link

Change-Id: I980fe8fc2779647bbe1dfce649f06b3cbd36f864

  - [cp] remove TDF Piwik tracker

Change-Id: Icabdcae5d5828417d3540bf36f6bb747001189e3

diff --git a/helpcontent2 b/helpcontent2
index 0f12f8a4dcf3..dacd2376bf88 16
--- a/helpcontent2
+++ b/helpcontent2
@@ -1 +1 @@
-Subproject commit 0f12f8a4dcf3b3ee34864d50f06e77d495fb9133
+Subproject commit dacd2376bf884abd34701a5260f5d7640074ff92


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

2022-03-09 Thread Michael Stahl (via logerrit)
 sw/source/core/doc/DocumentRedlineManager.cxx |9 +
 1 file changed, 5 insertions(+), 4 deletions(-)

New commits:
commit 53560aa06462f1cf04d69acafed20da971bc5c27
Author: Michael Stahl 
AuthorDate: Tue Mar 8 13:48:03 2022 +0100
Commit: Michael Stahl 
CommitDate: Wed Mar 9 10:40:47 2022 +0100

sw: fix merging of format redlines in AppendRedline()

This can cause:

soffice.bin: sw/source/core/undo/undobj.cxx:1486: static void 
SwUndo::SetSaveData(SwDoc&, SwRedlineSaveDatas&): Assertion `rSData.empty() || 
rSData[0].m_bRedlineMoved || (rSData[0].m_nRedlineCount == 
rDoc.getIDocumentRedlineAccess().GetRedlineTable().size())' failed.

When one character in middle of Format redline is deleted, then Undo.

The condition is quite odd and apparently from initial CVS import; try
to copy condition for merging Insert redlines instead.

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

diff --git a/sw/source/core/doc/DocumentRedlineManager.cxx 
b/sw/source/core/doc/DocumentRedlineManager.cxx
index 2c2f4a1b080b..c2ddb046ef8b 100644
--- a/sw/source/core/doc/DocumentRedlineManager.cxx
+++ b/sw/source/core/doc/DocumentRedlineManager.cxx
@@ -2156,8 +2156,8 @@ DocumentRedlineManager::AppendRedline(SwRangeRedline* 
pNewRedl, bool const bCall
 
 case SwComparePosition::CollideEnd:
 if( pRedl->IsOwnRedline( *pNewRedl ) &&
-pRedl->CanCombine( *pNewRedl ) && n &&
-*maRedlineTable[ n-1 ]->End() < *pStt )
+pRedl->CanCombine( *pNewRedl ) &&
+(n == 0 || *maRedlineTable[ n-1 ]->End() < *pStt))
 {
 // If that's the case we can merge it, meaning
 // the new one covers this well
@@ -2169,8 +2169,9 @@ DocumentRedlineManager::AppendRedline(SwRangeRedline* 
pNewRedl, bool const bCall
 case SwComparePosition::CollideStart:
 if( pRedl->IsOwnRedline( *pNewRedl ) &&
 pRedl->CanCombine( *pNewRedl ) &&
-n+1 < maRedlineTable.size() &&
-*maRedlineTable[ n+1 ]->Start() < *pEnd )
+(n+1 >= maRedlineTable.size() ||
+ (*maRedlineTable[ n+1 ]->Start() >= *pEnd &&
+  *maRedlineTable[ n+1 ]->Start() != *pREnd)))
 {
 // If that's the case we can merge it, meaning
 // the new one covers this well


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

2022-03-09 Thread Michael Stahl (via logerrit)
 sw/source/core/edit/edlingu.cxx  |   19 +++
 sw/source/uibase/uiview/viewling.cxx |9 -
 2 files changed, 23 insertions(+), 5 deletions(-)

New commits:
commit e07b9c5142af838648a4d03a0bdce76612cf7535
Author: Michael Stahl 
AuthorDate: Tue Mar 8 13:58:28 2022 +0100
Commit: Michael Stahl 
CommitDate: Wed Mar 9 10:43:06 2022 +0100

tdf#147416 sw_redlinehide: fix spell checking popup

The problem is that SwEditShell::GetCorrection() uses the SwTextNode
text without filtering redlines.

Using ExpandMode::ReplaceMode should work as it will replace
CH_TXTATR_INWORD with nothing and CH_TXTATR_BREAKWORD with ZWSP.

Unfortunately there isn't yet a mode that can handle fieldmarks as they
are displayed in the layout.

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

diff --git a/sw/source/core/edit/edlingu.cxx b/sw/source/core/edit/edlingu.cxx
index 3c0d8b2e8524..9c6228dffbf7 100644
--- a/sw/source/core/edit/edlingu.cxx
+++ b/sw/source/core/edit/edlingu.cxx
@@ -840,11 +840,16 @@ void SwEditShell::HandleCorrectionError(const OUString& 
aText, SwPosition aPos,
 SwRect& rSelectRect)
 {
 // save the start and end positions of the line and the starting point
+SwNode const& rNode(GetCursor()->GetPoint()->nNode.GetNode());
 Push();
 LeftMargin();
-const sal_Int32 nLineStart = GetCursor()->GetPoint()->nContent.GetIndex();
+const sal_Int32 nLineStart = &rNode == 
&GetCursor()->GetPoint()->nNode.GetNode()
+? GetCursor()->GetPoint()->nContent.GetIndex()
+: 0;
 RightMargin();
-const sal_Int32 nLineEnd = GetCursor()->GetPoint()->nContent.GetIndex();
+const sal_Int32 nLineEnd = &rNode == 
&GetCursor()->GetPoint()->nNode.GetNode()
+? GetCursor()->GetPoint()->nContent.GetIndex()
+: rNode.GetTextNode()->Len();
 Pop(PopMode::DeleteCurrent);
 
 // make sure the selection build later from the data below does
@@ -927,8 +932,14 @@ uno::Reference< XSpellAlternatives >
 if (pWrong->InWrongWord(nBegin, nLen) && !pNode->IsSymbolAt(nBegin))
 {
 const OUString aText(pNode->GetText().copy(nBegin, nLen));
-OUString aWord = 
aText.replaceAll(OUStringChar(CH_TXTATR_BREAKWORD), "")
-  .replaceAll(OUStringChar(CH_TXTATR_INWORD), 
"");
+// TODO: this doesn't handle fieldmarks properly
+ModelToViewHelper const aConversionMap(*pNode, GetLayout(),
+ExpandMode::ExpandFields | ExpandMode::ExpandFootnote | 
ExpandMode::ReplaceMode
+| (GetLayout()->IsHideRedlines() ? ExpandMode::HideDeletions : 
ExpandMode(0))
+| (GetViewOptions()->IsShowHiddenChar() ? ExpandMode(0) : 
ExpandMode::HideInvisible));
+auto const 
nBeginView(aConversionMap.ConvertToViewPosition(nBegin));
+OUString const aWord(aConversionMap.getViewText().copy(nBeginView,
+aConversionMap.ConvertToViewPosition(nBegin+nLen) - 
nBeginView));
 
 uno::Reference< XSpellChecker1 >  xSpell( ::GetSpellChecker() );
 if( xSpell.is() )
commit d814941b31b4f9cc8b6e9bd4ddc5188015529707
Author: Michael Stahl 
AuthorDate: Tue Mar 8 13:54:08 2022 +0100
Commit: Michael Stahl 
CommitDate: Wed Mar 9 10:42:53 2022 +0100

sw_redlinehide: get text from shell, not node in ExecSpellPopup()

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

diff --git a/sw/source/uibase/uiview/viewling.cxx 
b/sw/source/uibase/uiview/viewling.cxx
index 93b2d5577da9..854108274fbe 100644
--- a/sw/source/uibase/uiview/viewling.cxx
+++ b/sw/source/uibase/uiview/viewling.cxx
@@ -692,7 +692,14 @@ bool SwView::ExecSpellPopup(const Point& rPt)
 // get paragraph text
 OUString aParaText;
 if (pNode)
-aParaText = pNode->GetText();// this may include 
hidden text but that should be Ok
+{
+pCursorShell->Push();
+pCursorShell->MovePara(GoCurrPara, fnParaStart);
+pCursorShell->SetMark();
+pCursorShell->MovePara(GoCurrPara, fnParaEnd);
+aParaText = pCursorShell->GetSelText();
+pCursorShell->Pop(SwCursorShell::PopMode::DeleteCurrent);
+}
 else
 {
 OSL_FAIL("text node expected but not found" );


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

2022-03-09 Thread Michael Stahl (via logerrit)
 sw/source/core/txtnode/modeltoviewhelper.cxx |8 +++-
 1 file changed, 7 insertions(+), 1 deletion(-)

New commits:
commit bc9eaec36f2fcc9f9263da84480856cfbdca0c99
Author: Michael Stahl 
AuthorDate: Tue Mar 8 14:13:28 2022 +0100
Commit: Michael Stahl 
CommitDate: Wed Mar 9 10:45:53 2022 +0100

sw: ModelToViewHelper: replace RES_TXTATR_ANNOTATION with nothing

It's a field but unlike other fields uses CH_TXTATR_INWORD so it
probably shouldn't break words.

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

diff --git a/sw/source/core/txtnode/modeltoviewhelper.cxx 
b/sw/source/core/txtnode/modeltoviewhelper.cxx
index 0ddcbcd8e545..fa9b8f790860 100644
--- a/sw/source/core/txtnode/modeltoviewhelper.cxx
+++ b/sw/source/core/txtnode/modeltoviewhelper.cxx
@@ -253,8 +253,14 @@ ModelToViewHelper::ModelToViewHelper(const SwTextNode 
&rNode,
 FieldResult aFieldResult(nDummyCharPos);
 switch (pAttr->Which())
 {
-case RES_TXTATR_FIELD:
 case RES_TXTATR_ANNOTATION:
+if (eMode & ExpandMode::ExpandFields)
+{
+// this uses CH_TXTATR_INWORD so replace with 
nothing
+aFieldResult.m_eType = FieldResult::FIELD;
+}
+break;
+case RES_TXTATR_FIELD:
 if (eMode & ExpandMode::ExpandFields)
 {
 // add a ZWSP before the expanded field in 
replace mode


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

2022-03-09 Thread Noel Grandin (via logerrit)
 sw/source/filter/ww8/docxattributeoutput.cxx |   24 +---
 sw/source/filter/ww8/docxexport.cxx  |6 -
 sw/source/filter/ww8/rtfattributeoutput.cxx  |   22 +--
 sw/source/filter/ww8/rtfsdrexport.cxx|2 
 sw/source/filter/ww8/wrtw8esh.cxx|  156 +++
 sw/source/filter/ww8/wrtw8nds.cxx|   51 +++-
 sw/source/filter/ww8/wrtw8sty.cxx|   32 ++---
 sw/source/filter/ww8/wrtww8.cxx  |   19 +--
 sw/source/filter/ww8/wrtww8gr.cxx|  105 --
 9 files changed, 182 insertions(+), 235 deletions(-)

New commits:
commit 3ae0aa5e200a57cb30b6ca0131e7b6b7acb49791
Author: Noel Grandin 
AuthorDate: Wed Mar 9 09:55:08 2022 +0200
Commit: Noel Grandin 
CommitDate: Wed Mar 9 10:48:55 2022 +0100

use SfxItemSet::GetItemIfSet in sw/.../ww8

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

diff --git a/sw/source/filter/ww8/docxattributeoutput.cxx 
b/sw/source/filter/ww8/docxattributeoutput.cxx
index 6f3601ff0815..a0fd9fd0f995 100644
--- a/sw/source/filter/ww8/docxattributeoutput.cxx
+++ b/sw/source/filter/ww8/docxattributeoutput.cxx
@@ -5265,14 +5265,13 @@ void DocxAttributeOutput::WriteSrcRect(
 sal_Int32 nCropB = aGraphicCropStruct.Bottom;
 
 // simulate border padding as a negative crop.
-const SfxPoolItem* pItem;
-if (pFrameFormat && SfxItemState::SET == 
pFrameFormat->GetItemState(RES_BOX, false, &pItem))
+const SvxBoxItem* pBoxItem;
+if (pFrameFormat && (pBoxItem = pFrameFormat->GetItemIfSet(RES_BOX, 
false)))
 {
-const SvxBoxItem& rBox = *static_cast(pItem);
-nCropL -= rBox.GetDistance( SvxBoxItemLine::LEFT );
-nCropR -= rBox.GetDistance( SvxBoxItemLine::RIGHT );
-nCropT -= rBox.GetDistance( SvxBoxItemLine::TOP );
-nCropB -= rBox.GetDistance( SvxBoxItemLine::BOTTOM );
+nCropL -= pBoxItem->GetDistance( SvxBoxItemLine::LEFT );
+nCropR -= pBoxItem->GetDistance( SvxBoxItemLine::RIGHT );
+nCropT -= pBoxItem->GetDistance( SvxBoxItemLine::TOP );
+nCropB -= pBoxItem->GetDistance( SvxBoxItemLine::BOTTOM );
 }
 
 if ( !((0 != nCropL) || (0 != nCropT) || (0 != nCropR) || (0 != nCropB)) )
@@ -5430,10 +5429,8 @@ void DocxAttributeOutput::FlyFrameGraphic( const 
SwGrfNode* pGrfNode, const Size
 
 // In case there are any grab-bag items on the graphic frame, emit them 
now.
 // These are always character grab-bags, as graphics are at-char or 
as-char in Word.
-const SfxPoolItem* pItem = nullptr;
-if (pFrameFormat->GetAttrSet().HasItem(RES_FRMATR_GRABBAG, &pItem))
+if (const SfxGrabBagItem* pGrabBag = 
pFrameFormat->GetAttrSet().GetItemIfSet(RES_FRMATR_GRABBAG))
 {
-const SfxGrabBagItem* pGrabBag = static_cast(pItem);
 CharGrabBag(*pGrabBag);
 }
 
@@ -5552,11 +5549,10 @@ void DocxAttributeOutput::FlyFrameGraphic( const 
SwGrfNode* pGrfNode, const Size
 else
 m_pSerializer->startElementNS(XML_a, XML_blip, FSNS(XML_r, 
nImageType), aRelId);
 
-pItem = nullptr;
-
-if ( pGrfNode && SfxItemState::SET == 
pGrfNode->GetSwAttrSet().GetItemState(RES_GRFATR_DRAWMODE, true, &pItem))
+const SfxEnumItemInterface* pGrafModeItem = nullptr;
+if ( pGrfNode && (pGrafModeItem = 
pGrfNode->GetSwAttrSet().GetItemIfSet(RES_GRFATR_DRAWMODE)))
 {
-GraphicDrawMode nMode = static_cast(static_cast(pItem)->GetEnumValue());
+GraphicDrawMode nMode = 
static_cast(pGrafModeItem->GetEnumValue());
 if (nMode == GraphicDrawMode::Greys)
 m_pSerializer->singleElementNS (XML_a, XML_grayscl);
 else if (nMode == GraphicDrawMode::Mono) //black/white has a 0,5 
threshold in LibreOffice
diff --git a/sw/source/filter/ww8/docxexport.cxx 
b/sw/source/filter/ww8/docxexport.cxx
index c5518afa822f..51534eda5e7c 100644
--- a/sw/source/filter/ww8/docxexport.cxx
+++ b/sw/source/filter/ww8/docxexport.cxx
@@ -1168,10 +1168,10 @@ void DocxExport::WriteSettings()
 
 // Hyphenation details set depending on default style
 SwTextFormatColl* pColl = 
m_rDoc.getIDocumentStylePoolAccess().GetTextCollFromPool(RES_POOLCOLL_STANDARD, 
/*bRegardLanguage=*/false);
-const SfxPoolItem* pItem;
-if (pColl && SfxItemState::SET == 
pColl->GetItemState(RES_PARATR_HYPHENZONE, false, &pItem))
+const SvxHyphenZoneItem* pZoneItem;
+if (pColl && (pZoneItem = pColl->GetItemIfSet(RES_PARATR_HYPHENZONE, 
false)))
 {
-if (static_cast(pItem)->IsNoCapsHyphenation())
+if (pZoneItem->IsNoCapsHyphenation())
 pFS->singleElementNS(XML_w, XML_doNotHyphenateCaps);
 }
 
diff --git a/sw/source/filter/ww8/rtfattributeoutput.cxx 
b/sw/source/filter/ww8/rtfattributeoutput.cxx
index 925b8ddbf016..56c126762fdf 100644
--- a/sw/source/filter/ww8/rtfattributeoutput.cxx
+++ b/sw/source/filter/ww8/rtfatt

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

2022-03-09 Thread Mike Kaganski (via logerrit)
 vcl/source/window/menu.cxx |2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

New commits:
commit 4e76c3ab5f029a4a4bb1042ad225edc1116e4b44
Author: Mike Kaganski 
AuthorDate: Tue Mar 8 12:08:34 2022 +0300
Commit: Mike Kaganski 
CommitDate: Wed Mar 9 10:50:55 2022 +0100

Related: tdf#146551 Make image and native checkmark same size in menu

Commit 1be170d0629cf761f0ee4173007a3c021966546e tweaked the checked
background rectangle to be 1 pixel shorter, to address the asymmetric
vertical position of the rectangle on Windows, where toolbox button
draw (used for the checked image state on menu) has 1 pixel smaller
height than requested; but that seems incorrect. The native checkmark
is drawn on e.g. 22 pixel high rectangle, while image background was
20 pixel high after the abovementioned change.

So instead of making top a bit lower, keep it as it was (aligned with
the top of the menu item), and move its bottom 1 pixel down, to align
with menu item's bottom.

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

diff --git a/vcl/source/window/menu.cxx b/vcl/source/window/menu.cxx
index 6af85523f8a1..e06438828016 100644
--- a/vcl/source/window/menu.cxx
+++ b/vcl/source/window/menu.cxx
@@ -1628,7 +1628,7 @@ static void ImplPaintCheckBackground(vcl::RenderContext & 
rRenderContext, vcl::W
 ImplControlValueaControlValue;
 aControlValue.setTristateVal(ButtonValue::On);
 tools::Rectangle r = i_rRect;
-r.AdjustTop(1);
+r.AdjustBottom(1);
 
 bNativeOk = rRenderContext.DrawNativeControl(ControlType::Toolbar, 
ControlPart::Button,
  r,


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

2022-03-09 Thread Noel Grandin (via logerrit)
 sw/source/filter/xml/xmlfmt.cxx   |8 +-
 sw/source/filter/xml/xmlfmte.cxx  |   16 ++---
 sw/source/filter/xml/xmlitem.cxx  |7 +-
 sw/source/filter/xml/xmliteme.cxx |   16 ++---
 sw/source/filter/xml/xmltble.cxx  |  108 --
 sw/source/filter/xml/xmltbli.cxx  |   36 +++-
 6 files changed, 64 insertions(+), 127 deletions(-)

New commits:
commit 35dc4d32de59f14c388239449d4e89e0a5c4509b
Author: Noel Grandin 
AuthorDate: Wed Mar 9 09:00:05 2022 +0200
Commit: Noel Grandin 
CommitDate: Wed Mar 9 10:57:56 2022 +0100

use SfxItemSet::GetItemIfSet in sw/.../xml

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

diff --git a/sw/source/filter/xml/xmlfmt.cxx b/sw/source/filter/xml/xmlfmt.cxx
index e8dd4cb97861..d107828a2981 100644
--- a/sw/source/filter/xml/xmlfmt.cxx
+++ b/sw/source/filter/xml/xmlfmt.cxx
@@ -643,13 +643,11 @@ void SwXMLItemSetStyleContext_Impl::ConnectPageDesc()
 m_oItemSet.emplace( rItemPool, aTableSetRange );
 }
 
-const SfxPoolItem *pItem;
 std::unique_ptr pFormatPageDesc;
-if( SfxItemState::SET == m_oItemSet->GetItemState( RES_PAGEDESC, false,
-&pItem ) )
+if( const SwFormatPageDesc* pItem = m_oItemSet->GetItemIfSet( 
RES_PAGEDESC, false ) )
 {
- if( static_cast(pItem)->GetPageDesc() != 
pPageDesc )
-pFormatPageDesc.reset(new SwFormatPageDesc( *static_cast(pItem) ));
+ if( pItem->GetPageDesc() != pPageDesc )
+pFormatPageDesc.reset(new SwFormatPageDesc( *pItem ));
 }
 else
 pFormatPageDesc.reset(new SwFormatPageDesc());
diff --git a/sw/source/filter/xml/xmlfmte.cxx b/sw/source/filter/xml/xmlfmte.cxx
index f7866c5290f8..60e650e48e72 100644
--- a/sw/source/filter/xml/xmlfmte.cxx
+++ b/sw/source/filter/xml/xmlfmte.cxx
@@ -81,13 +81,11 @@ void SwXMLExport::ExportFormat( const SwFormat& rFormat, 
enum XMLTokenEnum eFami
 // style:master-page-name
 if( RES_FRMFMT == rFormat.Which() && XML_TABLE == eFamily )
 {
-const SfxPoolItem *pItem;
-if( SfxItemState::SET == rFormat.GetAttrSet().GetItemState( 
RES_PAGEDESC,
-false, &pItem ) )
+if( const SwFormatPageDesc* pItem = rFormat.GetAttrSet().GetItemIfSet( 
RES_PAGEDESC,
+false ) )
 {
 OUString sName;
-const SwPageDesc *pPageDesc =
-static_cast(pItem)->GetPageDesc();
+const SwPageDesc *pPageDesc = pItem->GetPageDesc();
 if( pPageDesc )
 SwStyleNameMapper::FillProgName(
 pPageDesc->GetName(),
@@ -102,12 +100,10 @@ void SwXMLExport::ExportFormat( const SwFormat& rFormat, 
enum XMLTokenEnum eFami
 {
 OSL_ENSURE(RES_FRMFMT == rFormat.Which(), "only frame format");
 
-const SfxPoolItem *pItem;
-if( SfxItemState::SET ==
-rFormat.GetAttrSet().GetItemState( RES_BOXATR_FORMAT,
-false, &pItem ) )
+if( const SwTableBoxNumFormat *pItem =
+rFormat.GetAttrSet().GetItemIfSet( RES_BOXATR_FORMAT, false ) )
 {
-sal_Int32 nFormat = static_cast(static_cast(pItem)->GetValue());
+sal_Int32 nFormat = static_cast(pItem->GetValue());
 
 if ( (nFormat != -1) && (nFormat != 
static_cast(getSwDefaultTextFormat())) )
 {
diff --git a/sw/source/filter/xml/xmlitem.cxx b/sw/source/filter/xml/xmlitem.cxx
index 3bd1bad6b234..32c45bb5392e 100644
--- a/sw/source/filter/xml/xmlitem.cxx
+++ b/sw/source/filter/xml/xmlitem.cxx
@@ -81,13 +81,12 @@ SvXMLImportContextRef 
SwXMLItemSetContext::createFastChildContext( sal_Int32 nEl
 {
 case RES_BACKGROUND:
 {
-const SfxPoolItem *pItem;
-if( SfxItemState::SET == m_rItemSet.GetItemState( RES_BACKGROUND,
-   false, &pItem ) )
+if( const SvxBrushItem* pItem = m_rItemSet.GetItemIfSet( 
RES_BACKGROUND,
+   false ) )
 {
 xContext = new SwXMLBrushItemImportContext(
 GetImport(), nElement, xAttrList,
-m_rUnitConv, *static_cast(pItem) );
+m_rUnitConv, *pItem );
 }
 else
 {
diff --git a/sw/source/filter/xml/xmliteme.cxx 
b/sw/source/filter/xml/xmliteme.cxx
index d60cc12b7d12..1d570b64a914 100644
--- a/sw/source/filter/xml/xmliteme.cxx
+++ b/sw/source/filter/xml/xmliteme.cxx
@@ -110,13 +110,11 @@ void SwXMLTableItemMapper_Impl::handleSpecialItem(
 
 case RES_PRINT:
 {
-const 

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

2022-03-09 Thread Tor Lillqvist (via logerrit)
 vcl/ios/DataFlavorMapping.cxx|2 +-
 vcl/source/treelist/transfer.cxx |4 ++--
 2 files changed, 3 insertions(+), 3 deletions(-)

New commits:
commit b05c1a717861c6f0353581dc6a0aa894693be538
Author: Tor Lillqvist 
AuthorDate: Thu Dec 16 19:24:20 2021 +0200
Commit: Tor Lillqvist 
CommitDate: Wed Mar 9 12:21:53 2022 +0200

Fix iOS compilation after recent changes to Sequence

Change-Id: I73c519174029766a3a2f61f9ad93fd63589b8184
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/126957
Tested-by: Jenkins
Reviewed-by: Tor Lillqvist 

diff --git a/vcl/ios/DataFlavorMapping.cxx b/vcl/ios/DataFlavorMapping.cxx
index 6a3815cf7eb3..05abf2b8a6f9 100644
--- a/vcl/ios/DataFlavorMapping.cxx
+++ b/vcl/ios/DataFlavorMapping.cxx
@@ -559,7 +559,7 @@ DataFlavorMapper::typesArrayToFlavorSequence(NSArray* 
types) const
 if (isValidFlavor(oOOFlavor))
 {
 flavors.realloc(flavors.getLength() + 1);
-flavors[flavors.getLength() - 1] = oOOFlavor;
+flavors.getArray()[flavors.getLength() - 1] = oOOFlavor;
 SAL_INFO("vcl.ios.clipboard",
  "Mapped " << [sysFormat UTF8String] << " to " << 
oOOFlavor.MimeType);
 }
diff --git a/vcl/source/treelist/transfer.cxx b/vcl/source/treelist/transfer.cxx
index 81c99653578f..6875154d5ba3 100644
--- a/vcl/source/treelist/transfer.cxx
+++ b/vcl/source/treelist/transfer.cxx
@@ -666,7 +666,7 @@ bool TransferableHelper::SetBitmapEx( const BitmapEx& 
rBitmapEx, const DataFlavo
 #ifdef IOS
 // Use faster compression on slow devices
 aFilterData.realloc(aFilterData.getLength() + 1);
-aFilterData[aFilterData.getLength() - 1].Name = "Compression";
+aFilterData.getArray()[aFilterData.getLength() - 1].Name = 
"Compression";
 
 // We "know" that this gets passed to zlib's deflateInit2_(). 1 
means best speed. For a
 // typical 15 megapixel image from a DSLR, we are talking about a 
difference of 17 s for
@@ -675,7 +675,7 @@ bool TransferableHelper::SetBitmapEx( const BitmapEx& 
rBitmapEx, const DataFlavo
 // Sure, the best would be to not have to re-encode the image at 
all, but have access to
 // the original JPEG or PNG when there is a such.
 
-aFilterData[aFilterData.getLength() - 1].Value <<= 1;
+aFilterData.getArray()[aFilterData.getLength() - 1].Value <<= 1;
 #endif
 vcl::PNGWriter aPNGWriter(rBitmapEx, &aFilterData);
 


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

2022-03-09 Thread Caolán McNamara (via logerrit)
 hwpfilter/source/hwpreader.cxx |   23 ---
 1 file changed, 12 insertions(+), 11 deletions(-)

New commits:
commit 6821d3ea7af00edc9e403581b029cf164dae4899
Author: Caolán McNamara 
AuthorDate: Wed Mar 9 09:15:59 2022 +
Commit: Caolán McNamara 
CommitDate: Wed Mar 9 12:00:59 2022 +0100

ofz#45385 Integer-overflow

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

diff --git a/hwpfilter/source/hwpreader.cxx b/hwpfilter/source/hwpreader.cxx
index c0feb4f5b61d..0db70d2aa685 100644
--- a/hwpfilter/source/hwpreader.cxx
+++ b/hwpfilter/source/hwpreader.cxx
@@ -28,6 +28,7 @@
 #include 
 #include 
 #include 
+#include 
 
 #include "fontmap.hxx"
 #include "formula.h"
@@ -3907,28 +3908,28 @@ void HwpReader::makePictureDRAW(HWPDrawingObject 
*drawobj, Picture * hbox)
 int i;
 ZZParall *pal = &drawobj->property.parall;
 
-ZZPoint pt[3], r_pt[3];
+basegfx::B2DPoint pt[3], r_pt[3];
 for(i = 0 ; i < 3 ; i++ ){
- pt[i].x = pal->pt[i].x - 
drawobj->property.rot_originx;
+ pt[i].setX(pal->pt[i].x - 
drawobj->property.rot_originx);
  /* Convert to a physical coordinate */
- pt[i].y = -(pal->pt[i].y - 
drawobj->property.rot_originy);
+ pt[i].setY(-(pal->pt[i].y - 
drawobj->property.rot_originy));
 }
 
-double rotate, skewX ;
+double skewX;
 
 /* 2 - rotation angle calculation */
-rotate = atan2( pt[1].y - pt[0].y, pt[1].x - pt[0].x );
+double rotate = atan2(pt[1].getY() - pt[0].getY(), 
pt[1].getX() - pt[0].getX());
 
 for( i = 0 ; i < 3 ; i++){
- r_pt[i].x = static_cast(pt[i].x * cos(-rotate) - 
pt[i].y * sin(-rotate));
- r_pt[i].y = static_cast(pt[i].y * cos(-rotate) + 
pt[i].x * sin(-rotate));
+ r_pt[i].setX(pt[i].getX() * cos(-rotate) - 
pt[i].getY() * sin(-rotate));
+ r_pt[i].setY(pt[i].getY() * cos(-rotate) + 
pt[i].getX() * sin(-rotate));
 }
 
 /* 4 - Calculation of reflex angle */
-if( r_pt[2].y == r_pt[1].y )
+if (r_pt[2].getY() == r_pt[1].getY())
  skewX = 0;
 else
- skewX = atan(static_cast(r_pt[2].x - 
r_pt[1].x )/( r_pt[2].y - r_pt[1].y ));
+ skewX = atan((r_pt[2].getX() - r_pt[1].getX()) / 
(r_pt[2].getY() - r_pt[1].getY()));
 if( skewX >= M_PI_2 )
  skewX -= M_PI;
 if( skewX <= -M_PI_2 )
@@ -3955,8 +3956,8 @@ void HwpReader::makePictureDRAW(HWPDrawingObject 
*drawobj, Picture * hbox)
 bIsRotate = true;
 }
 if( bIsRotate ){
-drawobj->extent.w = 
static_cast(std::hypot(pt[1].x-pt[0].x, pt[1].y-pt[0].y));
-drawobj->extent.h = 
static_cast(std::hypot(pt[2].x-pt[1].x, pt[2].y-pt[1].y));
+drawobj->extent.w = 
static_cast(std::hypot(pt[1].getX() - pt[0].getX(), pt[1].getY() - 
pt[0].getY()));
+drawobj->extent.h = 
static_cast(std::hypot(pt[2].getX() - pt[1].getX(), pt[2].getY() - 
pt[1].getY()));
 mxList->addAttribute("draw:transform", sXML_CDATA, trans);
 }
 }


[Libreoffice-commits] core.git: Branch 'distro/collabora/co-22.05' - configure.ac helpcompiler/Module_helpcompiler.mk RepositoryExternal.mk

2022-03-09 Thread Jan-Marek Glogowski (via logerrit)
 RepositoryExternal.mk   |2 +-
 configure.ac|9 -
 helpcompiler/Module_helpcompiler.mk |2 +-
 3 files changed, 10 insertions(+), 3 deletions(-)

New commits:
commit ef47b4c2aa50b74d1f337f764428bfb1a537faa8
Author: Jan-Marek Glogowski 
AuthorDate: Tue Dec 21 14:12:10 2021 +0100
Commit: Andras Timar 
CommitDate: Wed Mar 9 12:31:43 2022 +0100

Don't build clucene if not needed

Just build it if HELPTOOLS or XMLHELP are in BUILD_TYPE. And
simply tets for clucene just in this case. And since XMLHELP
is not in the list of PERMITTED_BUILD_TARGETS, disable it.

Change-Id: I13fdbf096c60191a428e23c22344f7e22e8c5d66
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/127231
Tested-by: Jenkins
Reviewed-by: Jan-Marek Glogowski 

diff --git a/RepositoryExternal.mk b/RepositoryExternal.mk
index 9044f574bc81..d86edc543e44 100644
--- a/RepositoryExternal.mk
+++ b/RepositoryExternal.mk
@@ -2940,7 +2940,7 @@ $(call gb_LinkTarget_use_libraries,$(1),\
 endef
 
 $(eval $(call gb_Helper_register_libraries_for_install,PLAINLIBS_OOO,ooo,\
-   clucene \
+$(call gb_Helper_optionals_or,HELPTOOLS XMLHELP,clucene) \
 ))
 
 endif # SYSTEM_CLUCENE
diff --git a/configure.ac b/configure.ac
index 03e7fc52d688..a7d6267c73cc 100644
--- a/configure.ac
+++ b/configure.ac
@@ -813,6 +813,7 @@ disable_database_connectivity_dependencies()
 # ===
 build_crypto=yes
 test_cmis=yes
+test_clucene=no
 test_gdb_index=no
 test_openldap=yes
 test_split_debug=no
@@ -5413,6 +5414,7 @@ fi
 AC_MSG_CHECKING([if we need to build the help index tooling])
 if test "$with_help" = yes -o "$enable_extension_integration" != no; then
 BUILD_TYPE="$BUILD_TYPE HELPTOOLS"
+test_clucene=yes
 AC_MSG_RESULT([yes])
 else
 AC_MSG_RESULT([no])
@@ -5442,6 +5444,7 @@ fi
 AC_MSG_CHECKING([whether to include the XML-help support])
 if test "$enable_xmlhelp" = yes; then
 BUILD_TYPE="$BUILD_TYPE XMLHELP"
+test_clucene=yes
 AC_DEFINE(HAVE_FEATURE_XMLHELP)
 AC_MSG_RESULT([yes])
 else
@@ -5552,6 +,7 @@ if test "$cross_compiling" = "yes"; then
 --build="$build_alias" \
 --disable-cairo-canvas \
 --disable-cups \
+--disable-customtarget-components \
 --disable-firebird-sdbc \
 --disable-gpgmepp \
 --disable-gstreamer-1-0 \
@@ -5564,6 +5568,7 @@ if test "$cross_compiling" = "yes"; then
 --disable-pdfimport \
 --disable-postgresql-sdbc \
 --disable-skia \
+--disable-xmlhelp \
 --enable-icecream="$enable_icecream" \
 --without-doxygen \
 --without-webdav \
@@ -9324,8 +9329,8 @@ dnl 
===
 dnl we should rather be using
 dnl libo_CHECK_SYSTEM_MODULE([clucence],[CLUCENE],[liblucence-core]) here
 dnl but the contribs-lib check seems tricky
-if test "$enable_xmlhelp" = yes -o "$enable_extension_integration" = yes; then
 AC_MSG_CHECKING([which clucene to use])
+if test "$test_clucene" = yes; then
 if test "$with_system_clucene" = "yes"; then
 AC_MSG_RESULT([external])
 SYSTEM_CLUCENE=TRUE
@@ -9352,6 +9357,8 @@ else
 SYSTEM_CLUCENE=
 BUILD_TYPE="$BUILD_TYPE CLUCENE"
 fi
+else
+AC_MSG_RESULT([not needed])
 fi
 AC_SUBST(SYSTEM_CLUCENE)
 AC_SUBST(CLUCENE_CFLAGS)
diff --git a/helpcompiler/Module_helpcompiler.mk 
b/helpcompiler/Module_helpcompiler.mk
index 146e3868df3f..344faba3a1b8 100644
--- a/helpcompiler/Module_helpcompiler.mk
+++ b/helpcompiler/Module_helpcompiler.mk
@@ -10,7 +10,7 @@
 $(eval $(call gb_Module_Module,helpcompiler))
 
 $(eval $(call gb_Module_add_targets,helpcompiler,\
-Library_helplinker \
+$(call gb_Helper_optionals_or,HELPTOOLS XMLHELP,Library_helplinker) \
 ))
 
 $(eval $(call gb_Module_add_targets_for_build,helpcompiler,\


[Libreoffice-commits] core.git: icon-themes/colibre icon-themes/colibre_svg

2022-03-09 Thread Rizal Muttaqin (via logerrit)
 icon-themes/colibre/cmd/32/ar/recsave.png  |binary
 icon-themes/colibre/cmd/32/deleteprintarea.png |binary
 icon-themes/colibre/cmd/32/editprintarea.png   |binary
 icon-themes/colibre/cmd/32/mailmergeprintdocuments.png |binary
 icon-themes/colibre/cmd/32/printlayout.png |binary
 icon-themes/colibre/cmd/32/recsave.png |binary
 icon-themes/colibre/cmd/32/save.png|binary
 icon-themes/colibre/cmd/32/saveas.png  |binary
 icon-themes/colibre/cmd/32/saveasremote.png|binary
 icon-themes/colibre/cmd/32/saveastemplate.png  |binary
 icon-themes/colibre/cmd/lc_mailmergeprintdocuments.png |binary
 icon-themes/colibre/cmd/lc_printlayout.png |binary
 icon-themes/colibre/cmd/sc_addprintarea.png|binary
 icon-themes/colibre/cmd/sc_defineprintarea.png |binary
 icon-themes/colibre/cmd/sc_deleteprintarea.png |binary
 icon-themes/colibre/cmd/sc_editprintarea.png   |binary
 icon-themes/colibre/cmd/sc_mailmergeprintdocuments.png |binary
 icon-themes/colibre/cmd/sc_printlayout.png |binary
 icon-themes/colibre/res/printeradmin_16.png|binary
 icon-themes/colibre/res/printeradmin_32.png|binary
 icon-themes/colibre/res/savemodified_extralarge.png|binary
 icon-themes/colibre_svg/cmd/32/ar/recsave.svg  |2 +-
 icon-themes/colibre_svg/cmd/32/deleteprintarea.svg |2 +-
 icon-themes/colibre_svg/cmd/32/editprintarea.svg   |2 +-
 icon-themes/colibre_svg/cmd/32/mailmergeprintdocuments.svg |2 +-
 icon-themes/colibre_svg/cmd/32/printlayout.svg |2 +-
 icon-themes/colibre_svg/cmd/32/recsave.svg |2 +-
 icon-themes/colibre_svg/cmd/32/save.svg|2 +-
 icon-themes/colibre_svg/cmd/32/saveas.svg  |2 +-
 icon-themes/colibre_svg/cmd/32/saveasremote.svg|2 +-
 icon-themes/colibre_svg/cmd/32/saveastemplate.svg  |2 +-
 icon-themes/colibre_svg/cmd/lc_mailmergeprintdocuments.svg |2 +-
 icon-themes/colibre_svg/cmd/lc_printlayout.svg |2 +-
 icon-themes/colibre_svg/cmd/sc_addprintarea.svg|3 ++-
 icon-themes/colibre_svg/cmd/sc_defineprintarea.svg |3 ++-
 icon-themes/colibre_svg/cmd/sc_deleteprintarea.svg |3 ++-
 icon-themes/colibre_svg/cmd/sc_editprintarea.svg   |3 ++-
 icon-themes/colibre_svg/cmd/sc_mailmergeprintdocuments.svg |3 ++-
 icon-themes/colibre_svg/cmd/sc_printlayout.svg |3 ++-
 icon-themes/colibre_svg/res/printeradmin_16.svg|3 ++-
 icon-themes/colibre_svg/res/printeradmin_32.svg|2 +-
 icon-themes/colibre_svg/res/savemodified_extralarge.svg|2 +-
 42 files changed, 28 insertions(+), 21 deletions(-)

New commits:
commit dd4dbc70d413ada95632eb818b4d435a14e87303
Author: Rizal Muttaqin 
AuthorDate: Wed Mar 9 19:05:23 2022 +0700
Commit: Rizal Muttaqin 
CommitDate: Wed Mar 9 13:55:22 2022 +0100

Colibre: Update some save icons & icons with print element

Change-Id: Ib16046509ba51069f21f5c5bb79fc79b1bb9e2b7
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/131240
Tested-by: Jenkins
Reviewed-by: Rizal Muttaqin 

diff --git a/icon-themes/colibre/cmd/32/ar/recsave.png 
b/icon-themes/colibre/cmd/32/ar/recsave.png
index ecb925d2d1d3..a3d8c62213bb 100644
Binary files a/icon-themes/colibre/cmd/32/ar/recsave.png and 
b/icon-themes/colibre/cmd/32/ar/recsave.png differ
diff --git a/icon-themes/colibre/cmd/32/deleteprintarea.png 
b/icon-themes/colibre/cmd/32/deleteprintarea.png
index 9a906f41fae3..f0f4af2529e1 100644
Binary files a/icon-themes/colibre/cmd/32/deleteprintarea.png and 
b/icon-themes/colibre/cmd/32/deleteprintarea.png differ
diff --git a/icon-themes/colibre/cmd/32/editprintarea.png 
b/icon-themes/colibre/cmd/32/editprintarea.png
index a38e00f5d54d..4ddbe271f90e 100644
Binary files a/icon-themes/colibre/cmd/32/editprintarea.png and 
b/icon-themes/colibre/cmd/32/editprintarea.png differ
diff --git a/icon-themes/colibre/cmd/32/mailmergeprintdocuments.png 
b/icon-themes/colibre/cmd/32/mailmergeprintdocuments.png
index c9f4608646d9..901f2acc2218 100644
Binary files a/icon-themes/colibre/cmd/32/mailmergeprintdocuments.png and 
b/icon-themes/colibre/cmd/32/mailmergeprintdocuments.png differ
diff --git a/icon-themes/colibre/cmd/32/printlayout.png 
b/icon-themes/colibre/cmd/32/printlayout.png
index 80b46d277d17..e8ca2173a081 100644
Binary files a/icon-themes/colibre/cmd/32/printlayout.png and 
b/icon-themes/colibre/cmd/32/printlayout.png differ
diff --git a/icon-themes/colibre/cmd/32/recsave.png 
b/icon-themes/colibre/cmd/32/recsave.png
index 6cce9757ec4a..e27f5e4ce2c6 100644
Binary files a/icon-themes/colibre/cmd/32/recsave.png and 
b/icon-themes/colibre/cmd/32/recsave.png diffe

[Libreoffice-commits] core.git: chart2/source sal/qa sal/rtl

2022-03-09 Thread Mike Kaganski (via logerrit)
 chart2/source/controller/main/DrawCommandDispatch.cxx |2 +-
 sal/qa/rtl/oustring/rtl_OUString2.cxx |9 -
 sal/qa/rtl/oustring/rtl_ustr.cxx  |   10 +++---
 sal/rtl/strtmpl.hxx   |1 +
 4 files changed, 9 insertions(+), 13 deletions(-)

New commits:
commit dcd5fa0a7b896fd585ef964cf62ae70d247250f1
Author: Mike Kaganski 
AuthorDate: Wed Mar 9 11:25:54 2022 +0300
Commit: Mike Kaganski 
CommitDate: Wed Mar 9 14:04:03 2022 +0100

Drop misguided test added in 82a1d32d3d3ac1b4b0a6d4cfaca791c77d9b3c03

The documented precondition is that index must not be greater than
the length of string. Just assert that, and fix the found misuse.

The added test is for in-place replacement, just in case.

Change-Id: I3c545a6f0bf913fe93e2bef83ce733359c193065
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/131232
Reviewed-by: Stephan Bergmann 
Reviewed-by: Mike Kaganski 
Tested-by: Jenkins

diff --git a/chart2/source/controller/main/DrawCommandDispatch.cxx 
b/chart2/source/controller/main/DrawCommandDispatch.cxx
index a20d2ba1a7fb..afc3b907828d 100644
--- a/chart2/source/controller/main/DrawCommandDispatch.cxx
+++ b/chart2/source/controller/main/DrawCommandDispatch.cxx
@@ -533,7 +533,7 @@ bool DrawCommandDispatch::parseCommandURL( const OUString& 
rCommandURL, sal_uInt
 OUString aBaseCommand;
 OUString aType;
 
-sal_Int32 nIndex = 1;
+sal_Int32 nIndex = std::min(sal_Int32(1), rCommandURL.getLength());
 OUString aToken = rCommandURL.getToken( 0, '.', nIndex );
 if ( nIndex == -1 || aToken.isEmpty() )
 {
diff --git a/sal/qa/rtl/oustring/rtl_OUString2.cxx 
b/sal/qa/rtl/oustring/rtl_OUString2.cxx
index 5f68629a4c09..22e731fd16f1 100644
--- a/sal/qa/rtl/oustring/rtl_OUString2.cxx
+++ b/sal/qa/rtl/oustring/rtl_OUString2.cxx
@@ -794,14 +794,6 @@ public:
 // should not GPF with negative index
 }
 
-void getToken_007()
-{
-OUString suTokenStr("a;b");
-sal_Int32 n = 5; // greater than string length
-CPPUNIT_ASSERT_EQUAL(OUString(), suTokenStr.getToken(0, ';', n));
-CPPUNIT_ASSERT_EQUAL(sal_Int32(-1), n);
-}
-
 CPPUNIT_TEST_SUITE(getToken);
 CPPUNIT_TEST(getToken_000);
 CPPUNIT_TEST(getToken_001);
@@ -810,7 +802,6 @@ public:
 CPPUNIT_TEST(getToken_004);
 CPPUNIT_TEST(getToken_005);
 CPPUNIT_TEST(getToken_006);
-CPPUNIT_TEST(getToken_007);
 CPPUNIT_TEST_SUITE_END();
 }; // class getToken
 
diff --git a/sal/qa/rtl/oustring/rtl_ustr.cxx b/sal/qa/rtl/oustring/rtl_ustr.cxx
index 873d771f9457..f5c405dfd948 100644
--- a/sal/qa/rtl/oustring/rtl_ustr.cxx
+++ b/sal/qa/rtl/oustring/rtl_ustr.cxx
@@ -1031,9 +1031,13 @@ namespace rtl_ustr
 class getToken : public CppUnit::TestFixture
 {
 void getToken_000()
-{
-// TODO
-}
+{
+OUString s("a;b;c");
+// Replace the string in place
+const sal_Int32 i = rtl_uString_getToken(&s.pData, s.pData, 1, 
';', 0);
+CPPUNIT_ASSERT_EQUAL(sal_Int32(4), i);
+CPPUNIT_ASSERT_EQUAL(OUString("b"), s);
+}
 
 CPPUNIT_TEST_SUITE(getToken);
 CPPUNIT_TEST(getToken_000);
diff --git a/sal/rtl/strtmpl.hxx b/sal/rtl/strtmpl.hxx
index 0f0cc6755eb3..07ea6d6cbba8 100644
--- a/sal/rtl/strtmpl.hxx
+++ b/sal/rtl/strtmpl.hxx
@@ -1256,6 +1256,7 @@ sal_Int32 getToken( 
IMPL_RTL_STRINGDATA** ppThis
 {
 assert(ppThis);
 assert(pStr);
+assert(nIndex <= pStr->length);
 
 // Set ppThis to an empty string and return -1 if either nToken or nIndex 
is
 // negative:


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

2022-03-09 Thread Dr. David Alan Gilbert (via logerrit)
 vcl/qa/cppunit/pdfexport/pdfexport.cxx |   73 +++--
 1 file changed, 44 insertions(+), 29 deletions(-)

New commits:
commit d8c5fdcb3f1e2fdaacc6a7e403a2077d93207c82
Author: Dr. David Alan Gilbert 
AuthorDate: Sat Feb 19 15:13:01 2022 +
Commit: Stephan Bergmann 
CommitDate: Wed Mar 9 14:05:03 2022 +0100

pdfwriter: Add check without relativeFsys

Set relativeFsys on a per-test basis and add a test with
relativeFsys off.

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

diff --git a/vcl/qa/cppunit/pdfexport/pdfexport.cxx 
b/vcl/qa/cppunit/pdfexport/pdfexport.cxx
index 60ac42adf707..35ca1c9bc051 100644
--- a/vcl/qa/cppunit/pdfexport/pdfexport.cxx
+++ b/vcl/qa/cppunit/pdfexport/pdfexport.cxx
@@ -3037,28 +3037,43 @@ CPPUNIT_TEST_FIXTURE(PdfExportTest, testURIs)
 {
 OUString in;
 OString out;
-} URIs[] = { {
- "http://example.com/";,
- "http://example.com/";,
- },
- {
- "file://localfile.odt/",
- "file://localfile.odt/",
- },
- {
- "git://git.example.org/project/example",
- "git://git.example.org/project/example",
- },
- {
- // The odt/pdf gets substituted due to 
'ConvertOOoTargetToPDFTarget'
- "filebypath.odt",
- "filebypath.pdf",
- },
- {
- // This also gets made relative due to 
'ExportLinksRelativeFsys'
- utl::TempFile::GetTempNameBaseDirectory() + 
"fileintempdir.odt",
- "fileintempdir.pdf",
- } };
+bool relativeFsys;
+} URIs[]
+= { {
+"http://example.com/";,
+"http://example.com/";,
+true,
+},
+{
+"file://localfile.odt/",
+"file://localfile.odt/",
+true,
+},
+{
+"git://git.example.org/project/example",
+"git://git.example.org/project/example",
+true,
+},
+{
+// The odt/pdf gets substituted due to 
'ConvertOOoTargetToPDFTarget'
+"filebypath.odt",
+"filebypath.pdf",
+true,
+},
+{
+// The odt/pdf gets substituted due to 
'ConvertOOoTargetToPDFTarget'
+// but this time with ExportLinksRelativeFsys off the path is 
added
+"filebypath.odt",
+OUStringToOString(utl::TempFile::GetTempNameBaseDirectory(), 
RTL_TEXTENCODING_UTF8)
++ "filebypath.pdf",
+false,
+},
+{
+// This also gets made relative due to 
'ExportLinksRelativeFsys'
+utl::TempFile::GetTempNameBaseDirectory() + 
"fileintempdir.odt",
+"fileintempdir.pdf",
+true,
+} };
 
 // Create an empty document.
 // Note: The test harness gets very upset if we try and create multiple
@@ -3073,15 +3088,15 @@ CPPUNIT_TEST_FIXTURE(PdfExportTest, testURIs)
 uno::Reference xModel(mxComponent, uno::UNO_QUERY);
 xModel->attachResource(maTempFile.GetURL(), xModel->getArgs());
 
-// Test the filename rewriting
-uno::Sequence 
aFilterData(comphelper::InitPropertySequence({
-{ "ExportLinksRelativeFsys", uno::makeAny(true) },
-{ "ConvertOOoTargetToPDFTarget", uno::makeAny(true) },
-}));
-aMediaDescriptor["FilterData"] <<= aFilterData;
-
 for (unsigned int i = 0; i < (sizeof(URIs) / sizeof(URIs[0])); i++)
 {
+// Test the filename rewriting
+uno::Sequence 
aFilterData(comphelper::InitPropertySequence({
+{ "ExportLinksRelativeFsys", uno::makeAny(URIs[i].relativeFsys) },
+{ "ConvertOOoTargetToPDFTarget", uno::makeAny(true) },
+}));
+aMediaDescriptor["FilterData"] <<= aFilterData;
+
 // Add a link (based on testNestedHyperlink in rtfexport3)
 xCursor->gotoStart(/*bExpand=*/false);
 xCursor->gotoEnd(/*bExpand=*/true);


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

2022-03-09 Thread Dr. David Alan Gilbert (via logerrit)
 vcl/qa/cppunit/pdfexport/pdfexport.cxx |6 ++
 vcl/source/gdi/pdfwriter_impl.cxx  |   16 ++--
 2 files changed, 16 insertions(+), 6 deletions(-)

New commits:
commit 9579737b36e5055d5eb72abc0ace2b9b65600c76
Author: Dr. David Alan Gilbert 
AuthorDate: Sat Nov 13 01:33:06 2021 +
Commit: Stephan Bergmann 
CommitDate: Wed Mar 9 14:05:27 2022 +0100

tdf#143216: pdfwriter: Don't treat semi-valid URIs as local paths

Currently the PDF writer treats URIs that are rejected by INetURIObject,
as local files, and prepends a path to them.  For URIs that are valid
according to the basic URI syntax, but unhandled by INetURIObject
(such as http://user:password@domain) this produces a confusing result
with a ./uri in the PDF.

Avoid the prefixing where the URI follows the basic URI syntax, even
if INetURIObject didn't like it.

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

diff --git a/vcl/qa/cppunit/pdfexport/pdfexport.cxx 
b/vcl/qa/cppunit/pdfexport/pdfexport.cxx
index 35ca1c9bc051..e7f2354b9118 100644
--- a/vcl/qa/cppunit/pdfexport/pdfexport.cxx
+++ b/vcl/qa/cppunit/pdfexport/pdfexport.cxx
@@ -3049,6 +3049,12 @@ CPPUNIT_TEST_FIXTURE(PdfExportTest, testURIs)
 "file://localfile.odt/",
 true,
 },
+{
+// tdf 143216
+"http://username:passw...@example.com";,
+"http://username:passw...@example.com";,
+true,
+},
 {
 "git://git.example.org/project/example",
 "git://git.example.org/project/example",
diff --git a/vcl/source/gdi/pdfwriter_impl.cxx 
b/vcl/source/gdi/pdfwriter_impl.cxx
index 21f085fe2660..51291604fe51 100644
--- a/vcl/source/gdi/pdfwriter_impl.cxx
+++ b/vcl/source/gdi/pdfwriter_impl.cxx
@@ -47,6 +47,7 @@
 #include 
 #include 
 #include 
+#include 
 #include 
 #include 
 #include 
@@ -3280,6 +3281,7 @@ we check in the following sequence:
 boolbTargetHasPDFExtension = false;
 INetProtocol eTargetProtocol = aTargetURL.GetProtocol();
 boolbIsUNCPath = false;
+boolbUnparsedURI = false;
 
 // check if the protocol is a known one, or if there is no 
protocol at all (on target only)
 // if there is no protocol, make the target relative to the 
current document directory
@@ -3292,14 +3294,14 @@ we check in the following sequence:
 }
 else
 {
-INetURLObject aNewBase( aDocumentURL );//duplicate 
document URL
-aNewBase.removeSegment(); //remove last segment from it, 
obtaining the base URL of the
-  //target document
-aNewBase.insertName( url );
-aTargetURL = aNewBase;//reassign the new target URL
+INetURLObject 
aNewURL(rtl::Uri::convertRelToAbs(m_aContext.BaseURL, url));
+aTargetURL = aNewURL; //reassign the new target URL
+
 //recompute the target protocol, with the new URL
 //normal URL processing resumes
 eTargetProtocol = aTargetURL.GetProtocol();
+
+bUnparsedURI = eTargetProtocol == INetProtocol::NotValid;
 }
 }
 
@@ -3415,7 +3417,9 @@ we check in the following sequence:
 //substitute the fragment
 aTargetURL.SetMark( 
OStringToOUString(aLineLoc.makeStringAndClear(), RTL_TEXTENCODING_ASCII_US) );
 }
-OUString aURL = aTargetURL.GetMainURL( bFileSpec ? 
INetURLObject::DecodeMechanism::WithCharset : 
INetURLObject::DecodeMechanism::NONE );
+OUString aURL = bUnparsedURI ? url :
+   aTargetURL.GetMainURL( 
bFileSpec ? INetURLObject::DecodeMechanism::WithCharset :
+   
   INetURLObject::DecodeMechanism::NONE );
 appendLiteralStringEncrypt(bSetRelative ? 
INetURLObject::GetRelURL( m_aContext.BaseURL, aURL,

 INetURLObject::EncodeMechanism::WasEncoded,

 bFileSpec ? INetURLObject::DecodeMechanism::WithCharset : 
INetURLObject::DecodeMechanism::NONE


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

2022-03-09 Thread Caolán McNamara (via logerrit)
 vcl/unx/gtk3/gtkinst.cxx |   14 --
 1 file changed, 8 insertions(+), 6 deletions(-)

New commits:
commit 17546fa4f630bccd92e438b613014982a8d9fc03
Author: Caolán McNamara 
AuthorDate: Wed Mar 9 11:43:37 2022 +
Commit: Caolán McNamara 
CommitDate: Wed Mar 9 14:47:06 2022 +0100

gtk4: use new mechanisms to set a11y description and label/name

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

diff --git a/vcl/unx/gtk3/gtkinst.cxx b/vcl/unx/gtk3/gtkinst.cxx
index b0566791d4f1..2d4397d43d9e 100644
--- a/vcl/unx/gtk3/gtkinst.cxx
+++ b/vcl/unx/gtk3/gtkinst.cxx
@@ -3716,25 +3716,27 @@ public:
 
 virtual void set_accessible_name(const OUString& rName) override
 {
-#if !GTK_CHECK_VERSION(4, 0, 0)
+#if GTK_CHECK_VERSION(4, 0, 0)
+gtk_accessible_update_property(GTK_ACCESSIBLE(m_pWidget), 
GTK_ACCESSIBLE_PROPERTY_LABEL,
+   OUStringToOString(rName, 
RTL_TEXTENCODING_UTF8).getStr(), -1);
+#else
 AtkObject* pAtkObject = gtk_widget_get_accessible(m_pWidget);
 if (!pAtkObject)
 return;
 atk_object_set_name(pAtkObject, OUStringToOString(rName, 
RTL_TEXTENCODING_UTF8).getStr());
-#else
-(void)rName;
 #endif
 }
 
 virtual void set_accessible_description(const OUString& rDescription) 
override
 {
-#if !GTK_CHECK_VERSION(4, 0, 0)
+#if GTK_CHECK_VERSION(4, 0, 0)
+gtk_accessible_update_property(GTK_ACCESSIBLE(m_pWidget), 
GTK_ACCESSIBLE_PROPERTY_DESCRIPTION,
+   OUStringToOString(rDescription, 
RTL_TEXTENCODING_UTF8).getStr(), -1);
+#else
 AtkObject* pAtkObject = gtk_widget_get_accessible(m_pWidget);
 if (!pAtkObject)
 return;
 atk_object_set_description(pAtkObject, OUStringToOString(rDescription, 
RTL_TEXTENCODING_UTF8).getStr());
-#else
-(void)rDescription;
 #endif
 }
 


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

2022-03-09 Thread Michael Stahl (via logerrit)
 sw/source/core/layout/ftnfrm.cxx |   14 --
 1 file changed, 12 insertions(+), 2 deletions(-)

New commits:
commit 86081afc3021fa0ae6c2b32d11b4b20cc8a190a3
Author: Michael Stahl 
AuthorDate: Tue Mar 8 17:36:41 2022 +0100
Commit: Michael Stahl 
CommitDate: Wed Mar 9 14:50:49 2022 +0100

tdf#139687 sw: invalidate text frame in footnote when moving it

The problem (which only reproduces here on copy/paste with
SAL_USE_VCLPLUGIN=kf5, not with gtk3) is that on SwTextFrame 2638 in a
footnote on page 19 containing "Saeed, 100–101." there should be a top
margin of 0 but it's actually 144.

The footnote was initially created on a previous page with another
footnote with SwTextFrame 2635 before it, that's how it got this top
margin.

Invalidate the print area in SwFootnoteFrame::Paste(), which is called
when the footnote is moved to a different container.

(somehow regression from commit 723728cd358693b8f4bc9d913541aa4479f2bd48)

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

diff --git a/sw/source/core/layout/ftnfrm.cxx b/sw/source/core/layout/ftnfrm.cxx
index 2b0b5458c383..987a437a586f 100644
--- a/sw/source/core/layout/ftnfrm.cxx
+++ b/sw/source/core/layout/ftnfrm.cxx
@@ -605,10 +605,20 @@ void SwFootnoteFrame::Paste(  SwFrame* pParent, SwFrame* 
pSibling )
 if( 
aRectFnSet.GetWidth(getFrameArea())!=aRectFnSet.GetWidth(pParent->getFramePrintArea())
 )
 InvalidateSize_();
 InvalidatePos_();
+if (SwFrame *const pContent = ContainsContent())
+{   // tdf#139687 invalidate possibly stale top margin (computed from 
previous frame)
+pContent->InvalidatePrt_();
+}
 SwPageFrame *pPage = FindPageFrame();
 InvalidatePage( pPage );
-if ( GetNext() )
-GetNext()->InvalidatePos_();
+if (SwFootnoteFrame *const pNext = static_cast(GetNext()))
+{
+pNext->InvalidatePos_();
+if (SwFrame *const pContent = pNext->ContainsContent())
+{   // tdf#139687 invalidate possibly stale top margin (computed from 
previous frame)
+pContent->InvalidatePrt_();
+}
+}
 if( aRectFnSet.GetHeight(getFrameArea()) )
 pParent->Grow( aRectFnSet.GetHeight(getFrameArea()) );
 


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

2022-03-09 Thread Noel Grandin (via logerrit)
 sfx2/source/doc/doctemplates.cxx |2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

New commits:
commit dfaa3fb58bd35dbc2fcae094d080a56430a2b876
Author: Noel Grandin 
AuthorDate: Wed Mar 9 11:50:21 2022 +0200
Commit: Noel Grandin 
CommitDate: Wed Mar 9 15:47:47 2022 +0100

code accidentally commented out

in commit 02caa6e40cfa55d96befc82515b343045b5cfd7b
Author: Noel Grandin 
Date:   Thu Feb 24 16:17:46 2022 +0200
renames in template manager creates xml file in wrong location

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

diff --git a/sfx2/source/doc/doctemplates.cxx b/sfx2/source/doc/doctemplates.cxx
index 2e7888c3c0f2..ef4c4aa4f7fe 100644
--- a/sfx2/source/doc/doctemplates.cxx
+++ b/sfx2/source/doc/doctemplates.cxx
@@ -1280,7 +1280,7 @@ bool 
SfxDocTplService_Impl::WriteUINamesForTemplateDir_Impl( std::u16string_view
 DocTemplLocaleHelper::WriteGroupLocalizationSequence( xOutStream, 
aUINames, mxContext);
 try {
 // the SAX writer might close the stream
-//xOutStream->closeOutput();
+xOutStream->closeOutput();
 } catch( uno::Exception& )
 {}
 


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

2022-03-09 Thread Noel Grandin (via logerrit)
 sw/source/filter/ww8/ww8atr.cxx  |   34 --
 sw/source/filter/ww8/ww8graf.cxx |   11 +--
 sw/source/filter/ww8/ww8par.cxx  |   14 ++
 sw/source/filter/ww8/ww8par2.cxx |   11 +--
 4 files changed, 32 insertions(+), 38 deletions(-)

New commits:
commit 4cefeb50418e42cdad11429a2c5e03f5d21e73fd
Author: Noel Grandin 
AuthorDate: Wed Mar 9 11:59:31 2022 +0200
Commit: Noel Grandin 
CommitDate: Wed Mar 9 15:48:08 2022 +0100

use SfxItemSet::GetItemIfSet in sw/.../ww8

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

diff --git a/sw/source/filter/ww8/ww8atr.cxx b/sw/source/filter/ww8/ww8atr.cxx
index b9ec65d4cfc9..0cf65abc4553 100644
--- a/sw/source/filter/ww8/ww8atr.cxx
+++ b/sw/source/filter/ww8/ww8atr.cxx
@@ -315,7 +315,6 @@ void MSWordExportBase::OutputItemSet( const SfxItemSet& 
rSet, bool bPapFormat, b
 if( !(bExportParentItemSet || rSet.Count()) )
 return;
 
-const SfxPoolItem* pItem;
 m_pISet = &rSet;  // for double attributes
 
 // If frame dir is set, but not adjust, then force adjust as well
@@ -324,7 +323,7 @@ void MSWordExportBase::OutputItemSet( const SfxItemSet& 
rSet, bool bPapFormat, b
 // No explicit adjust set ?
 if ( SfxItemState::SET != rSet.GetItemState( RES_PARATR_ADJUST, 
bExportParentItemSet ) )
 {
-pItem = rSet.GetItem( RES_PARATR_ADJUST, bExportParentItemSet );
+const SvxAdjustItem* pItem = rSet.GetItem( RES_PARATR_ADJUST, 
bExportParentItemSet );
 if ( nullptr != pItem )
 {
 // then set the adjust used by the parent format
@@ -333,17 +332,19 @@ void MSWordExportBase::OutputItemSet( const SfxItemSet& 
rSet, bool bPapFormat, b
 }
 }
 
-if ( bPapFormat && SfxItemState::SET == rSet.GetItemState( 
RES_PARATR_NUMRULE, bExportParentItemSet, &pItem ) )
+const SwNumRuleItem* pRuleItem;
+if ( bPapFormat && (pRuleItem = rSet.GetItemIfSet( RES_PARATR_NUMRULE, 
bExportParentItemSet )) )
 {
-AttrOutput().OutputItem( *pItem );
+AttrOutput().OutputItem( *pRuleItem );
 
 // switch off the numbering?
-if ( pItem->StaticWhichCast(RES_PARATR_NUMRULE).GetValue().isEmpty() &&
+const SfxPoolItem* pLRItem;
+if ( pRuleItem->GetValue().isEmpty() &&
  SfxItemState::SET != rSet.GetItemState( RES_LR_SPACE, false) &&
- SfxItemState::SET == rSet.GetItemState( RES_LR_SPACE, true, 
&pItem ) )
+ (pLRItem = rSet.GetItemIfSet( RES_LR_SPACE )) )
 {
 // the set the LR-Space of the parentformat!
-AttrOutput().OutputItem( *pItem );
+AttrOutput().OutputItem( *pLRItem );
 }
 }
 
@@ -357,7 +358,7 @@ void MSWordExportBase::OutputItemSet( const SfxItemSet& 
rSet, bool bPapFormat, b
 
 for ( const auto& rItem : aItems )
 {
-pItem = rItem.second;
+const SfxPoolItem* pItem = rItem.second;
 sal_uInt16 nWhich = pItem->Which();
 // Handle fill attributes just like frame attributes for now.
 if ( (nWhich >= RES_PARATR_BEGIN && nWhich < RES_FRMATR_END && 
nWhich != RES_PARATR_NUMRULE ) ||
@@ -482,7 +483,6 @@ void MSWordExportBase::OutputSectionBreaks( const 
SfxItemSet *pSet, const SwNode
 
 m_bBreakBefore = true;
 bool bNewPageDesc = false;
-const SfxPoolItem* pItem=nullptr;
 const SwFormatPageDesc *pPgDesc=nullptr;
 bool bExtraPageBreakBeforeSectionBreak = false;
 
@@ -515,23 +515,23 @@ void MSWordExportBase::OutputSectionBreaks( const 
SfxItemSet *pSet, const SwNode
 
 if ( pSet && pSet->Count() )
 {
-if ( SfxItemState::SET == pSet->GetItemState( RES_PAGEDESC, false, 
&pItem ) &&
- pItem->StaticWhichCast(RES_PAGEDESC).GetRegisteredIn() != nullptr)
+const SwFormatPageDesc * pItem = pSet->GetItemIfSet( RES_PAGEDESC, 
false );
+if ( pItem && pItem->GetRegisteredIn() != nullptr)
 {
 bBreakSet = true;
 bNewPageDesc = true;
-pPgDesc = static_cast(pItem);
+pPgDesc = pItem;
 m_pCurrentPageDesc = pPgDesc->GetPageDesc();
 
 // tdf#121666: nodes that have pagebreak + sectionbreak may need 
to export both breaks
 // tested / implemented with docx format only.
 // If other formats (rtf /doc) need similar fix, then that may can 
be done similar way.
-if (SfxItemState::SET == pSet->GetItemState(RES_BREAK, false, 
&pItem))
+if (SfxItemState::SET == pSet->GetItemState(RES_BREAK, false))
 {
 bExtraPageBreakBeforeSectionBreak = true;
 }
 }
-else if ( SfxItemState::SET == pSet->GetItemState( RES_BREAK, false, 
&pItem ) )
+else if ( const Svx

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

2022-03-09 Thread Miklos Vajna (via logerrit)
 vcl/qa/cppunit/pdfexport/data/pdf-image-annots.odg |binary
 vcl/qa/cppunit/pdfexport/pdfexport.cxx |   19 +++
 vcl/source/gdi/pdfwriter_impl.cxx  |   16 ++--
 3 files changed, 33 insertions(+), 2 deletions(-)

New commits:
commit 2e1e7d8b99ce03dfa585ba4287fa8392e2f6b4d5
Author: Miklos Vajna 
AuthorDate: Wed Mar 9 13:36:27 2022 +0100
Commit: Miklos Vajna 
CommitDate: Wed Mar 9 15:53:35 2022 +0100

PDF export of PDF images: don't preserve annotations in general

Regression from 33c9bc0225a92f26770f9ef20b252af47853e7b9 (PDF export of
PDF images: preserve hyperlinks, 2022-01-07), the problem was that we
want to preserve hyperlinks, but annotations are added by the PDF export
explicitly, so it isn't a good idea to "preserve" them as well.

Fix the problem by going back to the old behavior, except when the
annotation sub-type is /Link.

This keeps hyperlinks working but doesn't lead to duplicated comments
when re-exporting an image + adding comments explicitly.

Conflicts:
vcl/qa/cppunit/pdfexport/pdfexport.cxx

Change-Id: I910990da59bdc1150cc346f1a5471cb6da55dd2c

diff --git a/vcl/qa/cppunit/pdfexport/data/pdf-image-annots.odg 
b/vcl/qa/cppunit/pdfexport/data/pdf-image-annots.odg
new file mode 100644
index ..6dee0145c536
Binary files /dev/null and b/vcl/qa/cppunit/pdfexport/data/pdf-image-annots.odg 
differ
diff --git a/vcl/qa/cppunit/pdfexport/pdfexport.cxx 
b/vcl/qa/cppunit/pdfexport/pdfexport.cxx
index 7312078b1896..f9046d8c3e97 100644
--- a/vcl/qa/cppunit/pdfexport/pdfexport.cxx
+++ b/vcl/qa/cppunit/pdfexport/pdfexport.cxx
@@ -2963,6 +2963,25 @@ CPPUNIT_TEST_FIXTURE(PdfExportTest, 
testPdfImageHyperlink)
 #endif
 }
 
+CPPUNIT_TEST_FIXTURE(PdfExportTest, testPdfImageAnnots)
+{
+// Given a document with a PDF image that has 2 comments (popup, text) and 
a hyperlink:
+aMediaDescriptor["FilterName"] <<= OUString("draw_pdf_Export");
+
+// When saving to PDF:
+saveAsPDF(u"pdf-image-annots.odg");
+
+// Then make sure only the hyperlink is kept, since Draw itself has its 
own comments:
+std::unique_ptr pPdfDocument = parseExport();
+CPPUNIT_ASSERT(pPdfDocument);
+std::unique_ptr pPdfPage = 
pPdfDocument->openPage(/*nIndex=*/0);
+CPPUNIT_ASSERT(pPdfPage);
+// Without the accompanying fix in place, this test would have failed with:
+// - Expected: 1
+// - Actual  : 3
+// i.e. not only the hyperlink but also the 2 comments were exported, 
leading to duplication.
+CPPUNIT_ASSERT_EQUAL(1, pPdfPage->getAnnotationCount());
+}
 } // end anonymous namespace
 
 CPPUNIT_PLUGIN_IMPLEMENT();
diff --git a/vcl/source/gdi/pdfwriter_impl.cxx 
b/vcl/source/gdi/pdfwriter_impl.cxx
index b5e94882a0fb..6f10c891330d 100644
--- a/vcl/source/gdi/pdfwriter_impl.cxx
+++ b/vcl/source/gdi/pdfwriter_impl.cxx
@@ -8434,7 +8434,7 @@ void PDFWriterImpl::writeReferenceXObject(const 
ReferenceXObjectEmit& rEmit)
 return;
 }
 
-// Merge page annotations (links, etc) from pPage to our page.
+// Merge link annotations from pPage to our page.
 std::vector aAnnots;
 if (auto pArray = 
dynamic_cast(pPage->Lookup("Annots")))
 {
@@ -8452,7 +8452,19 @@ void PDFWriterImpl::writeReferenceXObject(const 
ReferenceXObjectEmit& rEmit)
 continue;
 }
 
-// Annotation refers to an object, remember it.
+auto pType = 
dynamic_cast(pObject->Lookup("Type"));
+if (!pType || pType->GetValue() != "Annot")
+{
+continue;
+}
+
+auto pSubtype = 
dynamic_cast(pObject->Lookup("Subtype"));
+if (!pSubtype || pSubtype->GetValue() != "Link")
+{
+continue;
+}
+
+// Reference to a link annotation object, remember it.
 aAnnots.push_back(pObject);
 }
 }


[Libreoffice-commits] dev-tools.git: perf/compare-logs.py

2022-03-09 Thread Xisco Fauli (via logerrit)
 perf/compare-logs.py |   36 +---
 1 file changed, 9 insertions(+), 27 deletions(-)

New commits:
commit d6c3272ee0d8d0ba83f9591486b08e5263638ba7
Author: Xisco Fauli 
AuthorDate: Wed Mar 9 16:00:38 2022 +0100
Commit: Xisco Fauli 
CommitDate: Wed Mar 9 16:01:36 2022 +0100

perf: use argparse in compare-logs.py

Change-Id: If14a4705fcda5ffdac2a6e5915a7d8b5bf322905

diff --git a/perf/compare-logs.py b/perf/compare-logs.py
index 82e6d0c..90a60da 100755
--- a/perf/compare-logs.py
+++ b/perf/compare-logs.py
@@ -25,7 +25,8 @@
 # in which case the provisions of the GPLv3+ or the LGPLv3+ are applicable
 # instead of those above.
 
-import sys, os, getopt
+import sys, os
+import argparse
 
 def readFile(url):
 d = {}
@@ -37,35 +38,16 @@ def readFile(url):
d[key] = float(val)
 return d
 
-def usage():
-message = """usage: {program} [option]..."
- -h | --help:  print usage information
- --old=URL path to old file to be compared
- --new=URL path to new file to be comparted"""
-
-print(message.format(program = os.path.basename(sys.argv[0])))
-
-
 if __name__ == "__main__":
 
-try:
-opts,args = getopt.getopt(sys.argv[1:], "o:n:h",
-["old=", "new=", "help"])
-except getopt.GetoptError:
-usage()
-sys.exit(1)
+parser = argparse.ArgumentParser()
+
+parser.add_argument('--old', action='store', dest="old", required=True)
+parser.add_argument('--new', action="store", dest="new", required=True)
 
-for opt, arg in opts:
-if opt in ('-h', '--help'):
-usage()
-sys.exit(1)
-elif opt in ('-o', '--old'):
-old_url = arg
-elif opt in ('-n', '--new'):
-new_url = arg
-else:
-usage()
-sys.exit(1)
+results = parser.parse_args()
+old_url = results.old
+new_url = results.new
 
 if not os.path.exists(old_url):
 print("File " + old_url + " doesn't exist!")


Store properties of OOXML 3D-shapes in ODF

2022-03-09 Thread Regina Henschel

Hi Miklos, hi all,

I have started a discussion in the ODF TC how ODF could be enhanced to 
be able to store properties which are needed to render OOXML 3D-shapes 
(I mean the normal shapes in 3D-mode, not the new "3D Model" of MS 
Office). I have collected all the problems I see in the attached document.


If you have ideas how to solve the problems or if you see further 
problems, please tell me.


Currently we put most of the information in an InteropGrabBag. I started 
the discussion in the ODF TC because I think we need to know the target 
before we start an actual import.


Kind regards,
Regina


What ODF needs.odt
Description: application/vnd.oasis.opendocument.text


[Libreoffice-commits] dev-tools.git: perf/test-startup-time.py

2022-03-09 Thread Xisco Fauli (via logerrit)
 perf/test-startup-time.py |9 +
 1 file changed, 9 insertions(+)

New commits:
commit 6a3d72cff8d27daac0fcff3cbc027659109676a2
Author: Xisco Fauli 
AuthorDate: Wed Mar 9 16:35:56 2022 +0100
Commit: Xisco Fauli 
CommitDate: Wed Mar 9 16:35:56 2022 +0100

perf: clean leftovers in tmp regularly

Change-Id: I27554c2d901c2a6968c009ce548759525434884e

diff --git a/perf/test-startup-time.py b/perf/test-startup-time.py
index d5b443c..49dca04 100755
--- a/perf/test-startup-time.py
+++ b/perf/test-startup-time.py
@@ -24,6 +24,8 @@
 import argparse
 import sys
 import os
+import glob
+import shutil
 import multiprocessing
 import tempfile
 import time
@@ -66,6 +68,13 @@ def kill_soffice():
 print("Killing process: " + str(pid))
 os.kill(pid, signal.SIGKILL)
 
+# Also clean leftovers in /tmp
+for filename in glob.glob("/tmp/OSL_PIPE_*"):
+os.remove(filename)
+
+for filename in glob.glob("/tmp/lu*.tmp"):
+shutil.rmtree(filename)
+
 def get_file_names(filesPath):
 auxNames = []
 for fileName in os.listdir(filesPath):


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

2022-03-09 Thread Caolán McNamara (via logerrit)
 vcl/unx/gtk3/gtkinst.cxx |   10 --
 1 file changed, 8 insertions(+), 2 deletions(-)

New commits:
commit 77f4407cb5e8c22320bc2c750384e992fe076cf9
Author: Caolán McNamara 
AuthorDate: Wed Mar 9 12:19:28 2022 +
Commit: Caolán McNamara 
CommitDate: Wed Mar 9 16:39:39 2022 +0100

gtk4: get a11y description and label/name

via gtk_test_accessible_check_property which seems to work for my needs
though maybe not what its intended for

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

diff --git a/vcl/unx/gtk3/gtkinst.cxx b/vcl/unx/gtk3/gtkinst.cxx
index 2d4397d43d9e..c1c338b22c6d 100644
--- a/vcl/unx/gtk3/gtkinst.cxx
+++ b/vcl/unx/gtk3/gtkinst.cxx
@@ -3747,7 +3747,10 @@ public:
 const char* pStr = pAtkObject ? atk_object_get_name(pAtkObject) : 
nullptr;
 return OUString(pStr, pStr ? strlen(pStr) : 0, RTL_TEXTENCODING_UTF8);
 #else
-return OUString();
+char* pStr = 
gtk_test_accessible_check_property(GTK_ACCESSIBLE(m_pWidget), 
GTK_ACCESSIBLE_PROPERTY_LABEL, nullptr);
+OUString sRet(pStr, pStr ? strlen(pStr) : 0, RTL_TEXTENCODING_UTF8);
+g_free(pStr);
+return sRet;
 #endif
 }
 
@@ -3758,7 +3761,10 @@ public:
 const char* pStr = pAtkObject ? atk_object_get_description(pAtkObject) 
: nullptr;
 return OUString(pStr, pStr ? strlen(pStr) : 0, RTL_TEXTENCODING_UTF8);
 #else
-return OUString();
+char* pStr = 
gtk_test_accessible_check_property(GTK_ACCESSIBLE(m_pWidget), 
GTK_ACCESSIBLE_PROPERTY_DESCRIPTION, nullptr);
+OUString sRet(pStr, pStr ? strlen(pStr) : 0, RTL_TEXTENCODING_UTF8);
+g_free(pStr);
+return sRet;
 #endif
 }
 


[Libreoffice-commits] dev-tools.git: uitest/mass-testing

2022-03-09 Thread Xisco Fauli (via logerrit)
 uitest/mass-testing/run.py |9 +
 1 file changed, 9 insertions(+)

New commits:
commit e203e20e5d64408bc5fbcbba6866343f9198baeb
Author: Xisco Fauli 
AuthorDate: Wed Mar 9 16:40:27 2022 +0100
Commit: Xisco Fauli 
CommitDate: Wed Mar 9 16:40:27 2022 +0100

mass-testing: clean leftovers in tmp regularly

Change-Id: I7fccb96b56e3dded851492edd5b90a65fdb19c29

diff --git a/uitest/mass-testing/run.py b/uitest/mass-testing/run.py
index af1b47d..7bf4967 100755
--- a/uitest/mass-testing/run.py
+++ b/uitest/mass-testing/run.py
@@ -7,6 +7,8 @@
 
 import os
 import argparse
+import glob
+import shutil
 from subprocess import Popen, PIPE, TimeoutExpired
 import sys
 import signal
@@ -45,6 +47,13 @@ def kill_soffice():
 print("Killing process: " + str(pid))
 os.kill(pid, signal.SIGKILL)
 
+# Also clean leftovers in /tmp
+for filename in glob.glob("/tmp/OSL_PIPE_*"):
+os.remove(filename)
+
+for filename in glob.glob("/tmp/lu*.tmp"):
+shutil.rmtree(filename)
+
 def start_logger(name):
 rootLogger = logging.getLogger()
 rootLogger.setLevel(os.environ.get("LOGLEVEL", "INFO"))


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

2022-03-09 Thread Miklos Vajna (via logerrit)
 vcl/qa/cppunit/pdfexport/data/pdf-image-annots.odg |binary
 vcl/qa/cppunit/pdfexport/pdfexport.cxx |   31 +
 vcl/source/gdi/pdfwriter_impl.cxx  |   16 +-
 3 files changed, 45 insertions(+), 2 deletions(-)

New commits:
commit 4ccafbc96b9cf30963060acd443cfc9435b7d5e8
Author: Miklos Vajna 
AuthorDate: Wed Mar 9 13:36:27 2022 +0100
Commit: Andras Timar 
CommitDate: Wed Mar 9 16:58:20 2022 +0100

PDF export of PDF images: don't preserve annotations in general

Regression from 33c9bc0225a92f26770f9ef20b252af47853e7b9 (PDF export of
PDF images: preserve hyperlinks, 2022-01-07), the problem was that we
want to preserve hyperlinks, but annotations are added by the PDF export
explicitly, so it isn't a good idea to "preserve" them as well.

Fix the problem by going back to the old behavior, except when the
annotation sub-type is /Link.

This keeps hyperlinks working but doesn't lead to duplicated comments
when re-exporting an image + adding comments explicitly.

Conflicts:
vcl/qa/cppunit/pdfexport/pdfexport.cxx

Change-Id: I910990da59bdc1150cc346f1a5471cb6da55dd2c
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/131262
Tested-by: Aron Budea 
Reviewed-by: Andras Timar 

diff --git a/vcl/qa/cppunit/pdfexport/data/pdf-image-annots.odg 
b/vcl/qa/cppunit/pdfexport/data/pdf-image-annots.odg
new file mode 100644
index ..6dee0145c536
Binary files /dev/null and b/vcl/qa/cppunit/pdfexport/data/pdf-image-annots.odg 
differ
diff --git a/vcl/qa/cppunit/pdfexport/pdfexport.cxx 
b/vcl/qa/cppunit/pdfexport/pdfexport.cxx
index ea67d5530539..fc7103fede47 100644
--- a/vcl/qa/cppunit/pdfexport/pdfexport.cxx
+++ b/vcl/qa/cppunit/pdfexport/pdfexport.cxx
@@ -149,6 +149,7 @@ public:
 void testMultiPagePDF();
 void testPdfImageRotate180();
 void testPdfImageHyperlink();
+void testPdfImageAnnots();
 
 
 CPPUNIT_TEST_SUITE(PdfExportTest);
@@ -194,6 +195,7 @@ public:
 CPPUNIT_TEST(testMultiPagePDF);
 CPPUNIT_TEST(testPdfImageRotate180);
 CPPUNIT_TEST(testPdfImageHyperlink);
+CPPUNIT_TEST(testPdfImageAnnots);
 CPPUNIT_TEST_SUITE_END();
 };
 
@@ -2332,6 +2334,35 @@ void PdfExportTest::testPdfImageHyperlink()
 #endif
 }
 
+void PdfExportTest::testPdfImageAnnots()
+{
+// Given a document with a PDF image that has 2 comments (popup, text) and 
a hyperlink:
+OUString aURL = m_directories.getURLFromSrc(DATA_DIRECTORY) + 
"pdf-image-annots.odg";
+mxComponent = loadFromDesktop(aURL);
+CPPUNIT_ASSERT(mxComponent.is());
+
+// When saving to PDF:
+uno::Reference xStorable(mxComponent, uno::UNO_QUERY);
+utl::MediaDescriptor aMediaDescriptor;
+aMediaDescriptor["FilterName"] <<= OUString("draw_pdf_Export");
+xStorable->storeToURL(maTempFile.GetURL(), 
aMediaDescriptor.getAsConstPropertyValueList());
+
+// Then make sure only the hyperlink is kept, since Draw itself has its 
own comments:
+SvFileStream aFile(maTempFile.GetURL(), StreamMode::READ);
+maMemory.WriteStream(aFile);
+std::shared_ptr pPDFium = vcl::pdf::PDFiumLibrary::get();
+std::unique_ptr pPdfDocument
+= pPDFium->openDocument(maMemory.GetData(), maMemory.GetSize());
+CPPUNIT_ASSERT(pPdfDocument);
+CPPUNIT_ASSERT_EQUAL(1, pPdfDocument->getPageCount());
+std::unique_ptr pPdfPage = 
pPdfDocument->openPage(/*nIndex=*/0);
+CPPUNIT_ASSERT(pPdfPage);
+// Without the accompanying fix in place, this test would have failed with:
+// - Expected: 1
+// - Actual  : 3
+// i.e. not only the hyperlink but also the 2 comments were exported, 
leading to duplication.
+CPPUNIT_ASSERT_EQUAL(1, pPdfPage->getAnnotationCount());
+}
 CPPUNIT_TEST_SUITE_REGISTRATION(PdfExportTest);
 
 }
diff --git a/vcl/source/gdi/pdfwriter_impl.cxx 
b/vcl/source/gdi/pdfwriter_impl.cxx
index 896a910eae51..1d10f377c0d0 100644
--- a/vcl/source/gdi/pdfwriter_impl.cxx
+++ b/vcl/source/gdi/pdfwriter_impl.cxx
@@ -8738,7 +8738,7 @@ void 
PDFWriterImpl::writeReferenceXObject(ReferenceXObjectEmit& rEmit)
 return;
 }
 
-// Merge page annotations (links, etc) from pPage to our page.
+// Merge link annotations from pPage to our page.
 std::vector aAnnots;
 if (auto pArray = 
dynamic_cast(pPage->Lookup("Annots")))
 {
@@ -8756,7 +8756,19 @@ void 
PDFWriterImpl::writeReferenceXObject(ReferenceXObjectEmit& rEmit)
 continue;
 }
 
-// Annotation refers to an object, remember it.
+auto pType = 
dynamic_cast(pObject->Lookup("Type"));
+if (!pType || pType->GetValue() != "Annot")
+{
+continue;
+}
+
+auto pSubtype = 
dynamic_cast(pObject->Lookup("Subtype"));
+if (!pSubtype || pSubtype->GetValue() != "Link")
+{
+   

[Libreoffice-commits] core.git: Branch 'distro/collabora/cp-6.4' - configure.ac

2022-03-09 Thread Andras Timar (via logerrit)
 configure.ac |2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

New commits:
commit ad2debaf59b61374b50a347fef38f2600c25e451
Author: Andras Timar 
AuthorDate: Wed Mar 9 16:59:30 2022 +0100
Commit: Andras Timar 
CommitDate: Wed Mar 9 16:59:30 2022 +0100

Bump version to 6.4-58

Change-Id: I588260489aae25ee990d2f3c5a0d8a7d316d635f

diff --git a/configure.ac b/configure.ac
index 3a60ffbc6fa4..59dd51020913 100644
--- a/configure.ac
+++ b/configure.ac
@@ -9,7 +9,7 @@ dnl in order to create a configure script.
 # several non-alphanumeric characters, those are split off and used only for 
the
 # ABOUTBOXPRODUCTVERSIONSUFFIX in openoffice.lst. Why that is necessary, no 
idea.
 
-AC_INIT([Collabora Office],[6.4.10.57],[],[],[https://collaboraoffice.com/])
+AC_INIT([Collabora Office],[6.4.10.58],[],[],[https://collaboraoffice.com/])
 
 dnl libnumbertext needs autoconf 2.68, but that can pick up autoconf268 just 
fine if it is installed
 dnl whereas aclocal (as run by autogen.sh) insists on using autoconf and fails 
hard


[Libreoffice-commits] dictionaries.git: Changes to 'refs/tags/cp-6.4-58'

2022-03-09 Thread Andras Timar (via logerrit)
Tag 'cp-6.4-58' created by Andras Timar  at 
2022-03-09 15:59 +

cp-6.4-58

Changes since co-6.4-20:
Andras Timar (1):
  update Danish dictionary

---
 da_DK/README_da_DK.txt |4 
 da_DK/da_DK.aff| 3401 
 da_DK/da_DK.dic|288016 
+++--
 da_DK/description.xml  |9 
 4 files changed, 139245 insertions(+), 152185 deletions(-)
---


[Libreoffice-commits] help.git: Changes to 'refs/tags/cp-6.4-58'

2022-03-09 Thread Andras Timar (via logerrit)
Tag 'cp-6.4-58' created by Andras Timar  at 
2022-03-09 15:59 +

cp-6.4-58

Changes since cp-6.4-branch-point-11:
---
 0 files changed
---


[Libreoffice-commits] translations.git: Changes to 'refs/tags/cp-6.4-58'

2022-03-09 Thread Tor Lillqvist (via logerrit)
Tag 'cp-6.4-58' created by Andras Timar  at 
2022-03-09 15:59 +

cp-6.4-58

Changes since cp-6.4-48:
Tor Lillqvist (1):
  Add missing mobile-specific Impress German translations

---
 source/de/sd/messages.po |   37 +
 1 file changed, 37 insertions(+)
---


[Libreoffice-commits] core.git: Changes to 'refs/tags/cp-6.4-58'

2022-03-09 Thread Andras Timar (via logerrit)
Tag 'cp-6.4-58' created by Andras Timar  at 
2022-03-09 15:59 +

cp-6.4-58

Changes since cp-6.4-57-1:
---
 0 files changed
---


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

2022-03-09 Thread Tor Lillqvist (via logerrit)
 sw/inc/textboxhelper.hxx |1 +
 1 file changed, 1 insertion(+)

New commits:
commit cdfa0328047bbc3905ee8b541f326cccf802f05f
Author: Tor Lillqvist 
AuthorDate: Wed Mar 9 17:59:53 2022 +0200
Commit: Tor Lillqvist 
CommitDate: Wed Mar 9 17:59:53 2022 +0200

Fix build error: include 

Change-Id: I4bb31565096cd4cb3dbb910b638e5003ce6d9724

diff --git a/sw/inc/textboxhelper.hxx b/sw/inc/textboxhelper.hxx
index aa1940b5dd60..eb7a9430b2f8 100644
--- a/sw/inc/textboxhelper.hxx
+++ b/sw/inc/textboxhelper.hxx
@@ -11,6 +11,7 @@
 #define INCLUDED_SW_INC_TEXTBOXHELPER_HXX
 
 #include 
+#include 
 #include 
 #include 
 


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

2022-03-09 Thread Miklos Vajna (via logerrit)
 vcl/qa/cppunit/pdfexport/data/pdf-image-annots.odg |binary
 vcl/qa/cppunit/pdfexport/pdfexport.cxx |   20 
 vcl/source/gdi/pdfwriter_impl.cxx  |   16 ++--
 3 files changed, 34 insertions(+), 2 deletions(-)

New commits:
commit 63dba12b779dd4d007c8cb8cf4b967bd78077cac
Author: Miklos Vajna 
AuthorDate: Wed Mar 9 13:36:27 2022 +0100
Commit: Miklos Vajna 
CommitDate: Wed Mar 9 17:11:49 2022 +0100

PDF export of PDF images: don't preserve annotations in general

Regression from 33c9bc0225a92f26770f9ef20b252af47853e7b9 (PDF export of
PDF images: preserve hyperlinks, 2022-01-07), the problem was that we
want to preserve hyperlinks, but annotations are added by the PDF export
explicitly, so it isn't a good idea to "preserve" them as well.

Fix the problem by going back to the old behavior, except when the
annotation sub-type is /Link.

This keeps hyperlinks working but doesn't lead to duplicated comments
when re-exporting an image + adding comments explicitly.

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

diff --git a/vcl/qa/cppunit/pdfexport/data/pdf-image-annots.odg 
b/vcl/qa/cppunit/pdfexport/data/pdf-image-annots.odg
new file mode 100644
index ..6dee0145c536
Binary files /dev/null and b/vcl/qa/cppunit/pdfexport/data/pdf-image-annots.odg 
differ
diff --git a/vcl/qa/cppunit/pdfexport/pdfexport.cxx 
b/vcl/qa/cppunit/pdfexport/pdfexport.cxx
index e7f2354b9118..0ebf70becdb3 100644
--- a/vcl/qa/cppunit/pdfexport/pdfexport.cxx
+++ b/vcl/qa/cppunit/pdfexport/pdfexport.cxx
@@ -3148,6 +3148,26 @@ CPPUNIT_TEST_FIXTURE(PdfExportTest, testURIs)
 CPPUNIT_ASSERT_EQUAL(URIs[i].out, pURIElem->GetValue());
 }
 }
+
+CPPUNIT_TEST_FIXTURE(PdfExportTest, testPdfImageAnnots)
+{
+// Given a document with a PDF image that has 2 comments (popup, text) and 
a hyperlink:
+aMediaDescriptor["FilterName"] <<= OUString("draw_pdf_Export");
+
+// When saving to PDF:
+saveAsPDF(u"pdf-image-annots.odg");
+
+// Then make sure only the hyperlink is kept, since Draw itself has its 
own comments:
+std::unique_ptr pPdfDocument = parseExport();
+CPPUNIT_ASSERT(pPdfDocument);
+std::unique_ptr pPdfPage = 
pPdfDocument->openPage(/*nIndex=*/0);
+CPPUNIT_ASSERT(pPdfPage);
+// Without the accompanying fix in place, this test would have failed with:
+// - Expected: 1
+// - Actual  : 3
+// i.e. not only the hyperlink but also the 2 comments were exported, 
leading to duplication.
+CPPUNIT_ASSERT_EQUAL(1, pPdfPage->getAnnotationCount());
+}
 } // end anonymous namespace
 
 CPPUNIT_PLUGIN_IMPLEMENT();
diff --git a/vcl/source/gdi/pdfwriter_impl.cxx 
b/vcl/source/gdi/pdfwriter_impl.cxx
index 51291604fe51..6477163c1b78 100644
--- a/vcl/source/gdi/pdfwriter_impl.cxx
+++ b/vcl/source/gdi/pdfwriter_impl.cxx
@@ -8440,7 +8440,7 @@ void PDFWriterImpl::writeReferenceXObject(const 
ReferenceXObjectEmit& rEmit)
 return;
 }
 
-// Merge page annotations (links, etc) from pPage to our page.
+// Merge link annotations from pPage to our page.
 std::vector aAnnots;
 if (auto pArray = 
dynamic_cast(pPage->Lookup("Annots")))
 {
@@ -8458,7 +8458,19 @@ void PDFWriterImpl::writeReferenceXObject(const 
ReferenceXObjectEmit& rEmit)
 continue;
 }
 
-// Annotation refers to an object, remember it.
+auto pType = 
dynamic_cast(pObject->Lookup("Type"));
+if (!pType || pType->GetValue() != "Annot")
+{
+continue;
+}
+
+auto pSubtype = 
dynamic_cast(pObject->Lookup("Subtype"));
+if (!pSubtype || pSubtype->GetValue() != "Link")
+{
+continue;
+}
+
+// Reference to a link annotation object, remember it.
 aAnnots.push_back(pObject);
 }
 }


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

2022-03-09 Thread Michael Weghorn (via logerrit)
 accessibility/inc/extended/AccessibleGridControlBase.hxx |6 --
 accessibility/inc/extended/AccessibleGridControlTable.hxx|3 +
 accessibility/source/extended/AccessibleGridControl.cxx  |   33 ---
 accessibility/source/extended/AccessibleGridControlTable.cxx |   30 ++
 4 files changed, 37 insertions(+), 35 deletions(-)

New commits:
commit 5977d6b981dcde556450589199c06204009a4a1a
Author: Michael Weghorn 
AuthorDate: Wed Mar 9 11:23:35 2022 +0100
Commit: Michael Weghorn 
CommitDate: Wed Mar 9 17:46:42 2022 +0100

a11y: Let AccessibleGridControlTable calculate child index

Just call `AccessibleGridControlTable::getAccessibleCellAt`,
which already takes care of calculating the proper child index from
row and column index.

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

diff --git a/accessibility/source/extended/AccessibleGridControl.cxx 
b/accessibility/source/extended/AccessibleGridControl.cxx
index 09d43f816359..5d4ed3bc767c 100644
--- a/accessibility/source/extended/AccessibleGridControl.cxx
+++ b/accessibility/source/extended/AccessibleGridControl.cxx
@@ -305,10 +305,8 @@ void AccessibleGridControl::commitTableEvent(sal_Int16 
_nEventId,const Any& _rNe
 const sal_Int32 nCurrentCol = m_aTable.GetCurrentColumn();
 css::uno::Reference< css::accessibility::XAccessible > xChild;
 if (nCurrentRow > -1 && nCurrentCol > -1)
-{
-sal_Int32 nColumnCount = m_aTable.GetColumnCount();
-xChild = m_xTable->getAccessibleChild(nCurrentRow * nColumnCount + 
nCurrentCol);
-}
+xChild = m_xTable->getAccessibleCellAt(nCurrentRow, nCurrentCol);
+
 m_xTable->commitEvent(_nEventId, Any(xChild),_rOldValue);
 }
 else
commit 319a5b5b457c46c8a036b99d6f024517bc87be42
Author: Michael Weghorn 
AuthorDate: Wed Mar 9 11:07:55 2022 +0100
Commit: Michael Weghorn 
CommitDate: Wed Mar 9 17:46:28 2022 +0100

a11y: Move TABLE_MODEL_CHANGED handling to table

Move the handling for the
`AccessibleEventId::TABLE_MODEL_CHANGED` event of
type `AccessibleTableModelChangeType::DELETE`
from `AccessibleGridControl` into
`AccessibleGridControlTable`.

To do so, make `AccessibleGridControlBase::commitEvent`
virtual and override it in `AccessibleGridControlTable`.
The method already gets called from 
`AccessibleGridControl::commitTableEvent`
where the event was handled previously.

Handling the details of how cells are internally
organized in a vector only in the class itself
rather than in different places seems to make sense.

There are currently more cases where `AccessibleGridControl`
deals with the cell vector directly that will be
addressed in following commits.

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

diff --git a/accessibility/inc/extended/AccessibleGridControlBase.hxx 
b/accessibility/inc/extended/AccessibleGridControlBase.hxx
index 7da777d8dac2..f1b2d4b1c85f 100644
--- a/accessibility/inc/extended/AccessibleGridControlBase.hxx
+++ b/accessibility/inc/extended/AccessibleGridControlBase.hxx
@@ -188,10 +188,8 @@ public:
 inline ::vcl::table::AccessibleTableControlObjType getType() const;
 
 /** Commits an event to all listeners. */
-void commitEvent(
-sal_Int16 nEventId,
-const css::uno::Any& rNewValue,
-const css::uno::Any& rOldValue );
+virtual void commitEvent(sal_Int16 nEventId, const css::uno::Any& 
rNewValue,
+ const css::uno::Any& rOldValue);
 /** @return  TRUE, if the object is not disposed or disposing. */
 bool isAlive() const;
 
diff --git a/accessibility/inc/extended/AccessibleGridControlTable.hxx 
b/accessibility/inc/extended/AccessibleGridControlTable.hxx
index 73c4f6a19050..bada75124257 100644
--- a/accessibility/inc/extended/AccessibleGridControlTable.hxx
+++ b/accessibility/inc/extended/AccessibleGridControlTable.hxx
@@ -142,6 +142,9 @@ public:
 /**@return m_pCellVector*/
 std::vector< rtl::Reference >& 
getCellVector() { return m_aCellVector;}
 
+virtual void commitEvent(sal_Int16 nEventId, const css::uno::Any& 
rNewValue,
+ const css::uno::Any& rOldValue) override;
+
 private:
 // internal virtual methods
 
diff --git a/accessibility/source/extended/AccessibleGridControl.cxx 
b/accessibility/source/extended/AccessibleGridControl.cxx
index c90cc0384b46..09d43f816359 100644
--- a/accessibility/source/extended/AccessibleGridControl.cxx
+++ b/accessibility/source/extended/AccessibleGridControl.cxx
@@ -22,8 +22,6 @@
 #include 
 #include 
 #include 
-#include 
-#include 
 #include 
 #include 
 #i

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

2022-03-09 Thread Michael Weghorn (via logerrit)
 accessibility/inc/extended/AccessibleGridControl.hxx |3 --
 accessibility/inc/extended/AccessibleGridControlTable.hxx|3 ++
 accessibility/source/extended/AccessibleGridControl.cxx  |9 +--
 accessibility/source/extended/AccessibleGridControlTable.cxx |   14 +++
 4 files changed, 19 insertions(+), 10 deletions(-)

New commits:
commit 4e641d9240a981216d6724141b9b7a9e4c63c82a
Author: Michael Weghorn 
AuthorDate: Wed Mar 9 11:51:45 2022 +0100
Commit: Michael Weghorn 
CommitDate: Wed Mar 9 17:47:10 2022 +0100

Related: tdf#147742 a11y: Dispose table cells as well

When disposing `AccessibleGridControlTable` (which
is done in `AccessibleGridControl::disposing`),
also dispose its cells and clear the references.

Without this in place, a crash sometimes occured
when running the macro in the sample doc from
tdf#147742 several times and clicking around in the
table, with the Orca screen reader active.

This was because a reference to one of
the `AccessibleGridControlTableCell`s was still
around after the `AccessibleGridControlTable`
had already been disposed, and when trying
to get its accessible name, the call to
`IAccessibleTable::GetAccessibleObjectName` in
`AccessibleGridControlCell::getAccessibleName`
would fail because the object that the
`m_aTable` reference was referring to had already
been deleted.

With the cell being disposed as well, the
`ensureIsAlive()` check at the beginning of
`AccessibleGridControlCell::getAccessibleName`
will throw a `DisposedException`, that is then
handled properly in the calling code.

Backtrace (with master as of commit
2598c35dbac8dc4492ad1fc79925c5347e683af0):

#0  0x7fffd9152ed3 in 
accessibility::AccessibleGridControlCell::getAccessibleName() 
(this=0x5bbcdb70) at 
/home/michi/development/git/libreoffice/accessibility/source/extended/AccessibleGridControlTableCell.cxx:79
#1  0x7fffe45e864a in wrapper_get_name(AtkObject*) 
(atk_obj=0x5bbcef60) at 
/home/michi/development/git/libreoffice/vcl/unx/gtk3/a11y/atkwrapper.cxx:369
#2  0x7fffe3a87e5c in  () at 
/lib/x86_64-linux-gnu/libatk-bridge-2.0.so.0
#3  0x7fffe3a947de in  () at 
/lib/x86_64-linux-gnu/libatk-bridge-2.0.so.0
#4  0x7fffe3a94caf in  () at 
/lib/x86_64-linux-gnu/libatk-bridge-2.0.so.0
#5  0x775feff0 in  () at /lib/x86_64-linux-gnu/libdbus-1.so.3
#6  0x775eea1c in dbus_connection_dispatch () at 
/lib/x86_64-linux-gnu/libdbus-1.so.3
#7  0x7fffe36d74a5 in  () at /lib/x86_64-linux-gnu/libatspi.so.0
#8  0x7fffe9ab8cdb in g_main_context_dispatch () at 
/lib/x86_64-linux-gnu/libglib-2.0.so.0
#9  0x7fffe9ab8f88 in  () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#10 0x7fffe9ab903f in g_main_context_iteration () at 
/lib/x86_64-linux-gnu/libglib-2.0.so.0
#11 0x7fffe460f546 in GtkSalData::Yield(bool, bool) 
(this=0x5567c750, bWait=true, bHandleAllCurrentEvents=false) at 
/home/michi/development/git/libreoffice/vcl/unx/gtk3/gtkdata.cxx:405
#12 0x7fffe461402a in GtkInstance::DoYield(bool, bool) 
(this=0x5567c5d0, bWait=true, bHandleAllCurrentEvents=false) at 
/home/michi/development/git/libreoffice/vcl/unx/gtk3/gtkinst.cxx:427
#13 0x7fffef7ab4be in ImplYield(bool, bool) (i_bWait=true, 
i_bAllEvents=false) at 
/home/michi/development/git/libreoffice/vcl/source/app/svapp.cxx:474
#14 0x7fffef7ac0b0 in Application::Yield() () at 
/home/michi/development/git/libreoffice/vcl/source/app/svapp.cxx:558
#15 0x7fffef7ab18e in Application::Execute() () at 
/home/michi/development/git/libreoffice/vcl/source/app/svapp.cxx:452
#16 0x77c309af in desktop::Desktop::Main() 
(this=0x7fffd780) at 
/home/michi/development/git/libreoffice/desktop/source/app/app.cxx:1604
#17 0x7fffef7c9d75 in ImplSVMain() () at 
/home/michi/development/git/libreoffice/vcl/source/app/svmain.cxx:202
#18 0x7fffef7c9e96 in SVMain() () at 
/home/michi/development/git/libreoffice/vcl/source/app/svmain.cxx:234
#19 0x77c947c9 in soffice_main() () at 
/home/michi/development/git/libreoffice/desktop/source/app/sofficemain.cxx:98
#20 0x49f4 in sal_main () at 
/home/michi/development/git/libreoffice/desktop/source/app/main.c:51
#21 0x49da in main (argc=4, argv=0x7fffdaf8) at 
/home/michi/development/git/libreoffice/desktop/source/app/main.c:49

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

diff --git a/accessibility/inc/extended/AccessibleGridControlTable.hxx 
b/accessibility/inc/extended/AccessibleGridControlTable.hxx
index bada75124257..602365468505 100644
--- a/a

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

2022-03-09 Thread Michael Weghorn (via logerrit)
 accessibility/inc/extended/AccessibleGridControlTable.hxx |3 ---
 accessibility/source/extended/AccessibleGridControl.cxx   |   13 -
 2 files changed, 4 insertions(+), 12 deletions(-)

New commits:
commit f56b932487509de1ecde46a42c40df76c6ecebcf
Author: Michael Weghorn 
AuthorDate: Wed Mar 9 13:53:09 2022 +0100
Commit: Michael Weghorn 
CommitDate: Wed Mar 9 17:47:24 2022 +0100

a11y: Leave cell vector handling to AccessibleGridControlTable

Use `AccessibleGridControlTable::getAccessibleCellAt` and
cast to `AccessibleGridControlTableCell*` instead of
directly accessing the cell vector in
`AccessibleGridControl::commitCellEvent`.

`AccessibleGridControlTable::getAccessibleCellAt`
just needs row and column index as parameters,
and already takes care of everything else that's
needed.
This includes creating an accessible object for
the given indices on demand.

Therefore, limiting this to only already existing
a11y objects, which was done to avoid crashes in

commit 4fc7deb7b0528010ebf644654bf4a36594e03f8c
Date:   Thu Oct 3 23:16:34 2013 +0200

fix STL assert in 
accessibility::AccessibleGridControl::commitTableEvent

is no longer needed.

With this change in place, details of how cells are
organized in the vector only need to be known inside
of the `AccessibleGridControlTable` class itself, so
drop the now unused method
`AccessibleGridControlTable::getCellVector`.

(This code path is e.g. used when using
the macro from tdf#147742.)

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

diff --git a/accessibility/inc/extended/AccessibleGridControlTable.hxx 
b/accessibility/inc/extended/AccessibleGridControlTable.hxx
index 602365468505..69e3d9229694 100644
--- a/accessibility/inc/extended/AccessibleGridControlTable.hxx
+++ b/accessibility/inc/extended/AccessibleGridControlTable.hxx
@@ -142,9 +142,6 @@ public:
 // XComponent
 virtual void SAL_CALL dispose() override;
 
-/**@return m_pCellVector*/
-std::vector< rtl::Reference >& 
getCellVector() { return m_aCellVector;}
-
 virtual void commitEvent(sal_Int16 nEventId, const css::uno::Any& 
rNewValue,
  const css::uno::Any& rOldValue) override;
 
diff --git a/accessibility/source/extended/AccessibleGridControl.cxx 
b/accessibility/source/extended/AccessibleGridControl.cxx
index 81f3d121ab0f..474945817603 100644
--- a/accessibility/source/extended/AccessibleGridControl.cxx
+++ b/accessibility/source/extended/AccessibleGridControl.cxx
@@ -270,15 +270,10 @@ void AccessibleGridControl::commitCellEvent(sal_Int16 
_nEventId,const Any& _rNew
 css::uno::Reference< css::accessibility::XAccessible > xAccessible 
= getAccessibleChild(i);
 if(css::uno::Reference< css::accessibility::XAccessible 
>(m_xTable) == xAccessible)
 {
-std::vector< rtl::Reference >& 
rCells =
-m_xTable->getCellVector();
-size_t nIndex = m_aTable.GetCurrentRow() * 
m_aTable.GetColumnCount()
-  + m_aTable.GetCurrentColumn();
-if (nIndex < rCells.size() && rCells[nIndex])
-{
-rtl::Reference xCell = 
rCells[nIndex];
-xCell->commitEvent( _nEventId, _rNewValue, _rOldValue );
-}
+Reference xCell = m_xTable->getAccessibleCellAt(
+m_aTable.GetCurrentRow(), m_aTable.GetCurrentColumn());
+AccessibleGridControlTableCell* pCell = 
static_cast(xCell.get());
+pCell->commitEvent(_nEventId, _rNewValue, _rOldValue);
 }
 }
 }


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

2022-03-09 Thread Noel Grandin (via logerrit)
 sw/source/ui/misc/glossary.cxx  |6 +++---
 sw/source/ui/misc/num.cxx   |5 ++---
 sw/source/ui/misc/pgfnote.cxx   |   16 +++-
 sw/source/ui/misc/pggrid.cxx|7 +++
 sw/source/ui/misc/titlepage.cxx |7 +++
 5 files changed, 18 insertions(+), 23 deletions(-)

New commits:
commit d07cb9eccd7ae0a24e352906578d5c514ff3bc1d
Author: Noel Grandin 
AuthorDate: Wed Mar 9 16:51:29 2022 +0200
Commit: Noel Grandin 
CommitDate: Wed Mar 9 18:21:05 2022 +0100

use SfxItemSet::GetItemIfSet in sw/.../ui/misc

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

diff --git a/sw/source/ui/misc/glossary.cxx b/sw/source/ui/misc/glossary.cxx
index 5a798c9958d5..293861d880c1 100644
--- a/sw/source/ui/misc/glossary.cxx
+++ b/sw/source/ui/misc/glossary.cxx
@@ -545,14 +545,14 @@ IMPL_LINK(SwGlossaryDlg, MenuHdl, const OString&, 
rItemIdent, void)
 aSet.Put( aItem );
 aSet.Put( SwMacroAssignDlg::AddEvents( MACASSGN_AUTOTEXT ) );
 
-const SfxPoolItem* pItem;
+const SvxMacroItem* pMacroItem;
 SvxAbstractDialogFactory* pFact = SvxAbstractDialogFactory::Create();
 ScopedVclPtr 
pMacroDlg(pFact->CreateEventConfigDialog(m_xDialog.get(), aSet,
 m_pShell->GetView().GetViewFrame()->GetFrame().GetFrameInterface() 
));
 if ( pMacroDlg && pMacroDlg->Execute() == RET_OK &&
-SfxItemState::SET == pMacroDlg->GetOutputItemSet()->GetItemState( 
RES_FRMMACRO, false, &pItem ) )
+(pMacroItem = pMacroDlg->GetOutputItemSet()->GetItemIfSet( 
RES_FRMMACRO, false )) )
 {
-const SvxMacroTableDtor& rTable = static_cast(pItem)->GetMacroTable();
+const SvxMacroTableDtor& rTable = pMacroItem->GetMacroTable();
 m_pGlossaryHdl->SetMacros( m_xShortNameEdit->get_text(),
 rTable.Get( 
SvMacroItemId::SwStartInsGlossary ),
 rTable.Get( 
SvMacroItemId::SwEndInsGlossary ) );
diff --git a/sw/source/ui/misc/num.cxx b/sw/source/ui/misc/num.cxx
index df91dd6e6096..b41e15b150af 100644
--- a/sw/source/ui/misc/num.cxx
+++ b/sw/source/ui/misc/num.cxx
@@ -390,14 +390,13 @@ bool SwNumPositionTabPage::FillItemSet( SfxItemSet* rSet )
 
 void SwNumPositionTabPage::Reset( const SfxItemSet* rSet )
 {
-const SfxPoolItem* pItem;
 if (pOutlineDlg)
 {
 pSaveNum = pOutlineDlg->GetNumRule();
 m_xLevelLB->set_selection_mode(SelectionMode::Single);
 }
-else if(SfxItemState::SET == rSet->GetItemState(FN_PARAM_ACT_NUMBER, 
false, &pItem))
-pSaveNum = const_cast(static_cast(pItem))->GetNumRule();
+else if(const SwUINumRuleItem* pNumberItem = 
rSet->GetItemIfSet(FN_PARAM_ACT_NUMBER, false))
+pSaveNum = const_cast(pNumberItem)->GetNumRule();
 
 nActNumLvl = SwOutlineTabDialog::GetActNumLevel();
 sal_uInt16 nMask = 1;
diff --git a/sw/source/ui/misc/pgfnote.cxx b/sw/source/ui/misc/pgfnote.cxx
index 786d8028f97a..fa94ea19e2bd 100644
--- a/sw/source/ui/misc/pgfnote.cxx
+++ b/sw/source/ui/misc/pgfnote.cxx
@@ -262,10 +262,9 @@ void SwFootNotePage::ActivatePage(const SfxItemSet& rSet)
 auto const & rSize = rSet.Get( RES_FRM_SIZE );
 lMaxHeight = rSize.GetHeight();
 
-const SfxPoolItem* pItem;
-if( SfxItemState::SET == rSet.GetItemState( rSet.GetPool()->GetWhich( 
SID_ATTR_PAGE_HEADERSET), false, &pItem ) )
+if( const SvxSetItem* pHeaderSetItem = rSet.GetItemIfSet( 
rSet.GetPool()->GetWhich( SID_ATTR_PAGE_HEADERSET), false ) )
 {
-const SfxItemSet& rHeaderSet = static_cast(pItem)->GetItemSet();
+const SfxItemSet& rHeaderSet = pHeaderSetItem->GetItemSet();
 const SfxBoolItem& rHeaderOn =
 rHeaderSet.Get( rSet.GetPool()->GetWhich( SID_ATTR_PAGE_ON ) );
 
@@ -277,10 +276,10 @@ void SwFootNotePage::ActivatePage(const SfxItemSet& rSet)
 }
 }
 
-if( SfxItemState::SET == rSet.GetItemState( rSet.GetPool()->GetWhich( 
SID_ATTR_PAGE_FOOTERSET),
-false, &pItem ) )
+if( const SvxSetItem* pFooterSetItem = rSet.GetItemIfSet( 
rSet.GetPool()->GetWhich( SID_ATTR_PAGE_FOOTERSET),
+false ) )
 {
-const SfxItemSet& rFooterSet = static_cast(pItem)->GetItemSet();
+const SfxItemSet& rFooterSet = pFooterSetItem->GetItemSet();
 const SfxBoolItem& rFooterOn = rFooterSet.Get( SID_ATTR_PAGE_ON );
 
 if ( rFooterOn.GetValue() )
@@ -291,10 +290,9 @@ void SwFootNotePage::ActivatePage(const SfxItemSet& rSet)
 }
 }
 
-if ( rSet.GetItemState( RES_UL_SPACE , false ) == SfxItemState::SET )
+if ( const SvxULSpaceItem* pSpaceItem = rSet.GetItemIfSet( RES_UL_SPACE , 
false ) )
 {
-const SvxULSpaceItem &rUL = rSet.Get( RES_UL_SPACE );
-lMaxHeight -= rUL.GetUpper() + rUL.GetLower();
+lMaxHeight -= pSpaceItem->GetU

[Libreoffice-commits] core.git: Branch 'distro/cib/libreoffice-6-4' - 11 commits - comphelper/source configure.ac external/curl include/sal postprocess/Rdb_services.mk RepositoryExternal.mk solenv/cla

2022-03-09 Thread Michael Stahl (via logerrit)
 RepositoryExternal.mk|2 
 comphelper/source/streaming/seqoutputstreamserv.cxx  |   13 
 configure.ac |   36 
 external/curl/ExternalPackage_curl.mk|2 
 external/curl/ExternalProject_curl.mk|1 
 external/curl/UnpackedTarball_curl.mk|2 
 external/curl/curl-debug.patch.1 |   11 
 external/curl/curl-msvc-zlib.patch.1 |   16 
 include/sal/log-areas.dox|1 
 postprocess/Rdb_services.mk  |3 
 solenv/clang-format/blacklist|   35 
 ucb/CppunitTest_ucb_webdav_core.mk   |   26 
 ucb/CppunitTest_ucb_webdav_neon_opts.mk  |   56 
 ucb/CppunitTest_ucb_webdav_propfindcache.mk  |   56 
 ucb/CppunitTest_ucb_webdav_res_access.mk |   56 
 ucb/Module_ucb.mk|7 
 ucb/qa/cppunit/webdav/webdav_local_neon.cxx  |   69 
 ucb/qa/cppunit/webdav/webdav_options.cxx |6 
 ucb/qa/cppunit/webdav/webdav_propfindcache.cxx   |8 
 ucb/qa/cppunit/webdav/webdav_resource_access.cxx |4 
 ucb/source/ucp/webdav-curl/ContentProperties.cxx |  568 ++
 ucb/source/ucp/webdav-curl/ContentProperties.hxx |  173 
 ucb/source/ucp/webdav-curl/CurlSession.cxx   | 2376 ++
 ucb/source/ucp/webdav-curl/CurlSession.hxx   |  145 
 ucb/source/ucp/webdav-curl/CurlUri.cxx   |  327 +
 ucb/source/ucp/webdav-curl/CurlUri.hxx   |   94 
 ucb/source/ucp/webdav-curl/DAVAuthListener.hxx   |   43 
 ucb/source/ucp/webdav-curl/DAVAuthListenerImpl.hxx   |   61 
 ucb/source/ucp/webdav-curl/DAVException.hxx  |  174 
 ucb/source/ucp/webdav-curl/DAVProperties.cxx |  199 
 ucb/source/ucp/webdav-curl/DAVProperties.hxx |   57 
 ucb/source/ucp/webdav-curl/DAVRequestEnvironment.hxx |   54 
 ucb/source/ucp/webdav-curl/DAVResource.hxx   |   61 
 ucb/source/ucp/webdav-curl/DAVResourceAccess.cxx | 1192 +
 ucb/source/ucp/webdav-curl/DAVResourceAccess.hxx |  220 
 ucb/source/ucp/webdav-curl/DAVSession.hxx|  196 
 ucb/source/ucp/webdav-curl/DAVSessionFactory.cxx |   87 
 ucb/source/ucp/webdav-curl/DAVSessionFactory.hxx |   74 
 ucb/source/ucp/webdav-curl/DAVTypes.cxx  |  199 
 ucb/source/ucp/webdav-curl/DAVTypes.hxx  |  202 
 ucb/source/ucp/webdav-curl/DateTimeHelper.cxx|  258 +
 ucb/source/ucp/webdav-curl/DateTimeHelper.hxx|   55 
 ucb/source/ucp/webdav-curl/PropertyMap.hxx   |   55 
 ucb/source/ucp/webdav-curl/PropfindCache.cxx |   91 
 ucb/source/ucp/webdav-curl/PropfindCache.hxx |   81 
 ucb/source/ucp/webdav-curl/SerfLockStore.cxx |  275 +
 ucb/source/ucp/webdav-curl/SerfLockStore.hxx |   96 
 ucb/source/ucp/webdav-curl/UCBDeadPropertyValue.cxx  |  220 
 ucb/source/ucp/webdav-curl/UCBDeadPropertyValue.hxx  |   46 
 ucb/source/ucp/webdav-curl/ucpdav1.component |   26 
 ucb/source/ucp/webdav-curl/webdavcontent.cxx | 4302 +++
 ucb/source/ucp/webdav-curl/webdavcontent.hxx |  305 +
 ucb/source/ucp/webdav-curl/webdavcontentcaps.cxx |  636 ++
 ucb/source/ucp/webdav-curl/webdavdatasupplier.cxx|  486 ++
 ucb/source/ucp/webdav-curl/webdavdatasupplier.hxx|   73 
 ucb/source/ucp/webdav-curl/webdavprovider.cxx|  174 
 ucb/source/ucp/webdav-curl/webdavprovider.hxx|  100 
 ucb/source/ucp/webdav-curl/webdavresponseparser.cxx  |  975 
 ucb/source/ucp/webdav-curl/webdavresponseparser.hxx  |   38 
 ucb/source/ucp/webdav-curl/webdavresultset.cxx   |   76 
 ucb/source/ucp/webdav-curl/webdavresultset.hxx   |   48 
 61 files changed, 15086 insertions(+), 242 deletions(-)

New commits:
commit 06e4c6fd51f60f1f7d474ede321fe031cde0b3ca
Author: Michael Stahl 
AuthorDate: Wed Mar 9 16:21:07 2022 +0100
Commit: Michael Stahl 
CommitDate: Wed Mar 9 19:00:31 2022 +0100

TODO: does it need own component file?

Change-Id: I01e169e9445b2711d95c83a07f3c26507b5c1ab1

diff --git a/postprocess/Rdb_services.mk b/postprocess/Rdb_services.mk
index f8c5047de79f..35955d90ac3e 100644
--- a/postprocess/Rdb_services.mk
+++ b/postprocess/Rdb_services.mk
@@ -168,6 +168,9 @@ $(eval $(call gb_Rdb_add_components,services,\
$(if $(WITH_WEBDAV), \
ucb/source/ucp/webdav-neon/ucpdav1 \
) \
+$(if $(filter curl,$(WITH_WEBDAV)), \
+ucb/source/ucp/webdav-curl/ucpdav1 \
+) \
$(call gb_Helper_optional,SCRIPTING, \
basctl/util/basctl \
basic/util/sb \
commit d84595ec6da2555937874556a22677f41eb39984
Author: Michael Stahl 
AuthorDate: Fri Nov 26 16:29:08 2021 +0100
Commit: Michael Stahl 
CommitDate: Wed Mar 9 19:00:31 2022 +0100

ucb: webdav-curl: fix CurlUri::CloneWithRelativeRefPathAb

[Libreoffice-commits] translations.git: Branch 'libreoffice-7-3' - source/an source/ar source/ast source/bg source/ca source/eo source/es source/fa source/fi source/fr source/gl source/gug source/he s

2022-03-09 Thread Christian Lohmaier (via logerrit)
 source/an/sw/messages.po   
|4 
 source/an/wizards/messages.po  
|   10 
 source/an/wizards/source/resources.po  
|9 
 source/an/writerperfect/messages.po
|   10 
 source/ar/chart2/messages.po   
|   32 
 source/ar/connectivity/messages.po 
|6 
 source/ar/cui/messages.po  
|  126 -
 source/ar/dbaccess/messages.po 
|   26 
 source/ar/dictionaries/en/dialog.po
|6 
 source/ar/dictionaries/pt_BR/dialog.po 
|6 
 source/ar/editeng/messages.po  
|4 
 source/ar/extensions/messages.po   
|   46 
 source/ar/filter/messages.po   
|4 
 source/ar/filter/source/config/fragments/filters.po
|   18 
 source/ar/filter/source/config/fragments/types.po  
|8 
 source/ar/formula/messages.po  
|   10 
 source/ar/instsetoo_native/inc_openoffice/windows/msi_languages.po 
|6 
 source/ar/librelogo/source/pythonpath.po   
|4 
 source/ar/officecfg/registry/data/org/openoffice/Office.po 
|   52 
 source/ar/officecfg/registry/data/org/openoffice/Office/UI.po  
|  143 -
 source/ar/readlicense_oo/docs.po   
|8 
 source/ar/reportdesign/messages.po 
|   48 
 source/ar/sc/messages.po   
|  256 +-
 source/ar/scp2/source/calc.po  
|   18 
 source/ar/scp2/source/ooo.po   
|6 
 source/ar/sd/messages.po   
|  180 -
 source/ar/sfx2/messages.po 
|  156 -
 source/ar/shell/source/win32/shlxthandler/res.po   
|4 
 source/ar/starmath/messages.po 
|   14 
 source/ar/svtools/messages.po  
|   28 
 source/ar/svx/messages.po  
|   36 
 source/ar/sw/messages.po   
|  291 +--
 source/ar/swext/mediawiki/help.po  
|   10 
 source/ar/sysui/desktop/share.po   
|   18 
 source/ar/uui/messages.po  
|   12 
 source/ar/vcl/messages.po  
|   12 
 source/ar/wizards/source/resources.po  
|   42 
 source/ar/writerperfect/messages.po
|4 
 source/ast/connectivity/registry/macab/org/openoffice/Office/DataAccess.po 
|   12 
 source/ast/cui/messages.po 
|4 
 source/ast/dbaccess/messages.po
|   13 
 source/ast/formula/messages.po 
|4 
 source/ast/helpcontent2/source/text/scalc/01.po
|4 
 source/ast/helpcontent2/source/text/swriter/01.po  
|8 
 source/ast/sw/messages.po  
|   32 
 source/bg/helpcontent2/source/text/sbasic/shared.po
|4 
 source/bg/helpcontent2/source/text/sdatabase.po
|   26 
 source/bg/helpcontent2/source/text/swriter/01.po   
|4 
 source/bg/helpcontent2/source/text/swriter/guide.po
|6 
 source/bg/officecfg/registry/data/org/openoffice/Office/UI.po  
|4 
 source/ca/helpcontent2/source/text/swriter/guide.po
|   12 
 source/eo/basctl/messages.po   
|   14 
 source/eo/librelogo/source/pythonpath.po   
|   10 
 source/eo/svx/messages.po  
|4 
 source/es/cui/messages.po  
|   18 
 source/es/filter/messages.po   
|8 
 sourc

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

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

New commits:
commit fa71cad173128329ad8bfb380bcc4ccba581ab60
Author: Christian Lohmaier 
AuthorDate: Wed Mar 9 19:47:52 2022 +0100
Commit: Gerrit Code Review 
CommitDate: Wed Mar 9 19:47:52 2022 +0100

Update git submodules

* Update translations from branch 'libreoffice-7-3'
  to 67855245915e5d354ad30cd969de3660cf36cfc2
  - update translations for 7.3.2 rc1

and fore-fix errors using pocheck

Change-Id: I2f3b0bda0460d46862b3e684140bb96e8cafb87a

diff --git a/translations b/translations
index 1dab7b297f1b..67855245915e 16
--- a/translations
+++ b/translations
@@ -1 +1 @@
-Subproject commit 1dab7b297f1b7c2c2ab834239fc40961f60b70e3
+Subproject commit 67855245915e5d354ad30cd969de3660cf36cfc2


[Libreoffice-commits] dictionaries.git: Changes to 'libreoffice-7-3-2'

2022-03-09 Thread Christian Lohmaier (via logerrit)
New branch 'libreoffice-7-3-2' available with the following commits:
commit fd1c7b6dfb0c15450ee8011971fac82277e4f34a
Author: Christian Lohmaier 
Date:   Wed Mar 9 19:52:44 2022 +0100

Branch libreoffice-7-3-2

This is 'libreoffice-7-3-2' - the stable branch for the 7.3.2 release.
Only very safe changes, reviewed by three people are allowed.

If you want to commit more complicated fix for the next 7.3.x release,
please use the 'libreoffice-7-3' branch.

If you want to build something cool, unstable, and risky, use master.

Change-Id: I3de83166f6b7ed67a2a4870f715fe5dec7fcfb3b



[Libreoffice-commits] help.git: Changes to 'libreoffice-7-3-2'

2022-03-09 Thread Christian Lohmaier (via logerrit)
New branch 'libreoffice-7-3-2' available with the following commits:
commit 5ea85124762aef34153f1e6bead0d9190f9ae3eb
Author: Christian Lohmaier 
Date:   Wed Mar 9 19:52:44 2022 +0100

Branch libreoffice-7-3-2

This is 'libreoffice-7-3-2' - the stable branch for the 7.3.2 release.
Only very safe changes, reviewed by three people are allowed.

If you want to commit more complicated fix for the next 7.3.x release,
please use the 'libreoffice-7-3' branch.

If you want to build something cool, unstable, and risky, use master.

Change-Id: Iae396bc379159a4dd3b1854fcd97b3ea8fb76cbc



[Libreoffice-commits] translations.git: Changes to 'libreoffice-7-3-2'

2022-03-09 Thread Christian Lohmaier (via logerrit)
New branch 'libreoffice-7-3-2' available with the following commits:
commit 7cf6cf409b23e88bebd64ec985f432254ec06ad4
Author: Christian Lohmaier 
Date:   Wed Mar 9 19:52:44 2022 +0100

Branch libreoffice-7-3-2

This is 'libreoffice-7-3-2' - the stable branch for the 7.3.2 release.
Only very safe changes, reviewed by three people are allowed.

If you want to commit more complicated fix for the next 7.3.x release,
please use the 'libreoffice-7-3' branch.

If you want to build something cool, unstable, and risky, use master.

Change-Id: I953547fabf4be5801cd79630d26e5ba30152b717



[Libreoffice-commits] core.git: Changes to 'libreoffice-7-3-2'

2022-03-09 Thread Christian Lohmaier (via logerrit)
New branch 'libreoffice-7-3-2' available with the following commits:
commit 9995005765b5bce86ada523f13dbe9d6501d2e9d
Author: Christian Lohmaier 
Date:   Wed Mar 9 19:53:08 2022 +0100

Branch libreoffice-7-3-2

This is 'libreoffice-7-3-2' - the stable branch for the 7.3.2 release.
Only very safe changes, reviewed by three people are allowed.

If you want to commit more complicated fix for the next 7.3.x release,
please use the 'libreoffice-7-3' branch.

If you want to build something cool, unstable, and risky, use master.



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

2022-03-09 Thread Christian Lohmaier (via logerrit)
 configure.ac |2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

New commits:
commit d39751115137632040a05d29b5131a3e4d6a867a
Author: Christian Lohmaier 
AuthorDate: Wed Mar 9 19:54:25 2022 +0100
Commit: Christian Lohmaier 
CommitDate: Wed Mar 9 19:54:25 2022 +0100

bump product version to 7.3.3.0.0+

Change-Id: Ib9e8a24d5c7f74bbc6870875dfe6dd414be5fdfa

diff --git a/configure.ac b/configure.ac
index 2e773f127069..adc7c2800488 100644
--- a/configure.ac
+++ b/configure.ac
@@ -9,7 +9,7 @@ dnl in order to create a configure script.
 # several non-alphanumeric characters, those are split off and used only for 
the
 # ABOUTBOXPRODUCTVERSIONSUFFIX in openoffice.lst. Why that is necessary, no 
idea.
 
-AC_INIT([LibreOffice],[7.3.2.0.0+],[],[],[http://documentfoundation.org/])
+AC_INIT([LibreOffice],[7.3.3.0.0+],[],[],[http://documentfoundation.org/])
 
 dnl libnumbertext needs autoconf 2.68, but that can pick up autoconf268 just 
fine if it is installed
 dnl whereas aclocal (as run by autogen.sh) insists on using autoconf and fails 
hard


[Libreoffice-commits] core.git: Changes to 'refs/tags/libreoffice-7.3.2.1'

2022-03-09 Thread Christian Lohmaier (via logerrit)
Tag 'libreoffice-7.3.2.1' created by Christian Lohmaier 
 at 2022-03-09 18:56 +

Tag libreoffice-7.3.2.1
-BEGIN PGP SIGNATURE-

iQIzBAABCAAdFiEEwoOeytlAj76VMcPp9DSh76/urqMFAmIo+GUACgkQ9DSh76/u
rqPaBxAAvg6kLNUbKLuYtlhLSU739Rth/JIqxSlh89MZ87ly6KitFWAa3M/1NO9+
tlgLMq6/eEX7f07u0msJ4vvnqMlCUTLG5orzkefq2OuEyq/B+3E46BuDUwYU5OUx
a4lDzun7S/Pt5mwlvOnJDUVbGzDvx9NRU1qT5VXtD+vjX7d4+VctDfQdpdnKbK7+
ROvMCmjmzBXPXR7QJQoh4uNoQbzBYRhLM61kuAl6FyG5H3Bi6O4Yd/T6xuKXZFfU
o9yOpcVWYNi0pCDh2nxB/CitnOWPgkYnuxCbDeWAvxummZAhjv1gpECIwDUrqS2c
DopdJa3AZYNBpBVeZDQrADdUwSdChGMivvI3zbi7a9bAY9brRs45MeCPHXuAS2mo
L8Ci/zsZJAC07Eraip7zcR91OHs60GUy0CYEuH+/Fg3DG4zTXYLnARq+7wSsb+NH
OkiFxpf3ZGkEhIfTo+kdcYbenQv/iEbGcjow3VQTVoXY+v5oD1U8zSvnACUbQcXV
k+6ZcLqbIaudrttZ8IHiqz3HYODks3h1zgZ3vCID8z5ryaH58LIySqopQnMc7+zY
t5pEYoJheClaK+RgITnXyTtdW1Oq3utMkEU64WWOIYMeuUsagYJH+RT501rAlaI0
JLRHuf2U5qiytfLF7c4izge4NaRrxPy75/ctdWxbwrYYjIaITNU=
=5TTU
-END PGP SIGNATURE-

Changes since co-22.05-branch-point-217:
---
 0 files changed
---


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

2022-03-09 Thread Christian Lohmaier (via logerrit)
 configure.ac |2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

New commits:
commit 816ec9c6bc27678608d05490165884cc32ccd425
Author: Christian Lohmaier 
AuthorDate: Wed Mar 9 19:57:02 2022 +0100
Commit: Christian Lohmaier 
CommitDate: Wed Mar 9 19:57:02 2022 +0100

bump product version to 7.3.2.1.0+

Change-Id: I8267895cb7839c333f74a4cbc20cda958d6f60e5

diff --git a/configure.ac b/configure.ac
index 2e773f127069..ec1e01d15927 100644
--- a/configure.ac
+++ b/configure.ac
@@ -9,7 +9,7 @@ dnl in order to create a configure script.
 # several non-alphanumeric characters, those are split off and used only for 
the
 # ABOUTBOXPRODUCTVERSIONSUFFIX in openoffice.lst. Why that is necessary, no 
idea.
 
-AC_INIT([LibreOffice],[7.3.2.0.0+],[],[],[http://documentfoundation.org/])
+AC_INIT([LibreOffice],[7.3.2.1.0+],[],[],[http://documentfoundation.org/])
 
 dnl libnumbertext needs autoconf 2.68, but that can pick up autoconf268 just 
fine if it is installed
 dnl whereas aclocal (as run by autogen.sh) insists on using autoconf and fails 
hard


[Libreoffice-commits] dictionaries.git: Changes to 'refs/tags/libreoffice-7.3.2.1'

2022-03-09 Thread Christian Lohmaier (via logerrit)
Tag 'libreoffice-7.3.2.1' created by Christian Lohmaier 
 at 2022-03-09 18:56 +

Tag libreoffice-7.3.2.1
-BEGIN PGP SIGNATURE-

iQIzBAABCAAdFiEEwoOeytlAj76VMcPp9DSh76/urqMFAmIo+GEACgkQ9DSh76/u
rqMxJhAAsa6yIMUDRTBuUBExPLeM9yFp4t6cFZc6InfE96Fy/n7ttaTS19Yb3tK5
xcVc437JgWnBDeQVQOJBYU4KgdKm7cVox16MgWFVyAhtS0yKRl8AIppgl4fuzvqo
Fx+xRhB9nZ6tqIGpLRBGNul9oEgA7sT2AzILXo6OryB5k+4ERedNiJ7tZklbEQzW
YZ4CtTcn+urSjGtAmnGx7wpbfQrQLEqKLXVBPNAk0n77B5RJq8UrBZ51jRiHNus6
mRnZKJZP5jr93Sl2QD1YE8u9tA8OSgd3MHNzINBZrqc8SNAqaTuQRdR+LoKJMKyD
wsr3FI3JrwRkRlroX88XHn1Wtnt3qIavmyFAouqQVhLCirOmhLy+vgGMj5JIRhIk
ThekaWGjeiRqQqTsDA7/ERcj3CR9vPQwXvmHfG0lzf+SI76qhTQm7L1tAEnhv1nh
MXwlWyKuhh17a6auMGZZONS4FDVzQYGlugrDwQtfTV58kvcOsPgOKikqA4dGZ8uv
dlhOW2Eq7KAr/7WCbIFL52bLgVUP86lQX9+lhNadoA6i0J1Ygp+I+yxZH0H0KgS7
kOX8bO1IDIgKAchoWTaqZHNFdAt1Q4wz/tbZVkoawbBip8owkK1uroEef7cEPts+
1BcL4B5P40OPR/B+kMbccJ/iHv7nxcxhLCUdYKGZreoxB+5jCLA=
=OHL5
-END PGP SIGNATURE-

Changes since co-22.05-branch-point-2:
---
 0 files changed
---


[Libreoffice-commits] translations.git: Changes to 'refs/tags/libreoffice-7.3.2.1'

2022-03-09 Thread Christian Lohmaier (via logerrit)
Tag 'libreoffice-7.3.2.1' created by Christian Lohmaier 
 at 2022-03-09 18:56 +

Tag libreoffice-7.3.2.1
-BEGIN PGP SIGNATURE-

iQIzBAABCAAdFiEEwoOeytlAj76VMcPp9DSh76/urqMFAmIo+GUACgkQ9DSh76/u
rqM1xRAAwdy/ngMJ2ocsocUST+mvHGNCmBAtd4Gt4EfrQAbhU72QLn5dVij3Msep
5K9ge4eo8uvnXrO9ez9D4F3kevZb5irXjWkcQf4SRp3gLf56ImhO0NXJ+illWPP+
7vZ1JBVqx4Kw244eKYBDXnK9nUm8Q5g234lTaPYPqxhEDULkWRr2qexk+R0nJTya
u+pTJdAa395ZtLUXygg+0skmZ4mhUQMu7SvpUoYIT/qsttVsw14W/HWfdXkIk+H0
4JYyjMdBRsgFzkw1TP6Fk3viOAmrNBResyvFNH3BdEB3BDfo3M1Af053IUOufaBI
3cqxPaGAIuZdYqEPHPGAozyz9DEqFC6Q1hbB0qaVbjvFGC8s3KZE9G036HEFPfX0
F8Isp7a8bEuFltFfOKqfHlga81LaZsQaHrhIsGyLdmCdBUrI/z7KBRN3FoIIhDYr
HVGmHkHrJjsGLqBKYzi5HWeK2tFn/7B/+1m5GOor0bhp9e+7i8Q5NguFaVTbSc7o
SPEQaXeFl7aifc53hDAECG9vgG28RXcX2dwlJUCEK50vRQcPNZVBft0Dc9crBrF0
XhPJ5HfvlcbzSKwMPz2f9B0+wpfsCI5cybzg5k90V9XAjZ7xq571tSi4YD5QWL85
G2SOpc/uSy4Z3og+G3SAzIKPMuo76/S75SYVKVaNhgBF+zMa+4s=
=pgmD
-END PGP SIGNATURE-

Changes since co-22.05-branch-point-6:
---
 0 files changed
---


[Libreoffice-commits] help.git: Changes to 'refs/tags/libreoffice-7.3.2.1'

2022-03-09 Thread Christian Lohmaier (via logerrit)
Tag 'libreoffice-7.3.2.1' created by Christian Lohmaier 
 at 2022-03-09 18:56 +

Tag libreoffice-7.3.2.1
-BEGIN PGP SIGNATURE-

iQIzBAABCAAdFiEEwoOeytlAj76VMcPp9DSh76/urqMFAmIo+GUACgkQ9DSh76/u
rqOP0Q/9EZpVU4SMD+aIjOMzXKjDZ6EETmky+W/joHoKt2deMI02IAJkvc7M/bJV
vcm4dTR3MWZO/Li/dkB4qs8k8ZLKahADvih4E/ieFA4lnLvvS+wy7yWPgIO1T3+b
kMSIfz1mtXNYC1rVCBwgjwFgHc73IiqVoBOgZvUPd15/STqgRzjGuois2nmIlilk
OqZmRwoST1vH/RIv4ezXR2sQ+cls/kbAUGESWDdKwIxzI9vdlWXIw2CCWKyGpl3m
CSnUlkiGyDYyUZb3TYaRYwZNF/KEwu603xjH5G+XqQBwpqhJiAZUM3uldCLB2nrV
2JRj8nS2C0kyXgrk0JsMbYTjAwvC4xmLXbd2kFjTuLOy5kHBCfP8e11C5rSXGk3k
UWik5m5I4VdE3az6wEj8eJBzx+U3FuZeU4Mwg+HzaJ5Lqr2jqwiUn5ECn3FwLOv8
l3epU4vVtfZM8gPAi4HuGgJ4AkuhbXQuiis8NmyUJyKvVFid/GpFoaVMqB82CnVu
nDzalO7BCJHVrIn2dbTvdW0DTwwne2MYj2E1rOSzHKyJg/R/0398xj4FnrQe9rPl
fqtscFqzIumySv5Ud/AwfXkYQQGXlpAtAYgo3W/JIKUHnlkBsPrxqhGlUbP9TZVp
Rj3fGnRQSC0jQmhN85bL3fFX0pLiqT9qjpYXw9Nxp1WwftiZIKk=
=jyKl
-END PGP SIGNATURE-

Changes since co-22.05-branch-point-2:
---
 0 files changed
---


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

2022-03-09 Thread Caolán McNamara (via logerrit)
 vcl/unx/gtk3/gtkinst.cxx |   12 
 1 file changed, 8 insertions(+), 4 deletions(-)

New commits:
commit ea5af2f02a7b7ace1e3927d7eff684b9fbb26fd8
Author: Caolán McNamara 
AuthorDate: Wed Mar 9 12:31:41 2022 +
Commit: Caolán McNamara 
CommitDate: Wed Mar 9 21:14:54 2022 +0100

gtk4: use gtk_accessible_update_relation to set labeled_by

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

diff --git a/vcl/unx/gtk3/gtkinst.cxx b/vcl/unx/gtk3/gtkinst.cxx
index c1c338b22c6d..499b45c47d03 100644
--- a/vcl/unx/gtk3/gtkinst.cxx
+++ b/vcl/unx/gtk3/gtkinst.cxx
@@ -3770,11 +3770,17 @@ public:
 
 virtual void set_accessible_relation_labeled_by(weld::Widget* pLabel) 
override
 {
-#if !GTK_CHECK_VERSION(4, 0, 0)
+GtkWidget* pGtkLabel = pLabel ? 
dynamic_cast(*pLabel).getWidget() : nullptr;
+#if GTK_CHECK_VERSION(4, 0, 0)
+gtk_accessible_update_relation(GTK_ACCESSIBLE(m_pWidget),
+   GTK_ACCESSIBLE_RELATION_LABELLED_BY,
+   pGtkLabel, nullptr,
+   -1);
+#else
 AtkObject* pAtkObject = gtk_widget_get_accessible(m_pWidget);
 if (!pAtkObject)
 return;
-AtkObject *pAtkLabel = pLabel ? 
gtk_widget_get_accessible(dynamic_cast(*pLabel).getWidget())
 : nullptr;
+AtkObject *pAtkLabel = pGtkLabel ? 
gtk_widget_get_accessible(pGtkLabel) : nullptr;
 AtkRelationSet *pRelationSet = atk_object_ref_relation_set(pAtkObject);
 AtkRelation *pRelation = 
atk_relation_set_get_relation_by_type(pRelationSet, ATK_RELATION_LABELLED_BY);
 if (pRelation)
@@ -3787,8 +3793,6 @@ public:
 atk_relation_set_add(pRelationSet, pRelation);
 }
 g_object_unref(pRelationSet);
-#else
-(void)pLabel;
 #endif
 }
 


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

2022-03-09 Thread Caolán McNamara (via logerrit)
 include/vcl/weld.hxx   |3 +-
 sw/source/ui/fldui/flddb.cxx   |5 ---
 vcl/inc/salvtables.hxx |2 -
 vcl/source/app/salvtables.cxx  |   15 ---
 vcl/source/window/printdlg.cxx |2 -
 vcl/unx/gtk3/gtkinst.cxx   |   54 +
 6 files changed, 36 insertions(+), 45 deletions(-)

New commits:
commit c391dddb4e6ba514a85e7a2e498db1c7b1d300b2
Author: Caolán McNamara 
AuthorDate: Wed Mar 9 12:42:52 2022 +
Commit: Caolán McNamara 
CommitDate: Wed Mar 9 21:15:18 2022 +0100

gtk4: remove set_accessible_relation_label_for

and merge the contents of the old set_accessible_relation_labeled_by
into that so there's only the need to have one call.

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

diff --git a/include/vcl/weld.hxx b/include/vcl/weld.hxx
index 1b2ebb5f819d..5d3842a5247a 100644
--- a/include/vcl/weld.hxx
+++ b/include/vcl/weld.hxx
@@ -209,8 +209,9 @@ public:
 
 virtual OUString get_accessible_description() const = 0;
 
+// After this call this widget is only accessiblity labelled by pLabel and
+// pLabel only accessiblity labels this widget
 virtual void set_accessible_relation_labeled_by(weld::Widget* pLabel) = 0;
-virtual void set_accessible_relation_label_for(weld::Widget* pLabeled) = 0;
 
 virtual void set_tooltip_text(const OUString& rTip) = 0;
 virtual OUString get_tooltip_text() const = 0;
diff --git a/sw/source/ui/fldui/flddb.cxx b/sw/source/ui/fldui/flddb.cxx
index d59da9aabf63..a792c1e1afed 100644
--- a/sw/source/ui/fldui/flddb.cxx
+++ b/sw/source/ui/fldui/flddb.cxx
@@ -330,9 +330,7 @@ void SwFieldDBPage::TypeHdl(const weld::TreeView* pBox)
 m_xFormatLB->hide();
 
 weld::Widget& rWidget = m_xNumFormatLB->get_widget();
-m_xNewFormatRB->set_accessible_relation_label_for(&rWidget);
 rWidget.set_accessible_relation_labeled_by(m_xNewFormatRB.get());
-m_xFormatLB->set_accessible_relation_label_for(nullptr);
 
 if (pBox)   // type was changed by user
 m_xDBFormatRB->set_active(true);
@@ -371,10 +369,7 @@ void SwFieldDBPage::TypeHdl(const weld::TreeView* pBox)
 m_xNumFormatLB->hide();
 m_xFormatLB->show();
 
-
m_xNewFormatRB->set_accessible_relation_label_for(m_xFormatLB.get());
 
m_xFormatLB->set_accessible_relation_labeled_by(m_xNewFormatRB.get());
-weld::Widget& rWidget = m_xNumFormatLB->get_widget();
-rWidget.set_accessible_relation_label_for(nullptr);
 
 if( IsFieldEdit() )
 {
diff --git a/vcl/inc/salvtables.hxx b/vcl/inc/salvtables.hxx
index b4822d7c60e8..5f8ceb6b9ae3 100644
--- a/vcl/inc/salvtables.hxx
+++ b/vcl/inc/salvtables.hxx
@@ -298,8 +298,6 @@ public:
 
 virtual void set_accessible_relation_labeled_by(weld::Widget* pLabel) 
override;
 
-virtual void set_accessible_relation_label_for(weld::Widget* pLabeled) 
override;
-
 virtual void set_tooltip_text(const OUString& rTip) override;
 
 virtual OUString get_tooltip_text() const override;
diff --git a/vcl/source/app/salvtables.cxx b/vcl/source/app/salvtables.cxx
index c320b43c8592..c21d66a15d0a 100644
--- a/vcl/source/app/salvtables.cxx
+++ b/vcl/source/app/salvtables.cxx
@@ -408,16 +408,13 @@ OUString SalInstanceWidget::get_accessible_description() 
const
 
 void SalInstanceWidget::set_accessible_relation_labeled_by(weld::Widget* 
pLabel)
 {
-vcl::Window* pAtkLabel
+if (vcl::Window* pOldLabel = m_xWidget->GetAccessibleRelationLabeledBy())
+pOldLabel->SetAccessibleRelationLabelFor(nullptr);
+vcl::Window* pA11yLabel
 = pLabel ? dynamic_cast(*pLabel).getWidget() : 
nullptr;
-m_xWidget->SetAccessibleRelationLabeledBy(pAtkLabel);
-}
-
-void SalInstanceWidget::set_accessible_relation_label_for(weld::Widget* 
pLabeled)
-{
-vcl::Window* pAtkLabeled
-= pLabeled ? dynamic_cast(*pLabeled).getWidget() : 
nullptr;
-m_xWidget->SetAccessibleRelationLabelFor(pAtkLabeled);
+m_xWidget->SetAccessibleRelationLabeledBy(pA11yLabel);
+if (pA11yLabel)
+pA11yLabel->SetAccessibleRelationLabelFor(m_xWidget);
 }
 
 void SalInstanceWidget::set_tooltip_text(const OUString& rTip)
diff --git a/vcl/source/window/printdlg.cxx b/vcl/source/window/printdlg.cxx
index bb89ebbd5e9b..bce9870d41bc 100644
--- a/vcl/source/window/printdlg.cxx
+++ b/vcl/source/window/printdlg.cxx
@@ -1687,9 +1687,7 @@ void PrintDialog::setupOptionalUI()
 mxPagesBoxTitleTxt->show();
 mxPagesBtn->hide();
 
-
mxPagesBoxTitleTxt->set_accessible_relation_label_for(mxNupPagesBox.get());
 
mxNupPagesBox->set_accessible_relation_labeled_by(mxPagesBoxTitleTxt.get());
-mxPagesBtn->set_accessible_relation_label_for(nullptr);
 }
 
 // update enable sta

[Libreoffice-commits] core.git: 2 commits - bin/sanitize-excludelist.txt external/libfixmath readlicense_oo/license solenv/clang-format vcl/Library_vcl.mk vcl/source

2022-03-09 Thread Caolán McNamara (via logerrit)
 bin/sanitize-excludelist.txt   |2 
 external/libfixmath/LICENSE|   20 +
 external/libfixmath/fix16.c|  511 +
 external/libfixmath/fix16.h|  333 
 external/libfixmath/int64.h|  177 
 readlicense_oo/license/license.xml |   27 +
 solenv/clang-format/excludelist|3 
 vcl/Library_vcl.mk |2 
 vcl/source/fontsubset/fixmath.c|   13 
 vcl/source/fontsubset/fixmath.h|   23 +
 vcl/source/fontsubset/sft.cxx  |   40 --
 11 files changed, 1113 insertions(+), 38 deletions(-)

New commits:
commit de1a3ebcb45dca64ec90fa3c1387982dee343cba
Author: Caolán McNamara 
AuthorDate: Wed Mar 9 16:54:56 2022 +
Commit: Caolán McNamara 
CommitDate: Wed Mar 9 21:21:22 2022 +0100

tweak suppression

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

diff --git a/bin/sanitize-excludelist.txt b/bin/sanitize-excludelist.txt
index a3887d671f02..0e26870b2188 100644
--- a/bin/sanitize-excludelist.txt
+++ b/bin/sanitize-excludelist.txt
@@ -9,7 +9,7 @@ fun:generate_hash_secret_salt
 src:*/boost/boost/rational.hpp
 src:*/include/tools/gen.hxx
 src:*/tools/source/generic/gen.cxx
-src:*/workdir/UnpackedTarball/cairo/src/*.c
+src:*/workdir/UnpackedTarball/cairo/src/*
 [vptr]
 fun:_ZN4cppu14throwExceptionERKN3com3sun4star3uno3AnyE
 src:*/include/com/sun/star/uno/Reference.hxx
commit db8afa367c6cda4680d820f15b5a91894d990d28
Author: Caolán McNamara 
AuthorDate: Tue Mar 8 21:26:11 2022 +
Commit: Caolán McNamara 
CommitDate: Wed Mar 9 21:21:08 2022 +0100

ofz#45373 and ofz#45362 fix ubsan issues

replace the home grown 16.16 fixed math with an alternative

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

diff --git a/external/libfixmath/LICENSE b/external/libfixmath/LICENSE
new file mode 100644
index ..cf0aefe08af4
--- /dev/null
+++ b/external/libfixmath/LICENSE
@@ -0,0 +1,20 @@
+libfixmath is Copyright (c) 2011-2021 Flatmush ,
+Petteri Aimonen , & libfixmath AUTHORS
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
diff --git a/external/libfixmath/fix16.c b/external/libfixmath/fix16.c
new file mode 100644
index ..053f6794f4b2
--- /dev/null
+++ b/external/libfixmath/fix16.c
@@ -0,0 +1,511 @@
+#include "fix16.h"
+#include "int64.h"
+
+
+/* Subtraction and addition with overflow detection.
+ * The versions without overflow detection are inlined in the header.
+ */
+#ifndef FIXMATH_NO_OVERFLOW
+fix16_t fix16_add(fix16_t a, fix16_t b)
+{
+// Use unsigned integers because overflow with signed integers is
+// an undefined operation (http://www.airs.com/blog/archives/120).
+uint32_t _a = a;
+uint32_t _b = b;
+uint32_t sum = _a + _b;
+
+// Overflow can only happen if sign of a == sign of b, and then
+// it causes sign of sum != sign of a.
+if (!((_a ^ _b) & 0x8000) && ((_a ^ sum) & 0x8000))
+return fix16_overflow;
+
+return sum;
+}
+
+fix16_t fix16_sub(fix16_t a, fix16_t b)
+{
+uint32_t _a = a;
+uint32_t _b = b;
+uint32_t diff = _a - _b;
+
+// Overflow can only happen if sign of a != sign of b, and then
+// it causes sign of diff != sign of a.
+if (((_a ^ _b) & 0x8000) && ((_a ^ diff) & 0x8000))
+return fix16_overflow;
+
+return diff;
+}
+
+/* Saturating arithmetic */
+fix16_t fix16_sadd(fix16_t a, fix16_t b)
+{
+fix16_t result = fix16_add(a, b);
+
+if (result == fix16_overflow)
+return (a >= 0) ? fix16_maximum : fix16_minimum;
+
+return result;
+}
+
+fix16_t fix16_ssub(fix16_t a, fix16_t b)
+{
+fix16_t result = fix16_sub(a, b);
+
+if (result == fix16_overflow)
+ 

About MacOs Apple Silicon status and MacOs support more generally

2022-03-09 Thread Julien Nabet

Hello,

Noticing bugtrackers related to M1 Apple, I just wanted to know if we 
can advise to use Apple Silicon MacOS LO version for M1 owners or is it 
still experimental so just for tests and not for production/important 
documents?


Also could someone provide some update about 
https://bugs.documentfoundation.org/show_bug.cgi?id=128233 ? I mean, are 
we stuck because of Apple's constraints, because we lack some hardware 
to test, time, expertise... ?


Julien



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

2022-03-09 Thread Xisco Fauli (via logerrit)
 sc/qa/uitest/calc_dialogs/openDialogs.py |4 +-
 sc/qa/uitest/calc_tests6/tdf147830.py|   52 +++
 sc/qa/uitest/data/tdf147830.ods  |binary
 3 files changed, 54 insertions(+), 2 deletions(-)

New commits:
commit 409371801a6c4ee00d7e55984e746ea9fe942447
Author: Xisco Fauli 
AuthorDate: Wed Mar 9 14:27:58 2022 +0100
Commit: Xisco Fauli 
CommitDate: Wed Mar 9 22:36:15 2022 +0100

tdf#147830: sc: Add UItest

Change-Id: I9cc87630f6e9ec47d68285a8c2008d7afb6dfcfe
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/131251
Tested-by: Xisco Fauli 
Reviewed-by: Xisco Fauli 

diff --git a/sc/qa/uitest/calc_dialogs/openDialogs.py 
b/sc/qa/uitest/calc_dialogs/openDialogs.py
index 0f4b5853b3ff..469d56f478fe 100644
--- a/sc/qa/uitest/calc_dialogs/openDialogs.py
+++ b/sc/qa/uitest/calc_dialogs/openDialogs.py
@@ -101,8 +101,8 @@ dialogs = [
 # tested in sc/qa/uitest/autofilter/autofilterBugs.py
 # {"command": ".uno:DataFilterStandardFilter", "closeButton": "cancel"},
 # tested in sc/qa/uitest/calc_tests2/standardFilter.py
-{"command": ".uno:DataFilterSpecialFilter", "closeButton": "cancel", 
"skipTestOK": True},
-# OK button triggers a new dialog
+#{"command": ".uno:DataFilterSpecialFilter", "closeButton": "cancel", 
"skipTestOK": True},
+# tested in sc/qa/uitest/calc_tests6/tdf147830.py
 # {"command": ".uno:DefineDBName", "closeButton": "cancel"},
 # tested in sc/qa/uitest/range_name/tdf119954.py
 {"command": ".uno:SelectDB", "closeButton": "cancel"},
diff --git a/sc/qa/uitest/calc_tests6/tdf147830.py 
b/sc/qa/uitest/calc_tests6/tdf147830.py
new file mode 100644
index ..521cca659548
--- /dev/null
+++ b/sc/qa/uitest/calc_tests6/tdf147830.py
@@ -0,0 +1,52 @@
+# -*- tab-width: 4; indent-tabs-mode: nil; py-indent-offset: 4 -*-
+#
+# This file is part of the LibreOffice project.
+#
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+#
+from uitest.framework import UITestCase
+from uitest.uihelper.common import get_url_for_data_file, get_state_as_dict, 
select_by_text
+from libreoffice.calc.document import is_row_hidden
+
+class tdf147830(UITestCase):
+
+def test_tdf147830(self):
+
+with self.ui_test.load_file(get_url_for_data_file("tdf147830.ods")) as 
calc_doc:
+
+with 
self.ui_test.execute_modeless_dialog_through_command(".uno:DataFilterSpecialFilter")
 as xDialog:
+xFilterArea = xDialog.getChild("lbfilterarea")
+self.assertEqual("- undefined -", 
get_state_as_dict(xFilterArea)["SelectEntryText"])
+self.assertEqual("5", 
get_state_as_dict(xFilterArea)["EntryCount"])
+
+select_by_text(xFilterArea, "Irgendwo")
+
+xEditFilterArea = xDialog.getChild("edfilterarea")
+self.assertEqual("$Filterkriterien.$A$40:$AMF$60", 
get_state_as_dict(xEditFilterArea)["Text"])
+
+# Without the fix in place, this test would have crashed here
+
+self.assertFalse(is_row_hidden(calc_doc, 0))
+for i in range(1, 17):
+self.assertTrue(is_row_hidden(calc_doc, i))
+
+self.assertFalse(is_row_hidden(calc_doc, 17))
+self.assertTrue(is_row_hidden(calc_doc, 18))
+self.assertTrue(is_row_hidden(calc_doc, 19))
+self.assertTrue(is_row_hidden(calc_doc, 20))
+
+for i in range(21, 26):
+self.assertFalse(is_row_hidden(calc_doc, i))
+
+self.assertTrue(is_row_hidden(calc_doc, 27))
+self.assertFalse(is_row_hidden(calc_doc, 28))
+self.assertFalse(is_row_hidden(calc_doc, 29))
+
+self.xUITest.executeCommand(".uno:Undo")
+
+for i in range(30):
+self.assertFalse(is_row_hidden(calc_doc, i))
+
+# vim: set shiftwidth=4 softtabstop=4 expandtab:
diff --git a/sc/qa/uitest/data/tdf147830.ods b/sc/qa/uitest/data/tdf147830.ods
new file mode 100644
index ..207dec88ed1f
Binary files /dev/null and b/sc/qa/uitest/data/tdf147830.ods differ


Re: Ideas for improving DevGuide

2022-03-09 Thread Thorsten Behrens
Regina Henschel wrote:
> I think, that multiple languages are needed. Especially Java and Basic are
> needed.
>
I concur. Python would be a nice addition though.

For extension authors, we should definitely discourage c++ use.

Cheers,

-- Thorsten


signature.asc
Description: PGP signature


[Libreoffice-commits] core.git: cui/source reportdesign/source sax/qa sc/qa

2022-03-09 Thread Gautham Krishnan (via logerrit)
 cui/source/dialogs/toolbarmodedlg.cxx   |4 ++--
 reportdesign/source/ui/dlg/AddField.cxx |8 
 sax/qa/cppunit/xmlimport.cxx|   10 +-
 sc/qa/unit/helper/shared_test_impl.hxx  |8 
 4 files changed, 15 insertions(+), 15 deletions(-)

New commits:
commit 51fb84829afbc1c0957fd1a489085613ad199f1a
Author: Gautham Krishnan 
AuthorDate: Tue Mar 1 12:04:38 2022 +0530
Commit: Hossein 
CommitDate: Thu Mar 10 00:40:02 2022 +0100

tdf#147021 Use std::size() instead of SAL_N_ELEMENTS() macro

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

diff --git a/cui/source/dialogs/toolbarmodedlg.cxx 
b/cui/source/dialogs/toolbarmodedlg.cxx
index c4c4d347b58a..3d3594e8cde9 100644
--- a/cui/source/dialogs/toolbarmodedlg.cxx
+++ b/cui/source/dialogs/toolbarmodedlg.cxx
@@ -101,7 +101,7 @@ ToolbarmodeDialog::ToolbarmodeDialog(weld::Window* pParent)
 Link aLink = LINK(this, ToolbarmodeDialog, 
SelectToolbarmode);
 
 const OUString sCurrentMode = GetCurrentMode();
-for (tools::ULong i = 0; i < SAL_N_ELEMENTS(m_pRadioButtons); i++)
+for (tools::ULong i = 0; i < std::size(m_pRadioButtons); i++)
 {
 m_pRadioButtons[i]->connect_toggled(aLink);
 if (sCurrentMode == std::get<1>(TOOLBARMODES_ARRAY[i]))
@@ -133,7 +133,7 @@ static bool file_exists(const OUString& fileName)
 
 int ToolbarmodeDialog::GetActiveRadioButton()
 {
-for (tools::ULong i = 0; i < SAL_N_ELEMENTS(m_pRadioButtons); i++)
+for (tools::ULong i = 0; i < std::size(m_pRadioButtons); i++)
 {
 if (m_pRadioButtons[i]->get_active())
 return i;
diff --git a/reportdesign/source/ui/dlg/AddField.cxx 
b/reportdesign/source/ui/dlg/AddField.cxx
index e3e1fb3a71ea..6bf3cd1f0759 100644
--- a/reportdesign/source/ui/dlg/AddField.cxx
+++ b/reportdesign/source/ui/dlg/AddField.cxx
@@ -189,7 +189,7 @@ void OAddFieldWindow::Update()
 m_xListBox->clear();
 m_aListBoxData.clear();
 const OString aIds[] = { "up", "down" };
-for (size_t j = 0; j< SAL_N_ELEMENTS(aIds); ++j)
+for (size_t j = 0; j< std::size(aIds); ++j)
 m_xActions->set_item_sensitive(aIds[j], false);
 
 OUString aTitle(RptResId(RID_STR_FIELDSELECTION));
@@ -233,7 +233,7 @@ void OAddFieldWindow::Update()
 m_xDialog->set_title(aTitle);
 if ( !m_aCommandName.isEmpty() )
 {
-for (size_t i = 0; i < SAL_N_ELEMENTS(aIds); ++i)
+for (size_t i = 0; i < std::size(aIds); ++i)
 m_xActions->set_item_sensitive(aIds[i], true);
 }
 OnSelectHdl(*m_xListBox);
@@ -331,7 +331,7 @@ IMPL_LINK(OAddFieldWindow, OnSortAction, const OString&, 
rCurItem, void)
 
 if (rCurItem == "delete")
 {
-for (size_t j = 0; j< SAL_N_ELEMENTS(aIds); ++j)
+for (size_t j = 0; j< std::size(aIds); ++j)
 m_xActions->set_item_active(aIds[j], false);
 
 m_xListBox->make_unsorted();
@@ -339,7 +339,7 @@ IMPL_LINK(OAddFieldWindow, OnSortAction, const OString&, 
rCurItem, void)
 return;
 }
 
-for (size_t j = 0; j< SAL_N_ELEMENTS(aIds); ++j)
+for (size_t j = 0; j< std::size(aIds); ++j)
 m_xActions->set_item_active(aIds[j], rCurItem == aIds[j]);
 
 m_xListBox->make_sorted();
diff --git a/sax/qa/cppunit/xmlimport.cxx b/sax/qa/cppunit/xmlimport.cxx
index fcf839609cac..1eb872d50585 100644
--- a/sax/qa/cppunit/xmlimport.cxx
+++ b/sax/qa/cppunit/xmlimport.cxx
@@ -288,13 +288,13 @@ Sequence< sal_Int8 > 
DummyTokenHandler::getUTF8Identifier( sal_Int32 nToken )
 if ( ( nToken & 0x ) != 0 ) //namespace
 {
 sal_uInt32 nNamespaceToken = ( nToken >> 16 ) - 1;
-if ( nNamespaceToken < SAL_N_ELEMENTS(namespacePrefixes) )
+if ( nNamespaceToken < std::size(namespacePrefixes) )
 aUtf8Token = namespacePrefixes[ nNamespaceToken ];
 }
 else //element or attribute
 {
 size_t nElementToken = nToken & 0x;
-if ( nElementToken < SAL_N_ELEMENTS(tokens) )
+if ( nElementToken < std::size(tokens) )
 aUtf8Token = tokens[ nElementToken ];
 }
 Sequence< sal_Int8 > aSeq( reinterpret_cast< const sal_Int8* >(
@@ -311,7 +311,7 @@ sal_Int32 DummyTokenHandler::getTokenFromUTF8( const 
uno::Sequence< sal_Int8 >&
 sal_Int32 DummyTokenHandler::getTokenDirect( const char* pToken, sal_Int32 
nLength ) const
 {
 std::string_view sToken( pToken, nLength );
-for( size_t  i = 0; i < SAL_N_ELEMENTS(tokens); i++ )
+for( size_t  i = 0; i < std::size(tokens); i++ )
 {
 if ( tokens[i] == sToken )
 return static_cast(i);
@@ -380,7 +380,7 @@ void XMLImportTest::parse()
 "multiplens.xml", "multiplepfx.xml",
 "nstoattributes.xml", "nestedns.xml", 
"testthr

Re: Ideas for improving DevGuide

2022-03-09 Thread Kohei Yoshida
On Tue, 2022-03-08 at 13:05 +0100, Hossein Nourikhah wrote:
> I would be happy to hear suggestions on making DevGuide better.

If moving away from the current wiki platform is an option, maybe you
can consider an alternative fremework such as Sphinx and AsciiDoc, both
of which are IMO more suitable for generating highly structured
documentation than Wiki.  They also support generating both static HTML
and PDF as target outputs.

They also support inclusion of code snippets from external files which
can be very handy if we need to build-verify the code snippets.

Kohei



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

2022-03-09 Thread Miklos Vajna (via logerrit)
 oox/inc/drawingml/fillproperties.hxx|1 +
 oox/source/drawingml/fillproperties.cxx |   11 +--
 oox/source/drawingml/shape.cxx  |4 +++-
 oox/source/token/properties.txt |1 +
 svx/qa/unit/styles.cxx  |7 +--
 5 files changed, 19 insertions(+), 5 deletions(-)

New commits:
commit f5089e745367e111fb02c493c8c90e96a29e199c
Author: Miklos Vajna 
AuthorDate: Wed Mar 9 20:51:34 2022 +0100
Commit: Miklos Vajna 
CommitDate: Thu Mar 10 08:17:20 2022 +0100

sd theme: add PPTX import for shape fill color

The theme index is typically not a direct property, but comes from style
-> fillref -> theme index, so support that.

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

diff --git a/oox/inc/drawingml/fillproperties.hxx 
b/oox/inc/drawingml/fillproperties.hxx
index f308f6aaec0d..532cb0ec3975 100644
--- a/oox/inc/drawingml/fillproperties.hxx
+++ b/oox/inc/drawingml/fillproperties.hxx
@@ -145,6 +145,7 @@ struct FillProperties
 const GraphicHelper& rGraphicHelper,
 sal_Int32 nShapeRotation = 0,
 ::Color nPhClr = API_RGB_TRANSPARENT,
+sal_Int16 nPhClrTheme = -1,
 bool bFlipH = false,
 bool bFlipV = false,
 bool bIsCustomShape = false ) const;
diff --git a/oox/source/drawingml/fillproperties.cxx 
b/oox/source/drawingml/fillproperties.cxx
index 49906cc9b10f..9589a7388bd5 100644
--- a/oox/source/drawingml/fillproperties.cxx
+++ b/oox/source/drawingml/fillproperties.cxx
@@ -371,7 +371,7 @@ Color FillProperties::getBestSolidColor() const
 }
 
 void FillProperties::pushToPropMap( ShapePropertyMap& rPropMap,
-const GraphicHelper& rGraphicHelper, sal_Int32 nShapeRotation, ::Color 
nPhClr,
+const GraphicHelper& rGraphicHelper, sal_Int32 nShapeRotation, ::Color 
nPhClr, sal_Int16 nPhClrTheme,
 bool bFlipH, bool bFlipV, bool bIsCustomShape) const
 {
 if( !moFillType.has() )
@@ -388,9 +388,16 @@ void FillProperties::pushToPropMap( ShapePropertyMap& 
rPropMap,
 case XML_solidFill:
 if( maFillColor.isUsed() )
 {
-rPropMap.setProperty( ShapeProperty::FillColor, 
maFillColor.getColor( rGraphicHelper, nPhClr ) );
+::Color aFillColor = maFillColor.getColor(rGraphicHelper, 
nPhClr);
+rPropMap.setProperty(ShapeProperty::FillColor, aFillColor);
 if( maFillColor.hasTransparency() )
 rPropMap.setProperty( ShapeProperty::FillTransparency, 
maFillColor.getTransparency() );
+
+if (aFillColor == nPhClr)
+{
+rPropMap.setProperty(PROP_FillColorTheme, nPhClrTheme);
+}
+
 eFillStyle = FillStyle_SOLID;
 }
 break;
diff --git a/oox/source/drawingml/shape.cxx b/oox/source/drawingml/shape.cxx
index 98401179d84d..7a01ebddb09e 100644
--- a/oox/source/drawingml/shape.cxx
+++ b/oox/source/drawingml/shape.cxx
@@ -1161,6 +1161,7 @@ Reference< XShape > const & Shape::createAndInsert(
 
 ::Color nLinePhClr(ColorTransparency, 0x);
 ::Color nFillPhClr(ColorTransparency, 0x);
+sal_Int16 nFillPhClrTheme = -1;
 // TODO: use ph color when applying effect properties
 //sal_Int32 nEffectPhClr = -1;
 
@@ -1197,6 +1198,7 @@ Reference< XShape > const & Shape::createAndInsert(
 if (!mbUseBgFill)
 {
 nFillPhClr = pFillRef->maPhClr.getColor(rGraphicHelper);
+nFillPhClrTheme = pFillRef->maPhClr.getSchemeColorIndex();
 }
 
 OUString sColorScheme = pFillRef->maPhClr.getSchemeColorName();
@@ -1259,7 +1261,7 @@ Reference< XShape > const & Shape::createAndInsert(
 if (getFillProperties().moFillType.has() && 
getFillProperties().moFillType.get() == XML_grpFill)
 getFillProperties().assignUsed(aFillProperties);
 if(!bIsCroppedGraphic)
-aFillProperties.pushToPropMap( aShapeProps, rGraphicHelper, 
mnRotation, nFillPhClr, mbFlipH, mbFlipV, bIsCustomShape );
+aFillProperties.pushToPropMap( aShapeProps, rGraphicHelper, 
mnRotation, nFillPhClr, nFillPhClrTheme, mbFlipH, mbFlipV, bIsCustomShape );
 LineProperties aLineProperties = getActualLineProperties(pTheme);
 aLineProperties.pushToPropMap( aShapeProps, rGraphicHelper, nLinePhClr 
);
 EffectProperties aEffectProperties = getActualEffectProperties(pTheme);
diff --git a/oox/source/token/properties.txt b/oox/source/token/properties.txt
index 87a6700bd35a..e318e0038ecb 100644
--- a/oox/source/token/properties.txt
+++ b/oox/source/token/properties.txt
@@ -176,6 +176,7

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

2022-03-09 Thread Luboš Luňák (via logerrit)
 sc/inc/table.hxx   |2 +
 sc/source/core/data/table2.cxx |   42 +++--
 2 files changed, 14 insertions(+), 30 deletions(-)

New commits:
commit a15c02effa654da06e9695b5e4c0c595f851a878
Author: Luboš Luňák 
AuthorDate: Wed Mar 9 11:45:34 2022 +0100
Commit: Luboš Luňák 
CommitDate: Thu Mar 10 08:34:37 2022 +0100

add ColumnData() for simple handling of unallocated column data

Move the decision whether to return a column or the default data
for unallocated columns into a simple function.

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

diff --git a/sc/inc/table.hxx b/sc/inc/table.hxx
index a50263142718..7fe49f2722b7 100644
--- a/sc/inc/table.hxx
+++ b/sc/inc/table.hxx
@@ -1118,6 +1118,8 @@ public:
 
 std::set QueryColumnsWithFormulaCells() const;
 
+const ScColumnData& ColumnData( SCCOL nCol ) const { return nCol < 
aCol.size() ? aCol[ nCol ] : aDefaultColData; }
+
 void CheckIntegrity() const;
 
 private:
diff --git a/sc/source/core/data/table2.cxx b/sc/source/core/data/table2.cxx
index 79c45ed386a4..fa7a73ad3d00 100644
--- a/sc/source/core/data/table2.cxx
+++ b/sc/source/core/data/table2.cxx
@@ -2163,28 +2163,20 @@ const SfxPoolItem* ScTable::GetAttr( SCCOL nCol, SCROW 
nRow, sal_uInt16 nWhich )
 {
 if (!ValidColRow(nCol, nRow))
 return nullptr;
-if (nCol < GetAllocatedColumnsCount())
-return &aCol[nCol].GetAttr( nRow, nWhich );
-return &aDefaultColData.GetAttr( nRow, nWhich );
+return &ColumnData(nCol).GetAttr( nRow, nWhich );
 }
 
 const SfxPoolItem* ScTable::GetAttr( SCCOL nCol, SCROW nRow, sal_uInt16 
nWhich, SCROW& nStartRow, SCROW& nEndRow ) const
 {
 if (!ValidColRow(nCol, nRow))
 return nullptr;
-if (nCol < GetAllocatedColumnsCount())
-return &aCol[nCol].GetAttr( nRow, nWhich, nStartRow, nEndRow );
-return &aDefaultColData.GetAttr( nRow, nWhich, nStartRow, nEndRow );
+return &ColumnData(nCol).GetAttr( nRow, nWhich, nStartRow, nEndRow );
 }
 
 sal_uInt32 ScTable::GetNumberFormat( const ScInterpreterContext& rContext, 
const ScAddress& rPos ) const
 {
 if (ValidColRow(rPos.Col(), rPos.Row()))
-{
-if (rPos.Col() < GetAllocatedColumnsCount())
-return aCol[rPos.Col()].GetNumberFormat(rContext, rPos.Row());
-return aDefaultColData.GetNumberFormat(rContext, rPos.Row());
-}
+return ColumnData(rPos.Col()).GetNumberFormat(rContext, rPos.Row());
 return 0;
 }
 
@@ -2198,9 +2190,7 @@ sal_uInt32 ScTable::GetNumberFormat( SCCOL nCol, SCROW 
nStartRow, SCROW nEndRow
 if (!ValidCol(nCol) || !ValidRow(nStartRow) || !ValidRow(nEndRow))
 return 0;
 
-if (nCol < GetAllocatedColumnsCount())
-return aCol[nCol].GetNumberFormat(nStartRow, nEndRow);
-return aDefaultColData.GetNumberFormat(nStartRow, nEndRow);
+return ColumnData(nCol).GetNumberFormat(nStartRow, nEndRow);
 }
 
 void ScTable::SetNumberFormat( SCCOL nCol, SCROW nRow, sal_uInt32 
nNumberFormat )
@@ -2213,19 +2203,16 @@ void ScTable::SetNumberFormat( SCCOL nCol, SCROW nRow, 
sal_uInt32 nNumberFormat
 
 const ScPatternAttr* ScTable::GetPattern( SCCOL nCol, SCROW nRow ) const
 {
-if (ValidColRow(nCol,nRow) && nCol < GetAllocatedColumnsCount())
-return aCol[nCol].GetPattern( nRow );
-else
-return aDefaultColData.GetPattern( nRow );
+if (!ValidColRow(nCol,nRow))
+return nullptr;
+return ColumnData(nCol).GetPattern( nRow );
 }
 
 const ScPatternAttr* ScTable::GetMostUsedPattern( SCCOL nCol, SCROW nStartRow, 
SCROW nEndRow ) const
 {
-if ( ValidColRow( nCol, nStartRow ) && ValidRow( nEndRow ) && (nStartRow 
<= nEndRow)
-&& nCol < GetAllocatedColumnsCount())
-return aCol[nCol].GetMostUsedPattern( nStartRow, nEndRow );
-else
-return aDefaultColData.GetMostUsedPattern( nStartRow, nEndRow );
+if ( ValidColRow( nCol, nStartRow ) && ValidRow( nEndRow ) && (nStartRow 
<= nEndRow))
+return ColumnData(nCol).GetMostUsedPattern( nStartRow, nEndRow );
+return nullptr;
 }
 
 bool ScTable::HasAttrib( SCCOL nCol1, SCROW nRow1, SCCOL nCol2, SCROW nRow2, 
HasAttrFlags nMask ) const
@@ -2240,9 +2227,7 @@ bool ScTable::HasAttrib( SCCOL nCol1, SCROW nRow1, SCCOL 
nCol2, SCROW nRow2, Has
 
 bool ScTable::HasAttrib( SCCOL nCol, SCROW nRow, HasAttrFlags nMask, SCROW* 
nStartRow, SCROW* nEndRow ) const
 {
-if( nCol < aCol.size())
-return aCol[nCol].HasAttrib( nRow, nMask, nStartRow, nEndRow );
-return aDefaultColData.HasAttrib( nRow, nMask, nStartRow, nEndRow );
+return ColumnData(nCol).HasAttrib( nRow, nMask, nStartRow, nEndRow );
 }
 
 bool ScTable::HasAttribSelection( const ScMarkData& rMark, HasAttrFlags nMask 
) const
@@ -2950,10 +2935,7 @@ const ScStyleSheet* ScTable::GetStyle( SCCOL nCol, SCROW 
nRow ) const
 {
 if 

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

2022-03-09 Thread Luboš Luňák (via logerrit)
 sc/inc/attarray.hxx|1 
 sc/inc/column.hxx  |   16 ++--
 sc/inc/document.hxx|9 +
 sc/inc/table.hxx   |9 +++--
 sc/qa/unit/subsequent_export_test2.cxx |   33 ++
 sc/qa/unit/ucalc.cxx   |   54 ++
 sc/source/core/data/attarray.cxx   |   20 +++
 sc/source/core/data/column3.cxx|2 -
 sc/source/core/data/dociter.cxx|   59 +
 sc/source/core/data/table1.cxx |   15 
 10 files changed, 181 insertions(+), 37 deletions(-)

New commits:
commit 7a9e60c4b7d6c28f5b3e084e3db9ab2445c94bfd
Author: Luboš Luňák 
AuthorDate: Wed Mar 9 15:12:43 2022 +0100
Commit: Luboš Luňák 
CommitDate: Thu Mar 10 08:34:58 2022 +0100

fix attr iterators to walk even unallocated columns if needed

Things like applying bold to an entire row no longer allocates
all rows after my recent changes, but the attribute change is
done in ScTable to the default attribute of unallocated columns.
That means that clamping column positions to the end of allocated
columns is no longer valid when handling attributes. Add functions
that clamp depending on whether unallocated columns have
a non-default attribute set.

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

diff --git a/sc/inc/attarray.hxx b/sc/inc/attarray.hxx
index 34d1403bcc91..c08da494c142 100644
--- a/sc/inc/attarray.hxx
+++ b/sc/inc/attarray.hxx
@@ -221,6 +221,7 @@ public:
 boolReserve( SCSIZE nReserve );
 SCSIZE  Count() const { return mvData.size(); }
 SCSIZE  Count( SCROW nRow1, SCROW nRow2 ) const;
+boolHasNonDefPattern( SCROW nStartRow, SCROW nEndRow ) const;
 
 private:
 const ScPatternAttr* SetPatternAreaImpl( SCROW nStartRow, SCROW nEndRow, 
const ScPatternAttr* pPattern,
diff --git a/sc/inc/column.hxx b/sc/inc/column.hxx
index 0b5fb0aa8ff2..2cf4bdd66573 100644
--- a/sc/inc/column.hxx
+++ b/sc/inc/column.hxx
@@ -161,6 +161,11 @@ public:
 boolHasAttrib( SCROW nRow1, SCROW nRow2, HasAttrFlags nMask ) 
const;
 boolHasAttrib( SCROW nRow, HasAttrFlags nMask, SCROW* nStartRow = 
nullptr, SCROW* nEndRow = nullptr ) const;
 
+std::unique_ptr CreateAttrIterator( SCROW nStartRow, SCROW 
nEndRow ) const;
+
+boolIsAllAttrEqual( const ScColumnData& rCol, SCROW nStartRow, 
SCROW nEndRow ) const;
+boolHasNonDefPattern( SCROW nStartRow, SCROW nEndRow ) const;
+
 voidClearSelectionItems( const sal_uInt16* pWhich, const 
ScMarkData& rMark, SCCOL nCol );
 voidChangeSelectionIndent( bool bIncrement, const ScMarkData& 
rMark, SCCOL nCol );
 };
@@ -207,7 +212,6 @@ friend class ScCountIfCellIterator;
 friend class ScFormulaGroupIterator;
 friend class ScCellIterator;
 friend class ScHorizontalCellIterator;
-friend class ScHorizontalAttrIterator;
 friend class ScColumnTextWidthIterator;
 friend class ScDocumentImport;
 friend class sc::DocumentStreamAccess;
@@ -299,7 +303,6 @@ public:
 boolGetLastVisibleAttr( SCROW& rLastRow ) const;
 boolHasVisibleAttrIn( SCROW nStartRow, SCROW nEndRow ) const;
 boolIsVisibleAttrEqual( const ScColumn& rCol, SCROW nStartRow, SCROW 
nEndRow ) const;
-boolIsAllAttrEqual( const ScColumn& rCol, SCROW nStartRow, SCROW 
nEndRow ) const;
 
 boolTestInsertCol( SCROW nStartRow, SCROW nEndRow) const;
 bool TestInsertRow( SCROW nStartRow, SCSIZE nSize ) const;
@@ -348,8 +351,6 @@ public:
 sc::MixDocContext& rCxt, SCROW nRow1, SCROW nRow2, ScPasteFunc 
nFunction, bool bSkipEmpty,
 const ScColumn& rSrcCol );
 
-std::unique_ptr CreateAttrIterator( SCROW nStartRow, SCROW 
nEndRow ) const;
-
 void UpdateSelectionFunction(
 const ScRangeList& rRanges, ScFunctionData& rData, const 
ScFlatBoolRowSegments& rHiddenRows );
 
@@ -835,11 +836,16 @@ inline bool ScColumn::IsEmptyAttr() const
 return pAttrArray->IsEmpty();
 }
 
-inline bool ScColumn::IsAllAttrEqual( const ScColumn& rCol, SCROW nStartRow, 
SCROW nEndRow ) const
+inline bool ScColumnData::IsAllAttrEqual( const ScColumnData& rCol, SCROW 
nStartRow, SCROW nEndRow ) const
 {
 return pAttrArray->IsAllEqual( *rCol.pAttrArray, nStartRow, nEndRow );
 }
 
+inline bool ScColumnData::HasNonDefPattern( SCROW nStartRow, SCROW nEndRow ) 
const
+{
+return pAttrArray->HasNonDefPattern( nStartRow, nEndRow );
+}
+
 inline bool ScColumn::IsVisibleAttrEqual( const ScColumn& rCol, SCROW 
nStartRow, SCROW nEndRow ) const
 {
 return pAttrArray->IsVisibleEqual( *rCol.pAttrArray, nStartRow, nEndRow );
diff --git a/sc/inc/document.hxx b/sc/inc/document.hxx
index f9640ab74c6d..734e2d0dcd75 100644
--- a/sc/inc/document.hxx
+++ b/sc/inc/document.hxx
@@ -821,6 +821,15 @@ pub

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

2022-03-09 Thread Stephan Bergmann (via logerrit)
 dbaccess/CppunitTest_dbaccess_hsqldb_test.mk |4 
 1 file changed, 4 insertions(+)

New commits:
commit 41cbbb6ecb9d5bbca79d6537228dbabd8c896e84
Author: Stephan Bergmann 
AuthorDate: Wed Mar 9 14:28:18 2022 +0100
Commit: Stephan Bergmann 
CommitDate: Thu Mar 10 08:35:39 2022 +0100

Missing test dependency

> [_RUN_] HSQLDBTest::testEmptyDBConnection
[...]
> warn:vcl.builder:997476:997476:vcl/source/window/builder.cxx:479: 
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 at 
xmlreader/source/xmlreader.cxx:66"

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

diff --git a/dbaccess/CppunitTest_dbaccess_hsqldb_test.mk 
b/dbaccess/CppunitTest_dbaccess_hsqldb_test.mk
index 500d8b376398..3cad59f2ad47 100644
--- a/dbaccess/CppunitTest_dbaccess_hsqldb_test.mk
+++ b/dbaccess/CppunitTest_dbaccess_hsqldb_test.mk
@@ -77,4 +77,8 @@ $(eval $(call 
gb_CppunitTest_use_components,dbaccess_hsqldb_test,\
 
 $(eval $(call gb_CppunitTest_use_configuration,dbaccess_hsqldb_test))
 
+$(eval $(call gb_CppunitTest_use_uiconfigs,dbaccess_hsqldb_test, \
+dbaccess \
+))
+
 # vim: set noet sw=4 ts=4:


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

2022-03-09 Thread Mike Kaganski (via logerrit)
 i18npool/qa/cppunit/test_textsearch.cxx |9 -
 i18npool/source/search/textsearch.cxx   |   14 +++---
 i18npool/source/search/textsearch.hxx   |2 --
 3 files changed, 11 insertions(+), 14 deletions(-)

New commits:
commit 0dc4cbe342d93ce27b92c5a408adcb009b39b48f
Author: Mike Kaganski 
AuthorDate: Thu Mar 10 09:44:14 2022 +0300
Commit: Mike Kaganski 
CommitDate: Thu Mar 10 08:45:42 2022 +0100

Use icu::UnicodeString directly

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

diff --git a/i18npool/qa/cppunit/test_textsearch.cxx 
b/i18npool/qa/cppunit/test_textsearch.cxx
index 31c66d94cd8d..1d72a8d83f18 100644
--- a/i18npool/qa/cppunit/test_textsearch.cxx
+++ b/i18npool/qa/cppunit/test_textsearch.cxx
@@ -27,7 +27,6 @@
 #include 
 
 using namespace ::com::sun::star;
-typedef U_ICU_NAMESPACE::UnicodeString IcuUniString;
 
 class TestTextSearch : public test::BootstrapFixtureBase
 {
@@ -59,11 +58,11 @@ void TestTextSearch::testICU()
 
 OUString aString( "abcdefgh" );
 OUString aPattern( "e" );
-IcuUniString aSearchPat( reinterpret_cast(aPattern.getStr()), aPattern.getLength() );
+icu::UnicodeString aSearchPat( reinterpret_cast(aPattern.getStr()), aPattern.getLength() );
 
 std::unique_ptr pRegexMatcher(new icu::RegexMatcher( 
aSearchPat, nSearchFlags, nErr ));
 
-IcuUniString aSource( reinterpret_cast(aString.getStr()), 
aString.getLength() );
+icu::UnicodeString aSource( reinterpret_cast(aString.getStr()), aString.getLength() );
 pRegexMatcher->reset( aSource );
 
 CPPUNIT_ASSERT( pRegexMatcher->find( 0, nErr ) );
@@ -76,10 +75,10 @@ void TestTextSearch::testICU()
 OUString aString2( "acababaabcababadcdaa" );
 OUString aPattern2( "a" );
 
-IcuUniString aSearchPat2( reinterpret_cast(aPattern2.getStr()), aPattern2.getLength() );
+icu::UnicodeString aSearchPat2( reinterpret_cast(aPattern2.getStr()), aPattern2.getLength() );
 pRegexMatcher.reset(new icu::RegexMatcher( aSearchPat2, nSearchFlags, nErr 
));
 
-IcuUniString aSource2( reinterpret_cast(aString2.getStr()), 
aString2.getLength() );
+icu::UnicodeString aSource2( reinterpret_cast(aString2.getStr()), aString2.getLength() );
 pRegexMatcher->reset( aSource2 );
 
 CPPUNIT_ASSERT( pRegexMatcher->find( 0, nErr ) );
diff --git a/i18npool/source/search/textsearch.cxx 
b/i18npool/source/search/textsearch.cxx
index 1df286dfcd35..c80afc19890f 100644
--- a/i18npool/source/search/textsearch.cxx
+++ b/i18npool/source/search/textsearch.cxx
@@ -877,19 +877,19 @@ void TextSearch::RESrchPrepare( const 
css::util::SearchOptions2& rOptions)
 nIcuSearchFlags |= UREGEX_CASE_INSENSITIVE;
 UErrorCode nIcuErr = U_ZERO_ERROR;
 // assumption: transliteration didn't mangle regexp control chars
-IcuUniString aIcuSearchPatStr( reinterpret_cast(rPatternStr.getStr()), rPatternStr.getLength());
+icu::UnicodeString aIcuSearchPatStr( reinterpret_cast(rPatternStr.getStr()), rPatternStr.getLength());
 #ifndef DISABLE_WORDBOUND_EMULATION
 // for convenience specific syntax elements of the old regex engine are 
emulated
 // - by replacing \< with "word-break followed by a look-ahead word-char"
-static const IcuUniString aChevronPatternB( "<", -1, 
IcuUniString::kInvariant);
-static const IcuUniString aChevronReplaceB( "b(?=w)", -1, 
IcuUniString::kInvariant);
+static const icu::UnicodeString aChevronPatternB( "<", -1, 
icu::UnicodeString::kInvariant);
+static const icu::UnicodeString aChevronReplaceB( "b(?=w)", -1, 
icu::UnicodeString::kInvariant);
 static icu::RegexMatcher aChevronMatcherB( aChevronPatternB, 0, nIcuErr);
 aChevronMatcherB.reset( aIcuSearchPatStr);
 aIcuSearchPatStr = aChevronMatcherB.replaceAll( aChevronReplaceB, nIcuErr);
 aChevronMatcherB.reset();
 // - by replacing \> with "look-behind word-char followed by a word-break"
-static const IcuUniString aChevronPatternE( ">", -1, 
IcuUniString::kInvariant);
-static const IcuUniString aChevronReplaceE( "(?<=w)b", -1, 
IcuUniString::kInvariant);
+static const icu::UnicodeString aChevronPatternE( ">", -1, 
icu::UnicodeString::kInvariant);
+static const icu::UnicodeString aChevronReplaceE( "(?<=w)b", -1, 
icu::UnicodeString::kInvariant);
 static icu::RegexMatcher aChevronMatcherE( aChevronPatternE, 0, nIcuErr);
 aChevronMatcherE.reset( aIcuSearchPatStr);
 aIcuSearchPatStr = aChevronMatcherE.replaceAll( aChevronReplaceE, nIcuErr);
@@ -957,7 +957,7 @@ SearchResult TextSearch::RESrchFrwrd( const OUString& 
searchStr,
 
 // use the ICU RegexMatcher to find the matches
 UErrorCode nIcuErr = U_ZERO_ERROR;
-const IcuUniString aSearchTargetStr(false, reinterpret_cast(searchStr.getStr()),
+const icu::UnicodeString aSearchTargetStr(false, reinterpret_cast