[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-
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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'
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'
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'
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'
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
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
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
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
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
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
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
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
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
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'
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'
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'
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'
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
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'
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
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'
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'
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'
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
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
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
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
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
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
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
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
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
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
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
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
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
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