core.git: svx/source
svx/source/sdr/contact/objectcontactofpageview.cxx |4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) New commits: commit ef6798919a514fc0043f4cd050ffb244696bbda3 Author: Stephan Bergmann AuthorDate: Tue Feb 27 10:27:25 2024 +0100 Commit: Stephan Bergmann CommitDate: Wed Feb 28 08:47:33 2024 +0100 Avoid calling back into an SdrMarkView that is being destroyed The recently added CppunitTest_sc_tiledrendering CPPUNIT_TEST_NAME=testEditShapeText::TestBody had started to cause > svx/source/svdraw/sdrpagewindow.cxx:471:56: runtime error: member call on address 0x51dc4480 which does not point to an object of type 'SdrMarkView' > 0x51dc4480: note: object is of type 'SdrPaintView' > 00 00 00 00 30 1f 13 bc ca 7f 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 03 00 00 00 > ^~~ > vptr for 'SdrPaintView' > #0 in SdrPageWindow::InvalidatePageWindow(basegfx::B2DRange const&) at svx/source/svdraw/sdrpagewindow.cxx:471:56 > #1 in sdr::contact::ObjectContactOfPageView::InvalidatePartOfView(basegfx::B2DRange const&) const at svx/source/sdr/contact/objectcontactofpageview.cxx:357:29 > #2 in sdr::contact::ViewObjectContact::triggerLazyInvalidate() at svx/source/sdr/contact/viewobjectcontact.cxx:267:28 > #3 in sdr::contact::ObjectContactOfPageView::Invoke() at svx/source/sdr/contact/objectcontactofpageview.cxx:105:29 > #4 in sdr::contact::ObjectContactOfPageView::~ObjectContactOfPageView() at svx/source/sdr/contact/objectcontactofpageview.cxx:74:13 > #5 in sdr::contact::ObjectContactOfPageView::~ObjectContactOfPageView() at svx/source/sdr/contact/objectcontactofpageview.cxx:72:9 > #6 in SdrPageWindow::ResetObjectContact() at svx/source/svdraw/sdrpagewindow.cxx:520:9 > #7 in SdrPageWindow::~SdrPageWindow() at svx/source/svdraw/sdrpagewindow.cxx:130:5 > #8 in std::default_delete::operator()(SdrPageWindow*) const at ~/gcc/inst/lib/gcc/x86_64-pc-linux-gnu/14.0.0/../../../../include/c++/14.0.0/bits/unique_ptr.h:93:2 > #9 in std::unique_ptr>::~unique_ptr() at ~/gcc/inst/lib/gcc/x86_64-pc-linux-gnu/14.0.0/../../../../include/c++/14.0.0/bits/unique_ptr.h:398:4 > #10 in void std::destroy_at>>(std::unique_ptr>*) at ~/gcc/inst/lib/gcc/x86_64-pc-linux-gnu/14.0.0/../../../../include/c++/14.0.0/bits/stl_construct.h:88:15 > #11 in void std::_Destroy>>(std::unique_ptr>*) at ~/gcc/inst/lib/gcc/x86_64-pc-linux-gnu/14.0.0/../../../../include/c++/14.0.0/bits/stl_construct.h:149:7 > #12 in void std::_Destroy_aux::__destroy>*>(std::unique_ptr>*, std::unique_ptr>*) at ~/gcc/inst/lib/gcc/x86_64-pc-linux-gnu/14.0.0/../../../../include/c++/14.0.0/bits/stl_construct.h:163:6 > #13 in void std::_Destroy>*>(std::unique_ptr>*, std::unique_ptr>*) at ~/gcc/inst/lib/gcc/x86_64-pc-linux-gnu/14.0.0/../../../../include/c++/14.0.0/bits/stl_construct.h:195:7 > #14 in void std::_Destroy>*, std::unique_ptr>>(std::unique_ptr>*, std::unique_ptr>*, std::allocator>>&) at ~/gcc/inst/lib/gcc/x86_64-pc-linux-gnu/14.0.0/../../../../include/c++/14.0.0/bits/alloc_traits.h:941:7 > #15 in std::__cxx1998::vector>, std::allocator>>>::~vector() at ~/gcc/inst/lib/gcc/x86_64-pc-linux-gnu/14.0.0/../../../../include/c++/14.0.0/bits/stl_vector.h:732:2 > #16 in std::__debug::vector>, std::allocator>>>::~vector() at ~/gcc/inst/lib/gcc/x86_64-pc-linux-gnu/14.0.0/../../../../include/c++/14.0.0/debug/vector:245:25 > #17 in SdrPageView::~SdrPageView() at svx/source/svdraw/svdpagv.cxx:122:1 > #18 in std::default_delete::operator()(SdrPageView*) const at ~/gcc/inst/lib/gcc/x86_64-pc-linux-gnu/14.0.0/../../../../include/c++/14.0.0/bits/unique_ptr.h:93:2 > #19 in std::__uniq_ptr_impl>::reset(SdrPageView*) at ~/gcc/inst/lib/gcc/x86_64-pc-linux-gnu/14.0.0/../../../../include/c++/14.0.0/bits/unique_ptr.h:205:4 > #20 in std::unique_ptr>::reset(SdrPageView*) at ~/gcc/inst/lib/gcc/x86_64-pc-linux-gnu/14.0.0/../../../../include/c++/14.0.0/bits/unique_ptr.h:503:7 > #21 in SdrPaintView::ClearPageView() at svx/source/svdraw/svdpntv.cxx:356:20 > #22 in SdrPaintView::~SdrPaintView() at svx/source/svdraw/svdpntv.cxx:189:5 > #23 in SdrSnapView::~SdrSnapView() at svx/source/svdraw/svdsnpv.cxx:199:1 > #24 in SdrMarkView::~SdrMarkView() at svx/source/svdraw/svdmrkv.cxx:197:1 > #25 in SdrEditView::~SdrEditView() at svx/source/svdraw/svdedtv.cxx:126:1 > #26 in SdrPolyEditView::~SdrPolyEditView() at svx/source/svdraw/svdpoev.cxx:58:1 > #27 in SdrGlueEditView::~SdrGlueEditView() at svx/source/svdraw/svdglev.cxx:40:1 > #28 in SdrObjEditView::~SdrObjEditView() at svx/source/svdraw/svdedxv.cxx:101:1 > #29 in SdrExchangeView::~SdrExchangeView() at include/svx/svdxcgv.hxx:27:25 > #30 in SdrDragView::~SdrDragView() at svx/source/svdraw/svddrgv.cxx:69:1 > #31 in SdrCreateView::~SdrCreateView() at svx
core.git: Branch 'distro/collabora/co-23.05' - writerfilter/qa writerfilter/source
writerfilter/qa/cppunittests/dmapper/DomainMapperTableHandler.cxx | 14 ++ writerfilter/qa/cppunittests/dmapper/data/floattable-footnote-redline.docx |binary writerfilter/source/dmapper/DomainMapperTableHandler.cxx | 7 - writerfilter/source/dmapper/SettingsTable.cxx | 2 + writerfilter/source/dmapper/SettingsTable.hxx | 2 + 5 files changed, 24 insertions(+), 1 deletion(-) New commits: commit 6ece63150b7e40210dfcc59a2b9f20afcf5c42f8 Author: Miklos Vajna AuthorDate: Tue Jan 30 08:51:20 2024 +0100 Commit: Miklos Vajna CommitDate: Wed Feb 28 08:21:04 2024 +0100 tdf#159107 sw floattable: prefer inline table in footnote with change tracking Writer doesn't really support tables in footnotes, see the warning at the top of SwFlowFrame::MoveFwd(). Still, there is some initial support for them, since commit 11c51eefe8c3210cef2b5850f401ba67a401d01 (tdf#95806 tdf#125877 tdf#141172 DOCX: fix tables in footnotes, 2021-03-28). Similarly, redlines really just track insertion and deletion, but some initial support for table operations were added in commit eebe4747d2d13545004937bb0267ccfc8ab9d63f (tdf#144270 sw: manage tracked table (row) deletion/insertion, 2022-01-12). The combination of these is a bit fragile, but the bugdoc happened to be imported as an inline table (in a footnote, with recording changes) before commit d477fa8ac1b0d3ee81427217bbb5950278ab16db (sw floattable: unconditionally map to SwFormatFlySplit, 2023-03-17). Fix the problem by explicitly importing floating tables as inline in the footnote + redline case to restore the working use-case. DOCX import of this combination can be enabled again once Writer layout works for the produced model. Change-Id: I9cd0a1fabb9807f5117cb5a36ec8597d6646eece Reviewed-on: https://gerrit.libreoffice.org/c/core/+/162733 Reviewed-by: Miklos Vajna Tested-by: Jenkins (cherry picked from commit af15f8b7f346898677f1eee6521a6be1ff63eb56) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/162716 Reviewed-by: Michael Stahl Signed-off-by: Xisco Fauli Reviewed-on: https://gerrit.libreoffice.org/c/core/+/163297 (cherry picked from commit 9589438d53f32ba7b59512d56a6dbd1d28de70a6) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/164071 Tested-by: Jenkins CollaboraOffice diff --git a/writerfilter/qa/cppunittests/dmapper/DomainMapperTableHandler.cxx b/writerfilter/qa/cppunittests/dmapper/DomainMapperTableHandler.cxx index 6d732ec5edc1..5d17ac367ed6 100644 --- a/writerfilter/qa/cppunittests/dmapper/DomainMapperTableHandler.cxx +++ b/writerfilter/qa/cppunittests/dmapper/DomainMapperTableHandler.cxx @@ -183,6 +183,20 @@ CPPUNIT_TEST_FIXTURE(Test, testDOCXFloatingTableHeader) // 2233 pages and then there was a layout loop. CPPUNIT_ASSERT_EQUAL(static_cast(2), nLastPage); } + +CPPUNIT_TEST_FIXTURE(Test, testDOCXFloatingTableFootnoteRedline) +{ +// Given a document with a floating table in a footnote, with track changes recorded (but not +// visible): +// When importing that document: +loadFromURL(u"floattable-footnote-redline.docx"); + +// Then make sure the table is imported as inline, till Writer layout is ready to handle +// floating tables in footnotes: +uno::Reference xModel(mxComponent, uno::UNO_QUERY); +uno::Reference xDrawPage = xModel->getDrawPage(); +CPPUNIT_ASSERT_EQUAL(static_cast(0), xDrawPage->getCount()); +} } CPPUNIT_PLUGIN_IMPLEMENT(); diff --git a/writerfilter/qa/cppunittests/dmapper/data/floattable-footnote-redline.docx b/writerfilter/qa/cppunittests/dmapper/data/floattable-footnote-redline.docx new file mode 100644 index ..10904ce43eb5 Binary files /dev/null and b/writerfilter/qa/cppunittests/dmapper/data/floattable-footnote-redline.docx differ diff --git a/writerfilter/source/dmapper/DomainMapperTableHandler.cxx b/writerfilter/source/dmapper/DomainMapperTableHandler.cxx index d2214567ffed..9432e6dacd17 100644 --- a/writerfilter/source/dmapper/DomainMapperTableHandler.cxx +++ b/writerfilter/source/dmapper/DomainMapperTableHandler.cxx @@ -1602,7 +1602,12 @@ void DomainMapperTableHandler::endTable(unsigned int nestedTableLevel) // m_xText points to the body text, get the current xText from m_rDMapper_Impl, in case e.g. we would be in a header. uno::Reference xTextAppendAndConvert(m_rDMapper_Impl.GetTopTextAppend(), uno::UNO_QUERY); uno::Reference xFrameAnchor; -if (xTextAppendAndConvert.is()) + +// Writer layout has problems with redlines on floating table rows in footnotes, avoid +// them. +bool bInFootnote = m_rDMapper_Impl.IsInFootOrEndnote(); +bool bRecordChanges = m_rDMapper_Impl.GetSettingsTable()->GetRecordChanges(); +
core.git: toolkit/inc toolkit/source
toolkit/inc/controls/treecontrolpeer.hxx |2 +- toolkit/source/controls/tree/treecontrolpeer.cxx | 10 +- 2 files changed, 6 insertions(+), 6 deletions(-) New commits: commit e6ecd5a32c457a1049b601b84b93899cb6ddaefa Author: AhmedHamed AuthorDate: Tue Feb 27 23:35:13 2024 +0200 Commit: Ilmari Lauhakangas CommitDate: Wed Feb 28 08:16:19 2024 +0100 tdf#114441 Convert sal_uLong to sal_uInt32 in TreeControlPeer We are talking about a tree list in a gui which logically will not exceed sal_uInt32 They also must be unsigned integers because they represent counts & positions changes are done to these variables: - nPos (node position) In all base classes you will found that all functions deal with and return sal_int32 concerning it - nChild (node child) It is assigned to TREELIST_APPEND which is MAX for sal_uInt32 and it is considered like that in all other functions - nSelectionCount all functions that deal with it (like GetSelectionCount()) returns sal_uInt32 Change-Id: I1771b9aa52c351063d007d7014484861d4b3e02a Reviewed-on: https://gerrit.libreoffice.org/c/core/+/164067 Tested-by: Jenkins Tested-by: Ilmari Lauhakangas Reviewed-by: Ilmari Lauhakangas diff --git a/toolkit/inc/controls/treecontrolpeer.hxx b/toolkit/inc/controls/treecontrolpeer.hxx index d584516ae35b..d5ecf23ae673 100644 --- a/toolkit/inc/controls/treecontrolpeer.hxx +++ b/toolkit/inc/controls/treecontrolpeer.hxx @@ -117,7 +117,7 @@ private: void fillTree( UnoTreeListBoxImpl& rTree, const css::uno::Reference< css::awt::tree::XTreeDataModel >& xDataModel ); void addNode( UnoTreeListBoxImpl& rTree, const css::uno::Reference< css::awt::tree::XTreeNode >& xNode, UnoTreeListEntry* pParentEntry ); -UnoTreeListEntry* createEntry( const css::uno::Reference< css::awt::tree::XTreeNode >& xNode, UnoTreeListEntry* pParent, sal_uLong nPos ); +UnoTreeListEntry* createEntry( const css::uno::Reference< css::awt::tree::XTreeNode >& xNode, UnoTreeListEntry* pParent, sal_uInt32 nPos ); void updateEntry( UnoTreeListEntry* pEntry ); void updateTree( const css::awt::tree::TreeDataModelEvent& rEvent ); diff --git a/toolkit/source/controls/tree/treecontrolpeer.cxx b/toolkit/source/controls/tree/treecontrolpeer.cxx index c05650f972fb..a26b0b6567da 100644 --- a/toolkit/source/controls/tree/treecontrolpeer.cxx +++ b/toolkit/source/controls/tree/treecontrolpeer.cxx @@ -94,7 +94,7 @@ public: virtual ~UnoTreeListBoxImpl() override; virtual void dispose() override; -voidinsert( SvTreeListEntry* pEntry, SvTreeListEntry* pParent, sal_uLong nPos ); +voidinsert( SvTreeListEntry* pEntry, SvTreeListEntry* pParent, sal_uInt32 nPos ); virtual voidRequestingChildren( SvTreeListEntry* pParent ) override; @@ -218,7 +218,7 @@ void TreeControlPeer::disposeControl() } -UnoTreeListEntry* TreeControlPeer::createEntry( const Reference< XTreeNode >& xNode, UnoTreeListEntry* pParent, sal_uLong nPos /* = TREELIST_APPEND */ ) +UnoTreeListEntry* TreeControlPeer::createEntry( const Reference< XTreeNode >& xNode, UnoTreeListEntry* pParent, sal_uInt32 nPos /* = TREELIST_APPEND */ ) { UnoTreeListEntry* pEntry = nullptr; if( mpTreeImpl ) @@ -503,7 +503,7 @@ Any SAL_CALL TreeControlPeer::getSelection() Any aRet; -sal_uLong nSelectionCount = rTree.GetSelectionCount(); +sal_uInt32 nSelectionCount = rTree.GetSelectionCount(); if( nSelectionCount == 1 ) { UnoTreeListEntry* pEntry = dynamic_cast< UnoTreeListEntry* >( rTree.FirstSelected() ); @@ -1017,7 +1017,7 @@ void TreeControlPeer::updateNode( UnoTreeListBoxImpl const & rTree, const Refere { Reference< XTreeNode > xParentNode( xNode->getParent() ); UnoTreeListEntry* pParentEntry = nullptr; -sal_uLong nChild = TREELIST_APPEND; +sal_uInt32 nChild = TREELIST_APPEND; if( xParentNode.is() ) { @@ -1463,7 +1463,7 @@ IMPL_LINK_NOARG(UnoTreeListBoxImpl, OnExpandedHdl, SvTreeListBox*, void) } -void UnoTreeListBoxImpl::insert( SvTreeListEntry* pEntry,SvTreeListEntry* pParent,sal_uLong nPos ) +void UnoTreeListBoxImpl::insert( SvTreeListEntry* pEntry,SvTreeListEntry* pParent,sal_uInt32 nPos ) { if( pParent ) SvTreeListBox::Insert( pEntry, pParent, nPos );
Re: data streams in 4.2
Hi https://lists.freedesktop.org/archives/libreoffice/2014-January/058714.html What is the latest on this project for Calc current version 7.6.4.1 on Linux Mint 21.3 Thanks Charles Harris
core.git: static/README.wasm.md static/source unotest/source
static/README.wasm.md |8 static/source/embindmaker/embindmaker.cxx |3 +-- unotest/source/embindtest/embindtest.js |5 ++--- 3 files changed, 7 insertions(+), 9 deletions(-) New commits: commit 621322b6ac0bebab2f904b7fe8d040193a1f45ba Author: Stephan Bergmann AuthorDate: Tue Feb 27 21:59:37 2024 +0100 Commit: Stephan Bergmann CommitDate: Wed Feb 28 07:53:41 2024 +0100 Generate slightly more flexible JS init_unoembind_* functions ...that return the "hierarchical object", rather than setting it as a member of the passed-in instance Change-Id: I17ad7dd426114c7979f1ba6edaebe83b43eedfed Reviewed-on: https://gerrit.libreoffice.org/c/core/+/164064 Tested-by: Jenkins Reviewed-by: Stephan Bergmann diff --git a/static/README.wasm.md b/static/README.wasm.md index e37242508b72..f2abc8219ce8 100644 --- a/static/README.wasm.md +++ b/static/README.wasm.md @@ -223,8 +223,8 @@ improvement! ;) Some usage examples through javascript of the current implementation: ```js // inserts a string at the start of the Writer document. -init_unoembind_uno(Module); -let css = Module.unoembind_uno.com.sun.star; +let uno = init_unoembind_uno(Module); +let css = uno.com.sun.star; xModel = Module.getCurrentModelFromViewSh(); xTextDocument = new css.text.XTextDocument(xModel.$query()); xText = xTextDocument.getText(); @@ -238,8 +238,8 @@ xModel.delete(); xTextDocument.delete(); xText.delete(); xSimpleText.delete(); x ```js // changes each paragraph of the Writer document to a random color. -init_unoembind_uno(Module); -let css = Module.unoembind_uno.com.sun.star; +let uno = init_unoembind_uno(Module); +let css = uno.com.sun.star; xModel = Module.getCurrentModelFromViewSh(); xEnumAccess = new css.container.XEnumerationAccess(xText.$query()); xParaEnumeration = xEnumAccess.createEnumeration(); diff --git a/static/source/embindmaker/embindmaker.cxx b/static/source/embindmaker/embindmaker.cxx index 335b7983503c..37175d100cdf 100644 --- a/static/source/embindmaker/embindmaker.cxx +++ b/static/source/embindmaker/embindmaker.cxx @@ -955,8 +955,7 @@ SAL_IMPLEMENT_MAIN() } jsOut << "function init_unoembind_" << name << "(instance) { " - "instance.unoembind_" - << name << " = { "; + "return { "; writeJsMap(jsOut, *module, ""); jsOut << "}; " "}; "; diff --git a/unotest/source/embindtest/embindtest.js b/unotest/source/embindtest/embindtest.js index 3d3196cc4c39..146be3fa545a 100644 --- a/unotest/source/embindtest/embindtest.js +++ b/unotest/source/embindtest/embindtest.js @@ -9,9 +9,8 @@ Module.addOnPostRun(function() { console.log('Running embindtest'); -init_unoembind_uno(Module); -let test = new Module.unoembind_uno.org.libreoffice.embindtest.Test( -Module.getUnoComponentContext()); +let uno = init_unoembind_uno(Module); +let test = new uno.org.libreoffice.embindtest.Test(Module.getUnoComponentContext()); console.assert(typeof test === 'object'); { let v = test.getBoolean();
core.git: desktop/Library_sofficeapp.mk desktop/source static/CustomTarget_unoembind.mk static/source
desktop/Library_sofficeapp.mk |6 ++ desktop/source/app/appinit.cxx|7 +++ static/CustomTarget_unoembind.mk |8 static/source/embindmaker/embindmaker.cxx | 30 ++ 4 files changed, 39 insertions(+), 12 deletions(-) New commits: commit c7664f12a99b6e08eb334d63646c3d2a6aa75e18 Author: Stephan Bergmann AuthorDate: Tue Feb 27 16:30:24 2024 +0100 Commit: Stephan Bergmann CommitDate: Wed Feb 28 07:53:21 2024 +0100 Init Embind-ings manually, once UNO is set up Upcoming code that changes the Embind'ing of UNO sequences will require availability of the UNO type manager during that Embind init code, so only call that after UNO has been bootstrapped (rather than as part of the initialization of global static data, which is what EMSCRIPTEN_BINDINGS does). Change-Id: Iba19851ffb82c055dcab10a28a8c1fafa9d2a414 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/164065 Tested-by: Jenkins Reviewed-by: Stephan Bergmann diff --git a/desktop/Library_sofficeapp.mk b/desktop/Library_sofficeapp.mk index 641efda7eda2..cc39ccd12f92 100644 --- a/desktop/Library_sofficeapp.mk +++ b/desktop/Library_sofficeapp.mk @@ -37,6 +37,12 @@ $(eval $(call gb_Library_use_custom_headers,sofficeapp,\ officecfg/registry \ )) +ifeq ($(OS),EMSCRIPTEN) +$(eval $(call gb_Library_use_custom_headers,sofficeapp, \ +static/unoembind \ +)) +endif + $(eval $(call gb_Library_use_api,sofficeapp,\ udkapi \ offapi \ diff --git a/desktop/source/app/appinit.cxx b/desktop/source/app/appinit.cxx index 51b466c6b980..1a0681f0d163 100644 --- a/desktop/source/app/appinit.cxx +++ b/desktop/source/app/appinit.cxx @@ -45,6 +45,10 @@ #include #include +#if defined EMSCRIPTEN +#include +#endif + using namespace ::com::sun::star::uno; using namespace ::com::sun::star::lang; using namespace ::com::sun::star::beans; @@ -83,6 +87,9 @@ void Desktop::InitApplicationServiceManager() UNO_QUERY_THROW); #endif comphelper::setProcessServiceFactory(sm); +#if defined EMSCRIPTEN +init_unoembind_uno(); +#endif } void Desktop::RegisterServices() diff --git a/static/CustomTarget_unoembind.mk b/static/CustomTarget_unoembind.mk index 045e0fea511c..d1bc294e0b9f 100644 --- a/static/CustomTarget_unoembind.mk +++ b/static/CustomTarget_unoembind.mk @@ -15,14 +15,14 @@ $(eval $(call gb_CustomTarget_register_targets,static/unoembind, \ )) $(call gb_CustomTarget_get_workdir,static/unoembind)/bindings_uno.cxx \ +$(call gb_CustomTarget_get_workdir,static/unoembind)/bindings_uno.hxx \ $(call gb_CustomTarget_get_workdir,static/unoembind)/bindings_uno.js: \ $(call gb_Executable_get_target_for_build,embindmaker) $(call gb_UnoApi_get_target,udkapi) \ -$(call gb_UnoApi_get_target,offapi) \ -$(if $(ENABLE_DBGUTIL),$(call gb_UnoApiTarget_get_target,embindtest)) +$(call gb_UnoApi_get_target,offapi) $(call gb_Executable_get_command,embindmaker) uno \ $(call gb_CustomTarget_get_workdir,static/unoembind)/bindings_uno.cxx \ +$(call gb_CustomTarget_get_workdir,static/unoembind)/bindings_uno.hxx \ $(call gb_CustomTarget_get_workdir,static/unoembind)/bindings_uno.js \ -+$(call gb_UnoApi_get_target,udkapi) +$(call gb_UnoApi_get_target,offapi) \ -+$(if $(ENABLE_DBGUTIL),$(call gb_UnoApiTarget_get_target,embindtest)) ++$(call gb_UnoApi_get_target,udkapi) +$(call gb_UnoApi_get_target,offapi) # vim: set noet sw=4 ts=4: diff --git a/static/source/embindmaker/embindmaker.cxx b/static/source/embindmaker/embindmaker.cxx index bff11e99b16d..335b7983503c 100644 --- a/static/source/embindmaker/embindmaker.cxx +++ b/static/source/embindmaker/embindmaker.cxx @@ -46,13 +46,13 @@ void badUsage() { std::cerr << "Usage: " - " embindmaker " + " embindmaker " "where each is '+' (primary) or ':' (secondary), followed by: either a " "new- or legacy-format .rdb file, a single .idl file, or a root directory of an " ".idl file tree. For all primary registries, Embind code is written to " - " and corresponding JavaScript scaffolding code is written to " - ". The is used as part of some of the identifiers in those " - "generated files. "; + "/ and corresponding JavaScript scaffolding code is " + "written to . The is used as part of some of the identifiers " + "in those generated files. "; std::exit(EXIT_FAILURE); } @@ -708,16 +708,17 @@ SAL_IMPLEMENT_MAIN() try { auto const args = rtl_getAppCommandArgCount(); -if (args < 3) +if (args < 4) { badUsage(); } OUString name; rtl_getAppCommandArg(0, &name.pData); auto const cppPathname = getPathnameArgument(1); -auto cons
core.git: solenv/gbuild
solenv/gbuild/UnoApiTarget.mk |5 - 1 file changed, 5 deletions(-) New commits: commit 4c20fb09d7fe6c2f4cdb672a6238c8ddb67aa437 Author: Stephan Bergmann AuthorDate: Tue Feb 27 21:09:03 2024 +0100 Commit: Stephan Bergmann CommitDate: Wed Feb 28 07:52:29 2024 +0100 Revert "gbuild: WASM: try to fix "Missing generated source file *_embind.cxx"" This reverts commit e4717342e5bea23f590a42d565a09ace600e2ca5. cppumaker no longer generates *_embind.cxx files since b2ade3e63e34556cad8157e25f8c75d29e79537d "Extract embindmaker from cppumaker into its own tool ...that directly generates one large .cxx." Change-Id: Ic4f60a502f3e592489cf0cee86878c327bbb4894 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/164055 Tested-by: Jenkins Reviewed-by: Stephan Bergmann diff --git a/solenv/gbuild/UnoApiTarget.mk b/solenv/gbuild/UnoApiTarget.mk index e79247172851..ec32b5c5fea8 100644 --- a/solenv/gbuild/UnoApiTarget.mk +++ b/solenv/gbuild/UnoApiTarget.mk @@ -216,11 +216,6 @@ $(call gb_UnoApiHeadersTarget_get_real_comprehensive_dir,$(1))/%.hpp : \ | $(call gb_UnoApiHeadersTarget_get_real_comprehensive_target,$(1)) touch $$@ -$(call gb_UnoApiHeadersTarget_get_real_comprehensive_dir,$(1))/%_embind.cxx : \ - $(call gb_Executable_get_target_for_build,cppumaker) \ - | $(call gb_UnoApiHeadersTarget_get_real_comprehensive_target,$(1)) - touch $$@ - endef # ensure that idl change triggers the dummy rule to rebuild the headers
core.git: 2 commits - officecfg/registry static/StaticLibrary_unoembind.mk udkapi/org udkapi/UnoApi_udkapi.mk unotest/InternalUnoApi_embindtest.mk unotest/Library_embindtest.mk unotest/Module_unotest.
officecfg/registry/data/org/openoffice/Office/Accelerators.xcu |6 +++ static/StaticLibrary_unoembind.mk |6 --- udkapi/UnoApi_udkapi.mk| 10 + udkapi/org/libreoffice/embindtest/Struct.idl | 20 ++ udkapi/org/libreoffice/embindtest/Test.idl | 16 udkapi/org/libreoffice/embindtest/XTest.idl|8 unotest/InternalUnoApi_embindtest.mk | 16 unotest/Library_embindtest.mk |4 -- unotest/Module_unotest.mk |1 9 files changed, 52 insertions(+), 35 deletions(-) New commits: commit 6158928209bd0f6bd532df9092f3a81ff615cdcc Author: Heiko Tietze AuthorDate: Tue Feb 27 08:32:06 2024 +0100 Commit: Heiko Tietze CommitDate: Wed Feb 28 07:52:23 2024 +0100 Resolves tdf#159863 - Default shortcut to access foot-/endnote area Change-Id: Ie95e94602a0dfd0c899f70d30d2c78e7063a4818 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/164001 Tested-by: Jenkins Reviewed-by: Heiko Tietze diff --git a/officecfg/registry/data/org/openoffice/Office/Accelerators.xcu b/officecfg/registry/data/org/openoffice/Office/Accelerators.xcu index 43b6523c7616..56eb20da6bd3 100644 --- a/officecfg/registry/data/org/openoffice/Office/Accelerators.xcu +++ b/officecfg/registry/data/org/openoffice/Office/Accelerators.xcu @@ -6196,6 +6196,12 @@ Ctrl+Shift+e aka E_SHIFT_MOD1 under GTK/IBUS is for some emoji thing .uno:ParaRightToLeft + + +L10N SHORTCUTS - NO TRANSLATE +.uno:JumpToFootnoteOrAnchor + + L10N SHORTCUTS - NO TRANSLATE commit 80e2c4e5b9ef1d299c6caa271c9f177a4d011937 Author: Stephan Bergmann AuthorDate: Tue Feb 27 16:29:18 2024 +0100 Commit: Stephan Bergmann CommitDate: Wed Feb 28 07:52:11 2024 +0100 Fold InternalUnoApi_embindtest into UnoApi_udkapi 80d3f33876a2ad4ce32d3c6183131984e8c6b5da "Library_embindtest should use comprehensive InternalUnoApi_embindtest" was an attempt at making type information about that library available at runtime. Which worked for cases where code directly called one of the types' cppu_detail_getUnoType function. But it would still fail for cases where code indirectly wants to obtain one of the types' information by type name---which is what upcoming code will do that changes the Embind'ing of UNO sequences. So InternalUnoApi_embindtest would need to become a UnoApi_embindtest whose instdir/program/types/embindtest.rdb would be available at runtime. But I'm too dumb to convince gbuild to create that new UnoApi_embindtest. So instead just tack the embindtest UNOIDL entities onto the existing UnoApi_udkapi for the EMSCRIPTEN-ENABLE_DBGUTIL case. (Which requires that the single embindtest.idl is split into individual per-entity files, sigh.) Change-Id: Ie189b17213ac5b2de7a61ac5f97a143fa097337f Reviewed-on: https://gerrit.libreoffice.org/c/core/+/164057 Tested-by: Jenkins Reviewed-by: Stephan Bergmann diff --git a/static/StaticLibrary_unoembind.mk b/static/StaticLibrary_unoembind.mk index 5d4438ef2f85..e2a2bfacd892 100644 --- a/static/StaticLibrary_unoembind.mk +++ b/static/StaticLibrary_unoembind.mk @@ -22,12 +22,6 @@ $(eval $(call gb_StaticLibrary_use_api,unoembind,\ udkapi \ )) -ifneq ($(ENABLE_DBGUTIL),) -$(eval $(call gb_StaticLibrary_use_internal_api,unoembind, \ -embindtest \ -)) -endif - $(call gb_StaticLibrary_get_target,unoembind): $(call gb_CustomTarget_get_target,static/unoembind) # vim: set noet sw=4 ts=4: diff --git a/udkapi/UnoApi_udkapi.mk b/udkapi/UnoApi_udkapi.mk index f18b9f758ddc..5f22026027ee 100644 --- a/udkapi/UnoApi_udkapi.mk +++ b/udkapi/UnoApi_udkapi.mk @@ -520,6 +520,16 @@ $(eval $(call gb_UnoApi_add_idlfiles,udkapi,com/sun/star/util,\ XVeto \ )) +ifeq ($(OS)-$(ENABLE_DBGUTIL),EMSCRIPTEN-TRUE) +$(eval $(call gb_UnoApi_add_idlfiles,udkapi,org/libreoffice/embindtest, \ +Struct \ +XTest \ +)) +$(eval $(call gb_UnoApi_add_idlfiles_nohdl,udkapi,org/libreoffice/embindtest, \ +Test \ +)) +endif + $(eval $(call gb_UnoApi_set_reference_rdbfile,udkapi,$(SRCDIR)/udkapi/type_reference/udkapi.idl)) # vim: set noet sw=4 ts=4: diff --git a/udkapi/org/libreoffice/embindtest/Struct.idl b/udkapi/org/libreoffice/embindtest/Struct.idl new file mode 100644 index ..6b9d36e40a1b --- /dev/null +++ b/udkapi/org/libreoffice/embindtest/Struct.idl @@ -0,0 +1,20 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4; fill-column: 100 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2
Re: Enquiry Regarding GSoC 2024 Participation: Potential Collaboration Opportunity
On 27.2.2024 15.24, Akshay Kumar Dubey wrote: Hello, I hope this email finds you well. I am writing to express my keen interest in contributing to Google Summer of Code (GSoC) 2024 with this esteemed organization. I am enthusiastic about the opportunity to collaborate and contribute to meaningful projects aligned with your mission. I look forward to the possibility of working together. i assure you that I will be passionate about the tasks given to me. I would greatly appreciate any suggestions or guidance on how I can best align my skills and interests with your projects. I have invited you to an interview. Ilmari
core.git: basic/CppunitTest_basic_macros.mk basic/qa vcl/source
basic/CppunitTest_basic_macros.mk |1 basic/qa/cppunit/data/tdf149714.png |binary basic/qa/cppunit/test_tdf149714.cxx | 86 vcl/source/graphic/UnoGraphicDescriptor.cxx |2 4 files changed, 88 insertions(+), 1 deletion(-) New commits: commit 9071cd6e59fb98ad8a2ddfb1019eaf950c716722 Author: Adam Seskunas AuthorDate: Sat Feb 24 21:19:37 2024 -0800 Commit: Mike Kaganski CommitDate: Wed Feb 28 05:00:46 2024 +0100 tdf#149714 BitsPerPixel property of Graphic has Boolean UNO type - vcl change UNO type of UnoGraphicProperty::BitsPerPixel to sal_Int8 instead of sal_uInt8 which maps to BOOLEAN causing Basic to convert non-0 values to True - basic add CppUnitTest since thats where the problem was occuring Change-Id: I099151fb5e001b6362e1359ad90bb039f064 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/163899 Tested-by: Jenkins Reviewed-by: Mike Kaganski diff --git a/basic/CppunitTest_basic_macros.mk b/basic/CppunitTest_basic_macros.mk index 9d8050e7b4e5..a67508f800a2 100644 --- a/basic/CppunitTest_basic_macros.mk +++ b/basic/CppunitTest_basic_macros.mk @@ -19,6 +19,7 @@ $(eval $(call gb_CppunitTest_add_exception_objects,basic_macros, \ basic/qa/cppunit/test_vba \ basic/qa/cppunit/test_global_as_new \ basic/qa/cppunit/test_global_array \ + basic/qa/cppunit/test_tdf149714 \ )) $(eval $(call gb_CppunitTest_use_libraries,basic_macros, \ diff --git a/basic/qa/cppunit/data/tdf149714.png b/basic/qa/cppunit/data/tdf149714.png new file mode 100644 index ..d22b8451864d Binary files /dev/null and b/basic/qa/cppunit/data/tdf149714.png differ diff --git a/basic/qa/cppunit/test_tdf149714.cxx b/basic/qa/cppunit/test_tdf149714.cxx new file mode 100644 index ..76713508560c --- /dev/null +++ b/basic/qa/cppunit/test_tdf149714.cxx @@ -0,0 +1,86 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4; fill-column: 100 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + */ + +#include +#include +#include +#include + +#include + +namespace +{ +class TestTdf149714 : public CppUnit::TestFixture +{ +void testBitsPerPixel(); + +CPPUNIT_TEST_SUITE(TestTdf149714); +CPPUNIT_TEST(testBitsPerPixel); +CPPUNIT_TEST_SUITE_END(); + +StarBASICRef interpreter; + +SbModuleRef Module() +{ +test::Directories aDirectories; +OUString aDataFileName += aDirectories.getURLFromSrc(u"basic/qa/cppunit/data/") + u"tdf149714.png"; +OUString sBasic = uR"BAS( + +Function GetBitsPerPixelAsString As String +DIM oProps(0) As New "com.sun.star.beans.PropertyValue" +DIM oProvider, oGraphic + +oProps(0).Name = "URL" +oProps(0).Value = "$PNGFILENAME" + +oProvider = createUnoService("com.sun.star.graphic.GraphicProvider") +oGraphic = oProvider.queryGraphic(oProps()) + +GetBitsPerPixelAsString = oGraphic.BitsPerPixel + +End Function + +)BAS"_ustr; + +sBasic = sBasic.replaceFirst("$PNGFILENAME", aDataFileName); + +interpreter = new StarBASIC(); +auto mod = interpreter->MakeModule("BitsPerPixel", sBasic); + +CPPUNIT_ASSERT(mod->Compile()); +CPPUNIT_ASSERT_EQUAL(ERRCODE_NONE, StarBASIC::GetErrBasic()); +CPPUNIT_ASSERT_EQUAL(ERRCODE_NONE, SbxBase::GetError()); +CPPUNIT_ASSERT(mod->IsCompiled()); +return mod; +} +}; + +void TestTdf149714::testBitsPerPixel() +{ +auto m = Module(); +auto GetBitsPerPixelAsString = m->FindMethod("GetBitsPerPixelAsString", SbxClassType::Method); +CPPUNIT_ASSERT_MESSAGE("Could not Find GetBitsPerPixelAsString in module", + GetBitsPerPixelAsString != nullptr); + +SbxVariableRef returned = new SbxMethod{ *GetBitsPerPixelAsString }; +CPPUNIT_ASSERT(returned->IsString()); + +// Without the fix in place this would fail with: +// - Expected: 24 +// - Actual: True +CPPUNIT_ASSERT_EQUAL(OUString{ "24" }, returned->GetOUString()); +} + +// Put the test suite in the registry +CPPUNIT_TEST_SUITE_REGISTRATION(TestTdf149714); + +} // namespace + +/* vim:set shiftwidth=4 softtabstop=4 expandtab cinoptions=b1,g0,N-s cinkeys+=0=break: */ diff --git a/vcl/source/graphic/UnoGraphicDescriptor.cxx b/vcl/source/graphic/UnoGraphicDescriptor.cxx index e83ac98959f8..32ffe48fd68f 100644 --- a/vcl/source/graphic/UnoGraphicDescriptor.cxx +++ b/vcl/source/graphic/UnoGraphicDescriptor.cxx @@ -236,7 +236,7 @@ rtl::Reference<::comphelper::PropertySetInfo> GraphicDescriptor::createPropertyS { OUString( "MimeType" ), static_cast< sal_Int32 >( UnoGraphicProperty::MimeType ), cppu::UnoType< OUString >::get(), beans:
core.git: external/boost
external/boost/UnpackedTarball_boost.mk|1 + external/boost/windows-no-utf8-locales.patch.0 | 23 +++ 2 files changed, 24 insertions(+) New commits: commit 072a25e1ef4815bbef4f18f59f025862a0d8e876 Author: Mike Kaganski AuthorDate: Wed Feb 28 03:48:55 2024 +0600 Commit: Mike Kaganski CommitDate: Wed Feb 28 04:57:11 2024 +0100 tdf#157135 workaround: restore and update windows-no-utf8-locales.patch.0 This partially reverts commit ed259e5efe432386b54c553cbc644b3b64976852 (Upgrade external/boost to latest Boost 1.81.0, 2023-01-05), which had dropped the patch previously introduced with commit f046fed2782f0d4244aff719ba70a56399a2583a (Don't ever attempt to initialise a std::locale with a UTF-8 locale on Windows, 2018-05-17). It seems that there is a nightmare going on in MSVCRT, and tdf#157135 is caused by dome MS bug. The problem happens in a deeply nested call to mbstowcs_s (several levels deep from std::locale constructor with name of "en_US.UTF-8"), which gets a non-null wcstr and sizeInWords equal to zero, which generates an invalid argument handler, resulting in a failed assertion "(pwcs == nullptr && sizeInWords == 0) || (pwcs != nullptr && sizeInWords > 0)" in _mbstowcs_internal from minkernelThe crashreporter initiates, but since it tries to use CRT itself, which is in fastfail mode, it hangs. The patch that is restored here was intended for something different; but it happily workarounds the nightmare. Until the proper fix found, let it be. Change-Id: Ic978f87e2e7b81fc2e1cd182a4247084ad016a9f Reviewed-on: https://gerrit.libreoffice.org/c/core/+/164068 Tested-by: Jenkins Reviewed-by: Mike Kaganski diff --git a/external/boost/UnpackedTarball_boost.mk b/external/boost/UnpackedTarball_boost.mk index d8bd131ac8df..8ab4d7949901 100644 --- a/external/boost/UnpackedTarball_boost.mk +++ b/external/boost/UnpackedTarball_boost.mk @@ -26,6 +26,7 @@ boost_patches += boost_1_59_0.property_tree.wreturn-type.patch boost_patches += clang-cl.patch.0 boost_patches += boost_1_63_0.undef.warning.patch.1 +boost_patches += windows-no-utf8-locales.patch.0 boost_patches += msvc2017.patch.0 diff --git a/external/boost/windows-no-utf8-locales.patch.0 b/external/boost/windows-no-utf8-locales.patch.0 new file mode 100644 index ..519d8bde2fe6 --- /dev/null +++ b/external/boost/windows-no-utf8-locales.patch.0 @@ -0,0 +1,23 @@ +Don't ever attempt to initialise a std::locale with a UTF-8 locale on Windows -*- Mode: Diff -*- + +--- libs/locale/src/boost/locale/std/std_backend.cpp libs/locale/src/boost/locale/std/std_backend.cpp +@@ -86,6 +86,7 @@ + #endif + utf_mode_ = utf8_support::none; + } else { ++#if !defined(BOOST_WINDOWS) + if(loadable(lid)) { + name_ = lid; + utf_mode_ = utf8_support::native_with_wide; +@@ -98,8 +99,8 @@ + utf_mode_ = utf8_support::from_wide; + #endif + } +-#if defined(BOOST_WINDOWS) +-else if(loadable(win_name)) ++#else ++if(loadable(win_name)) + { + name_ = win_name; + utf_mode_ = utf8_support::from_wide;
core.git: sd/qa
sd/qa/uitest/data/tdf159927_dateTime.odp |binary sd/qa/uitest/impress_tests/tdf159927_dateTime.py | 28 +++ 2 files changed, 28 insertions(+) New commits: commit 0c643e8afdf8b0b929b603340979e771eeb9fc0b Author: Justin Luth AuthorDate: Tue Feb 27 13:45:38 2024 -0500 Commit: Justin Luth CommitDate: Wed Feb 28 03:32:51 2024 +0100 tdf#159927 unit test for impress date/time language detection make -srj1 UITest_impress_tests \ UITEST_TEST_NAME="tdf159927_dateTime.tdf159927.test_tdf159927" \ SAL_USE_VCLPLUGIN=gen Change-Id: Ic0f13fd7f7f427cc85f8f7c4d144ecfb5b722291 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/164070 Tested-by: Jenkins Reviewed-by: Justin Luth diff --git a/sd/qa/uitest/data/tdf159927_dateTime.odp b/sd/qa/uitest/data/tdf159927_dateTime.odp new file mode 100644 index ..a04816608495 Binary files /dev/null and b/sd/qa/uitest/data/tdf159927_dateTime.odp differ diff --git a/sd/qa/uitest/impress_tests/tdf159927_dateTime.py b/sd/qa/uitest/impress_tests/tdf159927_dateTime.py new file mode 100644 index ..1a72d1997b75 --- /dev/null +++ b/sd/qa/uitest/impress_tests/tdf159927_dateTime.py @@ -0,0 +1,28 @@ +# -*- 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_state_as_dict, get_url_for_data_file +import time + +class tdf159927(UITestCase): + + def test_tdf159927(self): +with self.ui_test.load_file(get_url_for_data_file("tdf159927_dateTime.odp")) as document: + +with self.ui_test.execute_dialog_through_command(".uno:HeaderAndFooter", close_button="cancel") as xDialog: +language_list = xDialog.getChild("language_list") +# Expected: the existing language of the date/time field: Finnish +# Actual without the fix: the user's locale as specified in tools - options. + self.assertEqual(get_state_as_dict(language_list)["SelectEntryText"], "Finnish") + +#time.sleep(2) + + +# vim: set shiftwidth=4 softtabstop=4 expandtab:
core.git: Branch 'distro/collabora/co-24.04' - sd/source
sd/source/ui/dlg/headerfooterdlg.cxx | 22 ++ 1 file changed, 14 insertions(+), 8 deletions(-) New commits: commit 62ae4d01dd06629413af7316ffb6a8030acf83e9 Author: Justin Luth AuthorDate: Tue Feb 27 09:57:35 2024 -0500 Commit: Justin Luth CommitDate: Wed Feb 28 03:32:22 2024 +0100 tdf#159927 sd headerfooterdlg: detect existing date/time language Sometimes it was hard to change an existing foreign language to your own language for Impress' header/footer fields. The function was only checking the first master slide for the date/time language. If it didn't have one, then the default locale was selected. However, although all pages share the same date/time language, it is not necessary for all (or even the first) master slide to have a date/time field. So check through all the master slides until one with a date/time is found. Obviously if none have one defined things still work OK, because that is effectively how it was working beforehand. I don't have much hope for a successful unit test. I'll try to develop it as a follow-up to this patch. Change-Id: Ida44957013978720ad12fadc9b4ebc88bc10ea40 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/164045 Tested-by: Jenkins Reviewed-by: Justin Luth Reviewed-on: https://gerrit.libreoffice.org/c/core/+/164069 Tested-by: Jenkins CollaboraOffice diff --git a/sd/source/ui/dlg/headerfooterdlg.cxx b/sd/source/ui/dlg/headerfooterdlg.cxx index 8401ec38cd6e..92f7e9be1cb0 100644 --- a/sd/source/ui/dlg/headerfooterdlg.cxx +++ b/sd/source/ui/dlg/headerfooterdlg.cxx @@ -151,7 +151,8 @@ private: void FillFormatList(sal_Int32 nSelectedPos); void GetOrSetDateTimeLanguage( LanguageType &rLanguage, bool bSet ); -void GetOrSetDateTimeLanguage( LanguageType &rLanguage, bool bSet, SdPage* pPage ); +// returns true if the page has a date/time field item +bool GetOrSetDateTimeLanguage(LanguageType& rLanguage, bool bSet, SdPage* pPage); public: HeaderFooterTabPage(weld::Container* pParent, SdDrawDocument* pDoc, SdPage* pActualPage, bool bHandoutMode ); @@ -535,25 +536,29 @@ void HeaderFooterTabPage::GetOrSetDateTimeLanguage( LanguageType &rLanguage, boo } else { -// get the language from the first master page -// or set it to all master pages -sal_uInt16 nPageCount = bSet ? mpDoc->GetMasterSdPageCount( PageKind::Notes ) : 1; +const sal_uInt16 nPageCount = mpDoc->GetMasterSdPageCount(PageKind::Standard); sal_uInt16 nPage; for( nPage = 0; nPage < nPageCount; nPage++ ) { -GetOrSetDateTimeLanguage( rLanguage, bSet, mpDoc->GetMasterSdPage( nPage, PageKind::Standard ) ); +SdPage* pMasterSlide = mpDoc->GetMasterSdPage(nPage, PageKind::Standard); +bool bHasDateFieldItem = GetOrSetDateTimeLanguage(rLanguage, bSet, pMasterSlide); + +// All pages must use the same language. If getting the language, only need to find one. +if (!bSet && bHasDateFieldItem) +break; } } } -void HeaderFooterTabPage::GetOrSetDateTimeLanguage( LanguageType &rLanguage, bool bSet, SdPage* pPage ) +bool HeaderFooterTabPage::GetOrSetDateTimeLanguage(LanguageType& rLanguage, bool bSet, + SdPage* pPage) { if( !pPage ) -return; +return false; SdrTextObj* pObj = static_cast(pPage->GetPresObj( PresObjKind::DateTime )); if( !pObj ) -return; +return false; Outliner* pOutl = mpDoc->GetInternalOutliner(); pOutl->Init( OutlinerMode::TextObject ); @@ -623,6 +628,7 @@ void HeaderFooterTabPage::GetOrSetDateTimeLanguage( LanguageType &rLanguage, boo pOutl->Clear(); pOutl->Init( nOutlMode ); +return bHasDateFieldItem; } PresLayoutPreview::PresLayoutPreview()
core.git: sc/source
sc/source/core/data/column3.cxx |1 sc/source/core/data/column4.cxx | 59 ++-- 2 files changed, 34 insertions(+), 26 deletions(-) New commits: commit 5234ef71c7459506236d4d0dfe7beb5f00d8cc41 Author: Kohei Yoshida AuthorDate: Mon Feb 26 22:59:32 2024 -0500 Commit: Kohei Yoshida CommitDate: Wed Feb 28 02:31:27 2024 +0100 Make the code tidier & stop event handling during destruction This is a follow-up to 25ffb54c6d8a5b52dca6b782282962766e7791de. Change-Id: Ifc87323dd5085cdac08efac5fd9d22ae8b94d641 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/163997 Tested-by: Jenkins Reviewed-by: Kohei Yoshida diff --git a/sc/source/core/data/column3.cxx b/sc/source/core/data/column3.cxx index 3481abfe8e9e..e01d6312506f 100644 --- a/sc/source/core/data/column3.cxx +++ b/sc/source/core/data/column3.cxx @@ -238,6 +238,7 @@ void ScColumn::Delete( SCROW nRow ) void ScColumn::FreeAll() { maCells.event_handler().stop(); +maCellNotes.event_handler().stop(); auto maxRowCount = GetDoc().GetMaxRowCount(); // Keep a logical empty range of 0-rDoc.MaxRow() at all times. diff --git a/sc/source/core/data/column4.cxx b/sc/source/core/data/column4.cxx index bd9bba3df1f4..7b1299d7bae6 100644 --- a/sc/source/core/data/column4.cxx +++ b/sc/source/core/data/column4.cxx @@ -2212,39 +2212,46 @@ void ScColumn::RestoreFromCache(SvStream& rStrm) void ScColumn::CheckIntegrity() const { -const ScColumn* pColTest = maCells.event_handler().getColumn(); +auto checkEventHandlerColumnRef = [this](const auto& rStore, std::string_view pStoreName) +{ +if (const ScColumn* pColTest = rStore.event_handler().getColumn(); pColTest != this) +{ +std::ostringstream os; +os << pStoreName << "'s event handler references wrong column instance (this=" << this +<< "; stored=" << pColTest << ")"; +throw std::runtime_error(os.str()); +} +}; -if (pColTest != this) +auto countBlocks = [](const auto& rStore, mdds::mtv::element_t nBlockType) { -std::ostringstream os; -os << "cell store's event handler references wrong column instance (this=" << this -<< "; stored=" << pColTest << ")"; -throw std::runtime_error(os.str()); -} +std::size_t nCount = std::count_if(rStore.cbegin(), rStore.cend(), +[nBlockType](const auto& blk) { return blk.type == nBlockType; } +); -size_t nCount = std::count_if(maCells.cbegin(), maCells.cend(), -[](const auto& blk) { return blk.type == sc::element_type_formula; } -); +return nCount; +}; -if (mnBlkCountFormula != nCount) +auto checkCachedBlockCount = [countBlocks]( +const auto& rStore, mdds::mtv::element_t nBlockType, std::size_t nCachedBlkCount, +std::string_view pName) { -std::ostringstream os; -os << "incorrect cached formula block count (expected=" << nCount << "; actual=" -<< mnBlkCountFormula << ")"; -throw std::runtime_error(os.str()); -} +std::size_t nCount = countBlocks(rStore, nBlockType); -nCount = std::count_if(maCellNotes.cbegin(), maCellNotes.cend(), -[](const auto& blk) { return blk.type == sc::element_type_cellnote; } -); +if (nCachedBlkCount != nCount) +{ +std::ostringstream os; +os << "incorrect cached " << pName << " block count (expected=" << nCount << "; actual=" +<< nCachedBlkCount << ")"; +throw std::runtime_error(os.str()); +} +}; -if (mnBlkCountCellNotes != nCount) -{ -std::ostringstream os; -os << "incorrect cached cell note block count (expected=" << nCount << "; actual=" -<< mnBlkCountCellNotes << ")"; -throw std::runtime_error(os.str()); -} +checkEventHandlerColumnRef(maCells, "cell store"); +checkEventHandlerColumnRef(maCellNotes, "cell-note store"); + +checkCachedBlockCount(maCells, sc::element_type_formula, mnBlkCountFormula, "formula"); +checkCachedBlockCount(maCellNotes, sc::element_type_cellnote, mnBlkCountCellNotes, "cell note"); } void ScColumn::CollectBroadcasterState(sc::BroadcasterState& rState) const
core.git: sd/source
sd/source/ui/dlg/headerfooterdlg.cxx | 22 ++ 1 file changed, 14 insertions(+), 8 deletions(-) New commits: commit 62323124f54885c6de4ac4fa38052d380309a5a1 Author: Justin Luth AuthorDate: Tue Feb 27 09:57:35 2024 -0500 Commit: Justin Luth CommitDate: Wed Feb 28 00:23:11 2024 +0100 tdf#159927 sd headerfooterdlg: detect existing date/time language Sometimes it was hard to change an existing foreign language to your own language for Impress' header/footer fields. The function was only checking the first master slide for the date/time language. If it didn't have one, then the default locale was selected. However, although all pages share the same date/time language, it is not necessary for all (or even the first) master slide to have a date/time field. So check through all the master slides until one with a date/time is found. Obviously if none have one defined things still work OK, because that is effectively how it was working beforehand. I don't have much hope for a successful unit test. I'll try to develop it as a follow-up to this patch. Change-Id: Ida44957013978720ad12fadc9b4ebc88bc10ea40 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/164045 Tested-by: Jenkins Reviewed-by: Justin Luth diff --git a/sd/source/ui/dlg/headerfooterdlg.cxx b/sd/source/ui/dlg/headerfooterdlg.cxx index 8401ec38cd6e..92f7e9be1cb0 100644 --- a/sd/source/ui/dlg/headerfooterdlg.cxx +++ b/sd/source/ui/dlg/headerfooterdlg.cxx @@ -151,7 +151,8 @@ private: void FillFormatList(sal_Int32 nSelectedPos); void GetOrSetDateTimeLanguage( LanguageType &rLanguage, bool bSet ); -void GetOrSetDateTimeLanguage( LanguageType &rLanguage, bool bSet, SdPage* pPage ); +// returns true if the page has a date/time field item +bool GetOrSetDateTimeLanguage(LanguageType& rLanguage, bool bSet, SdPage* pPage); public: HeaderFooterTabPage(weld::Container* pParent, SdDrawDocument* pDoc, SdPage* pActualPage, bool bHandoutMode ); @@ -535,25 +536,29 @@ void HeaderFooterTabPage::GetOrSetDateTimeLanguage( LanguageType &rLanguage, boo } else { -// get the language from the first master page -// or set it to all master pages -sal_uInt16 nPageCount = bSet ? mpDoc->GetMasterSdPageCount( PageKind::Notes ) : 1; +const sal_uInt16 nPageCount = mpDoc->GetMasterSdPageCount(PageKind::Standard); sal_uInt16 nPage; for( nPage = 0; nPage < nPageCount; nPage++ ) { -GetOrSetDateTimeLanguage( rLanguage, bSet, mpDoc->GetMasterSdPage( nPage, PageKind::Standard ) ); +SdPage* pMasterSlide = mpDoc->GetMasterSdPage(nPage, PageKind::Standard); +bool bHasDateFieldItem = GetOrSetDateTimeLanguage(rLanguage, bSet, pMasterSlide); + +// All pages must use the same language. If getting the language, only need to find one. +if (!bSet && bHasDateFieldItem) +break; } } } -void HeaderFooterTabPage::GetOrSetDateTimeLanguage( LanguageType &rLanguage, bool bSet, SdPage* pPage ) +bool HeaderFooterTabPage::GetOrSetDateTimeLanguage(LanguageType& rLanguage, bool bSet, + SdPage* pPage) { if( !pPage ) -return; +return false; SdrTextObj* pObj = static_cast(pPage->GetPresObj( PresObjKind::DateTime )); if( !pObj ) -return; +return false; Outliner* pOutl = mpDoc->GetInternalOutliner(); pOutl->Init( OutlinerMode::TextObject ); @@ -623,6 +628,7 @@ void HeaderFooterTabPage::GetOrSetDateTimeLanguage( LanguageType &rLanguage, boo pOutl->Clear(); pOutl->Init( nOutlMode ); +return bHasDateFieldItem; } PresLayoutPreview::PresLayoutPreview()
core.git: Branch 'distro/cib/libreoffice-6-4' - 3 commits - chart2/source compilerplugins/clang connectivity/source external/breakpad external/ct2n external/pdfium forms/source fpicker/source include/
chart2/source/view/inc/PlottingPositionHelper.hxx |4 compilerplugins/clang/test/unusedfields.cxx |1 + connectivity/source/inc/java/tools.hxx|4 external/breakpad/UnpackedTarball_breakpad.mk |1 + external/breakpad/include.patch | 10 ++ external/ct2n/include.patch.0 | 10 ++ external/pdfium/include.patch | 11 +++ forms/source/xforms/propertysetbase.hxx |1 + fpicker/source/office/contentenumeration.hxx |4 include/sfx2/sidebar/SidebarPanelBase.hxx |4 include/vcl/BitmapBuffer.hxx |4 include/vcl/filter/PngImageReader.hxx |4 shell/source/backends/kf5be/kf5backend.cxx|2 ++ sot/source/unoolestorage/xolesimplestorage.hxx|2 ++ starmath/inc/token.hxx|2 ++ sw/source/uibase/docvw/OverlayRanges.hxx |1 + sw/source/uibase/docvw/ShadowOverlayObject.hxx|4 unoxml/qa/unit/domtest.cxx|8 xmlsecurity/source/gpg/SecurityEnvironment.hxx|3 +++ xmlsecurity/source/helper/ooxmlsecparser.hxx |1 + xmlsecurity/source/helper/xsecparser.hxx |1 + 21 files changed, 78 insertions(+), 4 deletions(-) New commits: commit f75130dcf240f3fe0d11d4374e1ad4e36d92e416 Author: Caolán McNamara AuthorDate: Thu Jan 4 17:00:06 2024 + Commit: Thorsten Behrens CommitDate: Tue Feb 27 23:45:14 2024 +0100 std::size/SAL_N_ELEMENTS also counts the null terminator which libxml2 2.12 will fail on with error: 'Extra content at the end of the document' Change-Id: I9d5da9fdd826cce8462ede8c510eaea7281b760f Reviewed-on: https://gerrit.libreoffice.org/c/core/+/161627 Tested-by: Jenkins Reviewed-by: Caolán McNamara (cherry picked from commit cbb17a548b5cc6a99b6ed7735479bb4f2bc40f26) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/161643 Reviewed-by: Xisco Fauli diff --git a/unoxml/qa/unit/domtest.cxx b/unoxml/qa/unit/domtest.cxx index 0a80d2a4cadc..f9bdec2917eb 100644 --- a/unoxml/qa/unit/domtest.cxx +++ b/unoxml/qa/unit/domtest.cxx @@ -207,9 +207,9 @@ struct BasicTest : public test::BootstrapFixture mxErrHandler.set( new ErrorHandler() ); uno::Reference xDB( getMultiServiceFactory()->createInstance("com.sun.star.xml.dom.DocumentBuilder"), uno::UNO_QUERY_THROW ); mxDomBuilder.set( xDB ); -mxValidInStream.set( new SequenceInputStream(css::uno::Sequence(reinterpret_cast(validTestFile), SAL_N_ELEMENTS(validTestFile))) ); -mxWarningInStream.set( new SequenceInputStream(css::uno::Sequence(reinterpret_cast(warningTestFile), SAL_N_ELEMENTS(warningTestFile))) ); -mxErrorInStream.set( new SequenceInputStream(css::uno::Sequence(reinterpret_cast(errorTestFile), SAL_N_ELEMENTS(errorTestFile))) ); +mxValidInStream.set( new SequenceInputStream(css::uno::Sequence(reinterpret_cast(validTestFile), SAL_N_ELEMENTS(validTestFile)-1)) ); +mxWarningInStream.set( new SequenceInputStream(css::uno::Sequence(reinterpret_cast(warningTestFile), SAL_N_ELEMENTS(warningTestFile)-1)) ); +mxErrorInStream.set( new SequenceInputStream(css::uno::Sequence(reinterpret_cast(errorTestFile), SAL_N_ELEMENTS(errorTestFile)-1)) ); mxDomBuilder->setErrorHandler(mxErrHandler.get()); } @@ -293,7 +293,7 @@ struct SerializerTest : public test::BootstrapFixture mxErrHandler.set( new ErrorHandler() ); uno::Reference xDB( getMultiServiceFactory()->createInstance("com.sun.star.xml.dom.DocumentBuilder"), uno::UNO_QUERY_THROW ); mxDomBuilder.set( xDB ); -mxInStream.set( new SequenceInputStream(css::uno::Sequence(reinterpret_cast(validTestFile), SAL_N_ELEMENTS(validTestFile))) ); +mxInStream.set( new SequenceInputStream(css::uno::Sequence(reinterpret_cast(validTestFile), SAL_N_ELEMENTS(validTestFile)-1)) ); mxDomBuilder->setErrorHandler(mxErrHandler.get()); mxHandler.set( new DocumentHandler ); mxTokHandler.set( new TokenHandler ); commit 92b398862f773e49cb5fe4b0363ef99775eac1b7 Author: Stephan Bergmann AuthorDate: Mon Aug 9 23:07:12 2021 +0200 Commit: Thorsten Behrens CommitDate: Tue Feb 27 23:45:13 2024 +0100 Missing include (for std::unique_ptr, with recent libstdc++ 12 trunk) Change-Id: I61b7823dd740ea7cdfe0d7403a50ac73b24d1c4e Reviewed-on: https://gerrit.libreoffice.org/c/core/+/120229 Tested-by: Jenkins Reviewed-by: Stephan Bergmann diff --git a/chart2/source/view/inc/PlottingPositionHelper.hxx b/chart2/source/view/inc/PlottingPositionHelper.hxx index 74fc37cdea80..3343196e7e45 100644 --- a/chart2/source/view/inc/PlottingPositionHelper.hxx +++ b/chart2/source/view/inc/PlottingPositionHelper.hxx @@ -19,6 +19,10 @@ #ifndef INCLUDED_CHART2_S
core.git: odk/CustomTarget_build-examples_java.mk odk/examples odk/Package_examples.mk
odk/CustomTarget_build-examples_java.mk |2 odk/Package_examples.mk | 30 + odk/examples/DevelopersGuide/Charts/java/Makefile |2 odk/examples/DevelopersGuide/Charts/python/CalcHelper.py | 189 +++ odk/examples/DevelopersGuide/Charts/python/ChartInCalc.py | 225 ++ odk/examples/DevelopersGuide/Charts/python/Helper.py | 44 ++ odk/examples/DevelopersGuide/Charts/python/bullet.gif |binary 7 files changed, 477 insertions(+), 15 deletions(-) New commits: commit 7c78d2b29e04228481c0e4bfa9e3eaf6ccbd575b Author: zeph AuthorDate: Mon Feb 5 20:03:14 2024 -0800 Commit: Hossein CommitDate: Tue Feb 27 23:41:18 2024 +0100 Add python code for ChartInCalc Change-Id: Ia7f4cbd539919e88f735c13bdd1dae3533b1163a Reviewed-on: https://gerrit.libreoffice.org/c/core/+/163037 Tested-by: Jenkins Reviewed-by: Hossein diff --git a/odk/CustomTarget_build-examples_java.mk b/odk/CustomTarget_build-examples_java.mk index 213aa35cff75..15be0a2c6a47 100644 --- a/odk/CustomTarget_build-examples_java.mk +++ b/odk/CustomTarget_build-examples_java.mk @@ -9,7 +9,7 @@ my_example_dirs_java = \ DevelopersGuide/BasicAndDialogs/CreatingDialogs \ -DevelopersGuide/Charts \ +DevelopersGuide/Charts/java \ DevelopersGuide/Components/Addons/JobsAddon \ DevelopersGuide/Components/Addons/ProtocolHandlerAddon_java \ DevelopersGuide/Components/JavaComponent \ diff --git a/odk/Package_examples.mk b/odk/Package_examples.mk index 9d84dc6620de..10b30815bf9c 100644 --- a/odk/Package_examples.mk +++ b/odk/Package_examples.mk @@ -35,19 +35,23 @@ $(eval $(call gb_Package_add_files_with_dir,odk_examples,$(SDKDIRNAME)/examples, DevelopersGuide/BasicAndDialogs/ToolkitControls/ToolkitControls/ScrollBarDlg.xdl \ DevelopersGuide/BasicAndDialogs/ToolkitControls/ToolkitControls/dialog.xlb \ DevelopersGuide/BasicAndDialogs/ToolkitControls/ToolkitControls/script.xlb \ -DevelopersGuide/Charts/AddInChart.ods \ -DevelopersGuide/Charts/CalcHelper.java \ -DevelopersGuide/Charts/ChartHelper.java \ -DevelopersGuide/Charts/ChartInCalc.java \ -DevelopersGuide/Charts/ChartInDraw.java \ -DevelopersGuide/Charts/ChartInWriter.java \ -DevelopersGuide/Charts/Helper.java \ -DevelopersGuide/Charts/JavaSampleChartAddIn.components \ -DevelopersGuide/Charts/JavaSampleChartAddIn.java \ -DevelopersGuide/Charts/ListenAtCalcRangeInDraw.java \ -DevelopersGuide/Charts/Makefile \ -DevelopersGuide/Charts/SelectionChangeListener.java \ -DevelopersGuide/Charts/bullet.gif \ +DevelopersGuide/Charts/java/AddInChart.ods \ +DevelopersGuide/Charts/java/CalcHelper.java \ +DevelopersGuide/Charts/java/ChartHelper.java \ +DevelopersGuide/Charts/java/ChartInCalc.java \ +DevelopersGuide/Charts/java/ChartInDraw.java \ +DevelopersGuide/Charts/java/ChartInWriter.java \ +DevelopersGuide/Charts/java/Helper.java \ +DevelopersGuide/Charts/java/JavaSampleChartAddIn.components \ +DevelopersGuide/Charts/java/JavaSampleChartAddIn.java \ +DevelopersGuide/Charts/java/ListenAtCalcRangeInDraw.java \ +DevelopersGuide/Charts/java/Makefile \ +DevelopersGuide/Charts/java/SelectionChangeListener.java \ +DevelopersGuide/Charts/java/bullet.gif \ +DevelopersGuide/Charts/python/CalcHelper.py \ +DevelopersGuide/Charts/python/ChartInCalc.py \ +DevelopersGuide/Charts/python/Helper.py \ +DevelopersGuide/Charts/python/bullet.gif \ DevelopersGuide/Components/Addons/JobsAddon/Addons.xcu \ DevelopersGuide/Components/Addons/JobsAddon/AsyncJob.components \ DevelopersGuide/Components/Addons/JobsAddon/AsyncJob.java \ diff --git a/odk/examples/DevelopersGuide/Charts/AddInChart.ods b/odk/examples/DevelopersGuide/Charts/java/AddInChart.ods similarity index 100% rename from odk/examples/DevelopersGuide/Charts/AddInChart.ods rename to odk/examples/DevelopersGuide/Charts/java/AddInChart.ods diff --git a/odk/examples/DevelopersGuide/Charts/CalcHelper.java b/odk/examples/DevelopersGuide/Charts/java/CalcHelper.java similarity index 100% rename from odk/examples/DevelopersGuide/Charts/CalcHelper.java rename to odk/examples/DevelopersGuide/Charts/java/CalcHelper.java diff --git a/odk/examples/DevelopersGuide/Charts/ChartHelper.java b/odk/examples/DevelopersGuide/Charts/java/ChartHelper.java similarity index 100% rename from odk/examples/DevelopersGuide/Charts/ChartHelper.java rename to odk/examples/DevelopersGuide/Charts/java/ChartHelper.java diff --git a/odk/examples/DevelopersGuide/Charts/ChartInCalc.java b/odk/examples/DevelopersGuide/Charts/java/ChartInCalc.java similarity index 100% rename from odk/examples/DevelopersGuide/Charts/ChartInCalc.java rename to odk/examples/DevelopersGuide/Charts/java/ChartInCalc.java diff --git a/odk/examples/DevelopersGuide/Charts/ChartInDraw.java b/odk/examples/DevelopersGuide/Charts/java/ChartI
Enquiry Regarding GSoC 2024 Participation: Potential Collaboration Opportunity
Hello, I hope this email finds you well. I am writing to express my keen interest in contributing to Google Summer of Code (GSoC) 2024 with this esteemed organization. I am enthusiastic about the opportunity to collaborate and contribute to meaningful projects aligned with your mission. I look forward to the possibility of working together. i assure you that I will be passionate about the tasks given to me. I would greatly appreciate any suggestions or guidance on how I can best align my skills and interests with your projects.
core.git: comphelper/source
comphelper/source/misc/mimeconfighelper.cxx |6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) New commits: commit 487ce28057656e752dc9bb7eddea5befb446ad0a Author: AhmedHamed AuthorDate: Thu Feb 22 21:25:04 2024 +0200 Commit: Hossein CommitDate: Tue Feb 27 23:30:46 2024 +0100 tdf#42982 Improve UNO API error reporting Change-Id: Ia27365b3e5539cdf0f96f01a96bbe58653eb46c3 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/163788 Reviewed-by: Hossein Tested-by: Jenkins diff --git a/comphelper/source/misc/mimeconfighelper.cxx b/comphelper/source/misc/mimeconfighelper.cxx index bedd714bab49..41005f3cbcdd 100644 --- a/comphelper/source/misc/mimeconfighelper.cxx +++ b/comphelper/source/misc/mimeconfighelper.cxx @@ -44,7 +44,7 @@ MimeConfigurationHelper::MimeConfigurationHelper( uno::Reference< uno::XComponen : m_xContext(std::move( xContext )) { if ( !m_xContext.is() ) -throw uno::RuntimeException(); +throw uno::RuntimeException("MimeConfigurationHelper:: empty component context"); } @@ -315,12 +315,12 @@ uno::Sequence< beans::NamedValue > MimeConfigurationHelper::GetObjPropsFromConfi { uno::Sequence< OUString > aVerbShortcuts; if ( !(xObjectProps->getByName( aObjPropNames[nInd] ) >>= aVerbShortcuts) ) -throw uno::RuntimeException(); +throw uno::RuntimeException("Failed to get verb shortcuts from object properties"); uno::Sequence< embed::VerbDescriptor > aVerbDescriptors( aVerbShortcuts.getLength() ); auto aVerbDescriptorsRange = asNonConstRange(aVerbDescriptors); for ( sal_Int32 nVerbI = 0; nVerbI < aVerbShortcuts.getLength(); nVerbI++ ) if ( !GetVerbByShortcut( aVerbShortcuts[nVerbI], aVerbDescriptorsRange[nVerbI] ) ) -throw uno::RuntimeException(); +throw uno::RuntimeException("Failed to get verb descriptor by shortcut"); pResult[nInd+1].Value <<= aVerbDescriptors; }
core.git: sc/source
sc/source/ui/view/tabvwsh4.cxx |2 +- 1 file changed, 1 insertion(+), 1 deletion(-) New commits: commit 971e32c280f2891445d8ec2b57a130962a9c7627 Author: Andrea Gelmini AuthorDate: Tue Feb 27 20:18:32 2024 +0100 Commit: Julien Nabet CommitDate: Tue Feb 27 22:43:59 2024 +0100 Fix typo Change-Id: I53e801cd4688c8495deecfb7a67a4ce39bdda978 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/164054 Tested-by: Julien Nabet Reviewed-by: Julien Nabet diff --git a/sc/source/ui/view/tabvwsh4.cxx b/sc/source/ui/view/tabvwsh4.cxx index 8236256b25e8..d8d8b08219a3 100644 --- a/sc/source/ui/view/tabvwsh4.cxx +++ b/sc/source/ui/view/tabvwsh4.cxx @@ -270,7 +270,7 @@ void ScTabViewShell::Deactivate(bool bMDI) { HideNoteMarker(); // note marker -// in LOK case this could be trigerred on every action from other view (doc_setView) +// in LOK case this could be triggered on every action from other view (doc_setView) // we don't want to hide tooltip only because other view did some action if ( pHdl && !comphelper::LibreOfficeKit::isActive() ) pHdl->HideTip();// Hide formula auto input tip
core.git: Branch 'distro/collabora/co-24.04' - sc/source
sc/source/ui/app/inputhdl.cxx |4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) New commits: commit d52dfa7ecbf9cb50a4007b44af9cd23ad08c5d8e Author: Gülşah Köse AuthorDate: Tue Feb 27 13:07:18 2024 +0300 Commit: Gülşah Köse CommitDate: Tue Feb 27 21:49:17 2024 +0100 Online: Prevent hiding tooltips due to other users action. Other user's actions like reloading reopening or refreshing document causes hiding other user function tooltips. Signed-off-by: Gülşah Köse Change-Id: I0aeb0aeb98182398e4740c71cfd65c4df2c51ba6 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/163978 Tested-by: Jenkins CollaboraOffice diff --git a/sc/source/ui/app/inputhdl.cxx b/sc/source/ui/app/inputhdl.cxx index 62a7d7b9bf09..5d45d930b3eb 100644 --- a/sc/source/ui/app/inputhdl.cxx +++ b/sc/source/ui/app/inputhdl.cxx @@ -4446,7 +4446,9 @@ void ScInputHandler::NotifyChange( const ScInputHdlState* pState, pDelayTimer->Start(); } -HideTip(); +// Don't hide function tooltip in LOK, a remote user might be using tip. +if (bStopEditing) +HideTip(); HideTipBelow(); bInOwnChange = false; }
core.git: solenv/bin
solenv/bin/native-code.py |2 +- 1 file changed, 1 insertion(+), 1 deletion(-) New commits: commit 01707d3b3a27bc0d6c482f05a669f8ef11be74b1 Author: Caolán McNamara AuthorDate: Tue Feb 27 16:54:19 2024 + Commit: Caolán McNamara CommitDate: Tue Feb 27 21:39:24 2024 +0100 ofz#67046 fix build failure Change-Id: I8f48bf930f20d19a8b20e7e3ae825923bc014c31 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/164052 Tested-by: Caolán McNamara Reviewed-by: Caolán McNamara diff --git a/solenv/bin/native-code.py b/solenv/bin/native-code.py index 915218b865da..f4a910172984 100755 --- a/solenv/bin/native-code.py +++ b/solenv/bin/native-code.py @@ -118,7 +118,7 @@ core_constructor_list = [ "com_sun_star_comp_rendering_MtfRenderer_get_implementation", # cui/util/cui.component ("com_sun_star_cui_ColorPicker_get_implementation", "#if !ENABLE_FUZZERS"), -"com_sun_star_cui_GetCreateDialogFactoryService", +("com_sun_star_cui_GetCreateDialogFactoryService", "#if !ENABLE_FUZZERS"), # dbaccess/util/dba.component "com_sun_star_comp_dba_DataAccessDescriptorFactory", "com_sun_star_comp_dba_OCommandDefinition",
core.git: Branch 'distro/collabora/co-23.05' - sc/source
sc/source/ui/app/inputhdl.cxx |4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) New commits: commit 73d3ee33f80c8e46a7002ec538eef23a69842135 Author: Gülşah Köse AuthorDate: Tue Feb 27 13:07:18 2024 +0300 Commit: Gülşah Köse CommitDate: Tue Feb 27 21:35:22 2024 +0100 Online: Prevent hiding tooltips due to other users action. Other user's actions like reloading reopening or refreshing document causes hiding other user function tooltips. Signed-off-by: Gülşah Köse Change-Id: I0aeb0aeb98182398e4740c71cfd65c4df2c51ba6 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/163979 Reviewed-by: Szymon Kłos Tested-by: Jenkins CollaboraOffice diff --git a/sc/source/ui/app/inputhdl.cxx b/sc/source/ui/app/inputhdl.cxx index aede676ebdde..c03d36aab311 100644 --- a/sc/source/ui/app/inputhdl.cxx +++ b/sc/source/ui/app/inputhdl.cxx @@ -4451,7 +4451,9 @@ void ScInputHandler::NotifyChange( const ScInputHdlState* pState, pDelayTimer->Start(); } -HideTip(); +// Don't hide function tooltip in LOK, a remote user might be using tip. +if (bStopEditing) +HideTip(); HideTipBelow(); bInOwnChange = false; }
core.git: sc/inc
sc/inc/column.hxx |4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) New commits: commit fd948fd27356e703fffc7e46df0f0e3a22f57967 Author: Caolán McNamara AuthorDate: Tue Feb 27 12:42:45 2024 + Commit: Caolán McNamara CommitDate: Tue Feb 27 20:48:51 2024 +0100 save a few bytes per column Change-Id: Ia0f6dfdf671703476b9b068d1dbe9076689d0690 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/164032 Tested-by: Jenkins Reviewed-by: Caolán McNamara diff --git a/sc/inc/column.hxx b/sc/inc/column.hxx index 7b07f310b23e..306d7d28de3f 100644 --- a/sc/inc/column.hxx +++ b/sc/inc/column.hxx @@ -206,8 +206,8 @@ class ScColumn : protected ScColumnData // Sparklines sc::SparklineStoreType maSparklines; -std::size_t mnBlkCountFormula; -std::size_t mnBlkCountCellNotes; +sal_uInt32 mnBlkCountFormula; +sal_uInt32 mnBlkCountCellNotes; SCCOL nCol; SCTAB nTab;
core.git: oox/source
oox/source/drawingml/fillproperties.cxx |4 1 file changed, 4 insertions(+) New commits: commit 5920bc2d1a624021a6f3eb42a56ce9b96b53a39f Author: Justin Luth AuthorDate: Tue Feb 27 08:23:44 2024 -0500 Commit: Justin Luth CommitDate: Tue Feb 27 19:50:57 2024 +0100 address shortcoming: document why I avoided axials for transparency Hmm, I like to complain when other people don't comment on why certain situations are excluded, and yet I did the same thing here. Thanks vmiklos for pointing that out. Change-Id: I4c5ddeaeee078f036fc31149fc29bc6acb277ab3 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/164040 Tested-by: Jenkins Reviewed-by: Justin Luth diff --git a/oox/source/drawingml/fillproperties.cxx b/oox/source/drawingml/fillproperties.cxx index f24208722cb5..596e18f2176e 100644 --- a/oox/source/drawingml/fillproperties.cxx +++ b/oox/source/drawingml/fillproperties.cxx @@ -543,6 +543,10 @@ void FillProperties::pushToPropMap(ShapePropertyMap& rPropMap, const GraphicHelp // convert DrawingML angle (in 1/6 degrees) to API angle (in 1/10 degrees) aGradient.SetAngle(Degree10(static_cast< sal_Int16 >( (8100 - (nDmlAngle / (PER_DEGREE / 10))) % 3600 ))); + +// If this is symmetrical, set it as an axial gradient for better UI/export. +// There were chart2 unit test failures when doing this to transparent gradients +// so just avoid that case. if (!bContainsTransparency) aGradient.tryToConvertToAxial(); }
core.git: sw/uiconfig
sw/uiconfig/swriter/ui/navigatorpanel.ui | 19 +++ 1 file changed, 19 insertions(+) New commits: commit d31c0fd5ed9fe563386cf317b366a0e739302dd2 Author: Michael Weghorn AuthorDate: Tue Feb 27 13:42:01 2024 +0100 Commit: Michael Weghorn CommitDate: Tue Feb 27 19:35:02 2024 +0100 tdf#159910 sw a11y: Set a11y names for Navigator items Set accessible names for the items (mostly toolbar items) in the Navigator. This makes the Orca screen reader with the gtk3 VCL plugin announce these as expected when they receive focus. For now, take over the existing tooltip text for the accessible name. This can be further tweaked if necessary. With the previous commit Change-Id: I45b87839dda90083ceba1c43fdb4d4ec460fce3d Author: Michael Weghorn Date: Tue Feb 27 13:12:43 2024 +0100 tdf#159910 a11y VclBuilder: Apply tool item's a11y name to itself , these a11y names are now also used for the VCL implementation (s. `VCLXAccessibleToolBoxItem::implGetAccessibleName`). The accessible name there remains the same for now, as the previous fallback was the tooltip name, which at least currently still has the same text. It seems reasonable to align the gtk3 and VCL implementation more with each other and support the default mechanism of explicitly setting an accessible name on the corresponding widget in the .ui file. Change-Id: I852503e849651bb7be4daa419ec2379568623f0f Reviewed-on: https://gerrit.libreoffice.org/c/core/+/164035 Tested-by: Jenkins Reviewed-by: Michael Weghorn diff --git a/sw/uiconfig/swriter/ui/navigatorpanel.ui b/sw/uiconfig/swriter/ui/navigatorpanel.ui index e7c3020cdbdf..18599af36c90 100644 --- a/sw/uiconfig/swriter/ui/navigatorpanel.ui +++ b/sw/uiconfig/swriter/ui/navigatorpanel.ui @@ -234,6 +234,7 @@ sw/res/sc20244.png +Toggle Master View Switches between master view and normal view if a master document is open. @@ -347,6 +348,7 @@ True +Go to page Enter a page that you want to go to and press enter or use the buttons to move to the previous or next page. @@ -384,6 +386,7 @@ sw/res/sc20234.png +Content Navigation View Switches between the display of all categories in the Navigator and the selected category. @@ -411,6 +414,7 @@ sw/res/sc20179.png +Header Moves the cursor to the header, or from the header to the document text area. @@ -428,6 +432,7 @@ sw/res/sc20177.png +Footer Moves the cursor to the footer, or from the footer to the document text area. @@ -445,6 +450,7 @@ sw/res/sc20182.png +Anchor<->Text Jumps between the footnote text and the footnote anchor. @@ -462,6 +468,7 @@ sw/res/sc20183.png +Set Reminder Click here to set a reminder at the current cursor position. You can define up to five reminders. To jump to a reminder, click the Navigation icon, in the Navigation window click the Reminder icon, and then click the Previous or Next button. @@ -489,6 +496,7 @@ sw/res/sc20236.png +Show Up to Outline Level Use this option to control what headings in the document structure are displayed in the Navigator window. Click the icon, and choose an outline level number. Any heading with an outline number less than or equal to the selected number will be displayed. @@ -518,6 +526,7 @@ sw/res/sc20233.p
core.git: 2 commits - accessibility/source include/vcl vcl/inc vcl/source
accessibility/source/standard/vclxaccessibletoolboxitem.cxx |6 ++ include/vcl/builder.hxx | 12 +++-- include/vcl/toolbox.hxx |4 + vcl/inc/toolbox.h |1 vcl/source/window/builder.cxx | 25 vcl/source/window/toolbox2.cxx | 17 6 files changed, 53 insertions(+), 12 deletions(-) New commits: commit ad1167b92b8b8fdabf6b21e945682c0bafc80946 Author: Michael Weghorn AuthorDate: Tue Feb 27 13:12:43 2024 +0100 Commit: Michael Weghorn CommitDate: Tue Feb 27 19:34:55 2024 +0100 tdf#159910 a11y VclBuilder: Apply tool item's a11y name to itself For the VCL `ToolBox` implementation of a toolbar, the items are not represented by own widgets (`vcl::Window`s), but handled by the `ToolBox`. As a consequence, the `vcl::Window` passed to `VclBuilder::applyAtkProperties` cannot be the tool item itself (e.g. a `GtkToolButton` in the .ui file), but is the `ToolBox`, i.e. the (VCL builder implementation of the `GtkToolbar` parent widget in the .ui file). So far, the ATK properties set for the tool item were just applied to the parent instead. For example, with the upcoming Change-Id: I852503e849651bb7be4daa419ec2379568623f0f Author: Michael Weghorn Date: Tue Feb 27 11:51:55 2024 +0100 tdf#159910 sw a11y: Set a11y names for Navigator items , this would result in the toolbars getting the name of their last item (one of the toolbars in the Navigator would get the a11y name "Show Up to Outline Level") and the toolbar items would only have an a11y name set because they still fall back to the tooltip text for the a11y name. Adjust that to set the accessible name for the actual toolbar item when a toolbar item is processed. (Add a bool param to indicate that). See also `VclBuilder::applyPackingProperty` which already had a similar way to determine and handle that case. With this in place, the accessible name set in the .ui file is now applied to the toolbar item as expected. (The accessible description could be handled similarly, but I'm a bit more hesitant to add that right away because the accessible description is currently also used for the extended tooltip text and the NVDA screen reader on Windows announces the description in addition to the name by default.) Change-Id: I45b87839dda90083ceba1c43fdb4d4ec460fce3d Reviewed-on: https://gerrit.libreoffice.org/c/core/+/164034 Tested-by: Jenkins Reviewed-by: Michael Weghorn diff --git a/include/vcl/builder.hxx b/include/vcl/builder.hxx index 37fbfbe97e16..59202ba34062 100644 --- a/include/vcl/builder.hxx +++ b/include/vcl/builder.hxx @@ -353,9 +353,12 @@ private: voidextractMnemonicWidget(const OUString &id, stringmap &rMap); // either pParent or pAtkProps must be set, pParent for a child of a widget, pAtkProps for -// collecting the atk info for a GtkMenuItem -voidhandleChild(vcl::Window *pParent, stringmap *pAtkProps, xmlreader::XmlReader &reader); -VclPtr handleObject(vcl::Window *pParent, stringmap *pAtkProps, xmlreader::XmlReader &reader); +// collecting the atk info for a GtkMenuItem, +// if bToolbarItem=true, pParent is the ToolBox that the item belongs to, since there's no widget for the item itself +voidhandleChild(vcl::Window *pParent, stringmap *pAtkProps, xmlreader::XmlReader &reader, bool bToolbarItem = false); +// if bToolbarItem=true, pParent is the ToolBox that the item belongs to, since there's no widget for the item itself +VclPtr handleObject(vcl::Window *pParent, stringmap *pAtkProps, xmlreader::XmlReader &reader, bool bToolbarItem); + voidhandlePacking(vcl::Window *pCurrent, vcl::Window *pParent, xmlreader::XmlReader &reader); static std::vector handleStyle(xmlreader::XmlReader &reader, int &nPriority); static OUString getStyleClass(xmlreader::XmlReader &reader); @@ -385,7 +388,8 @@ private: stringmap handleAtkObject(xmlreader::XmlReader &reader) const; -static void applyAtkProperties(vcl::Window *pWindow, const stringmap& rProperties); +// if bToolbarItem=true, pParent is the ToolBox that the item belongs to, since there's no widget for the item itself +void applyAtkProperties(vcl::Window *pWindow, const stringmap& rProperties, bool bToolbarItem); voidhandleActionWidget(xmlreader::XmlReader &reader); diff --git a/vcl/source/window/builder.cxx b/vcl/source/window/builder.cxx index 0fcf7d6b65fd..7c77fad75a53 100644 --- a/vcl/source/window/builder.cxx +++ b/vcl/source/window/builder.cxx @@ -2796,7 +2796,7 @@ void VclBuilder::tweakInsertedChild(vcl::Window *pParent, vcl::
core.git: Branch 'libreoffice-7-6' - canvas/source
canvas/source/cairo/cairo_canvashelper.cxx |2 +- 1 file changed, 1 insertion(+), 1 deletion(-) New commits: commit a2c0ab909195c803401cc710985f19723680e0eb Author: Sarper Akdemir AuthorDate: Mon Jan 15 07:01:01 2024 +0300 Commit: Xisco Fauli CommitDate: Tue Feb 27 19:31:44 2024 +0100 tdf#156830: fix faulty transformation order in cairo canvas for patterns Change-Id: Ib58e845c23dd14bbc3b96e5549a722b650d593a6 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/162069 Tested-by: Jenkins Reviewed-by: Sarper Akdemir (cherry picked from commit 84055d875ead6d7862cd8ddc5697a280240411fe) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/162008 Reviewed-by: Thorsten Behrens (cherry picked from commit 3add4092d29b9b03c00dfa24caa917a3fc84540b) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/163972 Tested-by: Xisco Fauli Reviewed-by: Xisco Fauli diff --git a/canvas/source/cairo/cairo_canvashelper.cxx b/canvas/source/cairo/cairo_canvashelper.cxx index 14113e89361f..2bfca55f317c 100644 --- a/canvas/source/cairo/cairo_canvashelper.cxx +++ b/canvas/source/cairo/cairo_canvashelper.cxx @@ -488,7 +488,7 @@ constexpr OUStringLiteral PARAMETRICPOLYPOLYGON_IMPLEMENTATION_NAME = u"Canvas:: geometry::IntegerSize2D aSize = aTexture.Bitmap->getSize(); cairo_matrix_init_scale( &aScaleMatrix, 1.0/aSize.Width, 1.0/aSize.Height ); -cairo_matrix_multiply( &aScaledTextureMatrix, &aTextureMatrix, &aScaleMatrix ); +cairo_matrix_multiply( &aScaledTextureMatrix, &aScaleMatrix, &aTextureMatrix ); cairo_matrix_invert( &aScaledTextureMatrix ); // we don't care about repeat mode yet, so the workaround is disabled for now
core.git: Branch 'libreoffice-7-6' - framework/qa
framework/qa/cppunit/dispatchtest.cxx |3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) New commits: commit 0d341dc692ca4529c012813cae3738aef6128670 Author: Caolán McNamara AuthorDate: Tue Oct 10 21:23:43 2023 +0100 Commit: Xisco Fauli CommitDate: Tue Feb 27 19:31:15 2024 +0100 make CppunitTest_framework_dispatch reliable the appearance of 2 interceptions is reproducible for me on linux with make CppunitTest_framework_dispatch VALGRIND=memcheck 1st time #1 (anonymous namespace)::MyInterceptor::queryDispatch(com::sun::star::util::URL const&, rtl::OUString const&, int) at core/framework/qa/cppunit/dispatchtest.cxx:139 #2 non-virtual thunk to (anonymous namespace)::MyInterceptor::queryDispatch(com::sun::star::util::URL const&, rtl::OUString const&, int) at core/framework/qa/cppunit/dispatchtest.cxx:0 #3 framework::InterceptionHelper::queryDispatch(com::sun::star::util::URL const&, rtl::OUString const&, int) at core/framework/source/dispatch/interceptionhelper.cxx:87 #4 non-virtual thunk to framework::InterceptionHelper::queryDispatch(com::sun::star::util::URL const&, rtl::OUString const&, int) at core/framework/source/dispatch/interceptionhelper.cxx:0 #5 (anonymous namespace)::XFrameImpl::queryDispatch(com::sun::star::util::URL const&, rtl::OUString const&, int) at core/framework/source/services/frame.cxx:2329 #6 non-virtual thunk to (anonymous namespace)::XFrameImpl::queryDispatch(com::sun::star::util::URL const&, rtl::OUString const&, int) at core/framework/source/services/frame.cxx:0 #7 framework::DispatchHelper::executeDispatch(com::sun::star::uno::Reference const&, rtl::OUString const&, rtl::OUString const&, int, com::sun::star::uno::Sequence const&) at core/framework/source/services/dispatchhelper.cxx:110 #8 non-virtual thunk to framework::DispatchHelper::executeDispatch(com::sun::star::uno::Reference const&, rtl::OUString const&, rtl::OUString const&, int, com::sun::star::uno::Sequence const&) at core/framework/source/services/dispatchhelper.cxx:0 #9 unotest::MacrosTest::dispatchCommand(com::sun::star::uno::Reference const&, rtl::OUString const&, com::sun::star::uno::Sequence const&) at core/unotest/source/cpp/macros_test.cxx:94 #10 (anonymous namespace)::testInterception::TestBody() at core/framework/qa/cppunit/dispatchtest.cxx:172 2nd time #1 (anonymous namespace)::MyInterceptor::queryDispatch(com::sun::star::util::URL const&, rtl::OUString const&, int) at core/framework/qa/cppunit/dispatchtest.cxx:139 #2 non-virtual thunk to (anonymous namespace)::MyInterceptor::queryDispatch(com::sun::star::util::URL const&, rtl::OUString const&, int) at core/framework/qa/cppunit/dispatchtest.cxx:0 #3 framework::InterceptionHelper::queryDispatch(com::sun::star::util::URL const&, rtl::OUString const&, int) at core/framework/source/dispatch/interceptionhelper.cxx:87 #4 non-virtual thunk to framework::InterceptionHelper::queryDispatch(com::sun::star::util::URL const&, rtl::OUString const&, int) at core/framework/source/dispatch/interceptionhelper.cxx:0 #5 (anonymous namespace)::XFrameImpl::queryDispatch(com::sun::star::util::URL const&, rtl::OUString const&, int) at core/framework/source/services/frame.cxx:2329 #6 non-virtual thunk to (anonymous namespace)::XFrameImpl::queryDispatch(com::sun::star::util::URL const&, rtl::OUString const&, int) at core/framework/source/services/frame.cxx:0 #7 SfxStateCache::GetSlotServer(SfxDispatcher&, com::sun::star::uno::Reference const&) at core/sfx2/source/control/statcach.cxx:263 #8 SfxBindings::UpdateSlotServer_Impl() at core/sfx2/source/control/bindings.cxx:1083 #9 SfxBindings::NextJob_Impl(Timer const*) at core/sfx2/source/control/bindings.cxx:1254 #10 SfxBindings::NextJob(Timer*) at core/sfx2/source/control/bindings.cxx:1222 #11 SfxBindings::LinkStubNextJob(void*, Timer*) at core/sfx2/source/control/bindings.cxx:1219 #12 Link::Call(Timer*) const at core/include/tools/link.hxx:111 #13 Timer::Invoke() at core/vcl/source/app/timer.cxx:76 #14 Scheduler::CallbackTaskScheduling() at core/vcl/source/app/scheduler.cxx:480 #15 SalTimer::CallCallback() at core/vcl/inc/saltimer.hxx:55 #16 SvpSalInstance::CheckTimeout(bool) at core/vcl/headless/svpinst.cxx:161 #17 SvpSalInstance::ImplYield(bool, bool) at core/vcl/headless/svpinst.cxx:399 #18 SvpSalInstance::DoYield(bool, bool) at core/vcl/headless/svpinst.cxx:471 #19 ImplYield(bool, bool) at core/vcl/source/app/svapp.cxx:377 #20 Scheduler::ProcessEventsToIdle() at core/vcl/source/app/svapp.cxx:407 #21 unotest::MacrosTest::dispatchCommand(com::sun::star::uno::Reference const&, rtl::OUString const&, com::sun::star::uno::Sequence const&) at core/unotest/source/cpp/macros_test.cxx:95 #22 (anonymous namespace)::testInterception::TestBody() at core/framework/qa/cppunit/disp
core.git: configure.ac
configure.ac |2 +- 1 file changed, 1 insertion(+), 1 deletion(-) New commits: commit a403fcd3a0f9e6e57f57b9961f7732d9fd95ab17 Author: Andrea Gelmini AuthorDate: Tue Feb 27 15:52:40 2024 +0100 Commit: Julien Nabet CommitDate: Tue Feb 27 19:12:54 2024 +0100 Fix typo Change-Id: I30bd7ed93eedf241fde23b35ac674d010c9e6575 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/164043 Tested-by: Julien Nabet Reviewed-by: Julien Nabet diff --git a/configure.ac b/configure.ac index 6c6509ad3fd8..ae808e69c5b0 100644 --- a/configure.ac +++ b/configure.ac @@ -6834,7 +6834,7 @@ if test "$_os" = "WINNT"; then IFS='.' read -r SDK_v1 SDK_v2 SDK_v3 SDK_v4 <<< "$WINDOWS_SDK_LIB_SUBDIR" # Assuming maximum of 5 digits for each part and ignoring last part SDK_NORMALIZED_VER=$((SDK_v1 * 100 + SDK_v2 * 10 + SDK_v3)) -# 10.0.20348.0 is the minumum required version +# 10.0.20348.0 is the minimum required version if test "$SDK_NORMALIZED_VER" -lt 10020348; then AC_MSG_ERROR([You need Windows SDK greater than or equal 10.0.20348.0]) fi
core.git: Branch 'distro/cib/libreoffice-6-4' - distro-configs/LibreOfficeLinux.conf
distro-configs/LibreOfficeLinux.conf |1 + 1 file changed, 1 insertion(+) New commits: commit 9a1976f072aa94623a7f2f77796ecd0e075d157a Author: Thorsten Behrens AuthorDate: Tue Feb 27 18:46:54 2024 +0100 Commit: Thorsten Behrens CommitDate: Tue Feb 27 18:46:54 2024 +0100 Revert "tdf#159502 remove --without-system-libxml from LibreOfficeLinux.conf" This reverts commit 678b716506c20566167d19168f33aa94db7407e3. Reason for revert: lets not change baseline/system requirements on an LTS branch. diff --git a/distro-configs/LibreOfficeLinux.conf b/distro-configs/LibreOfficeLinux.conf index 607699b5c610..00a70c75010b 100644 --- a/distro-configs/LibreOfficeLinux.conf +++ b/distro-configs/LibreOfficeLinux.conf @@ -4,6 +4,7 @@ --without-system-poppler --without-system-openssl --without-system-libpng +--without-system-libxml --without-system-jpeg --without-system-jars --without-system-postgresql
core.git: sw/source
sw/source/core/inc/UndoManager.hxx |2 +- 1 file changed, 1 insertion(+), 1 deletion(-) New commits: commit c1b5607264e3bafeb35df80c16664f2bddf33c2b Author: Stephan Bergmann AuthorDate: Tue Feb 27 11:29:52 2024 +0100 Commit: Stephan Bergmann CommitDate: Tue Feb 27 17:42:53 2024 +0100 Fix UBSan build's RTTI needs ...after 3ba92b5f1eaf7d4447a0943ea260db515ca799dc "hide more symbols" had caused CppunitTest_sw_uiwriter to fail with > DynamicLibraryManagerException: "Failed to load dynamic library: workdir/LinkTarget/CppunitTest/libtest_sw_uiwriter.so > workdir/LinkTarget/CppunitTest/libtest_sw_uiwriter.so: undefined symbol: _ZTIN2sw11UndoManagerE" Change-Id: Ia17fd3c9d8f4e227cdd9ca3a5aa6f94f51c46168 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/164028 Tested-by: Jenkins Reviewed-by: Stephan Bergmann diff --git a/sw/source/core/inc/UndoManager.hxx b/sw/source/core/inc/UndoManager.hxx index 5d292ce995b7..0993cdf5c656 100644 --- a/sw/source/core/inc/UndoManager.hxx +++ b/sw/source/core/inc/UndoManager.hxx @@ -38,7 +38,7 @@ namespace sw { * It contains a stack of SwUndo actions, each of which represents one user-visible * undo / redo step. */ -class UndoManager final +class SAL_DLLPUBLIC_RTTI UndoManager final : public IDocumentUndoRedo , public SdrUndoManager {
core.git: sc/source
sc/source/ui/app/inputhdl.cxx |4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) New commits: commit d208c1910b54f5dc711e490e68899ca13121e586 Author: Gülşah Köse AuthorDate: Tue Feb 27 13:07:18 2024 +0300 Commit: Gülşah Köse CommitDate: Tue Feb 27 17:13:34 2024 +0100 Online: Prevent hiding tooltips due to other users action. Other user's actions like reloading reopening or refreshing document causes hiding other user function tooltips. Signed-off-by: Gülşah Köse Change-Id: I0aeb0aeb98182398e4740c71cfd65c4df2c51ba6 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/164027 Tested-by: Jenkins diff --git a/sc/source/ui/app/inputhdl.cxx b/sc/source/ui/app/inputhdl.cxx index e0d9be5bdc97..8ea3f33157a9 100644 --- a/sc/source/ui/app/inputhdl.cxx +++ b/sc/source/ui/app/inputhdl.cxx @@ -4445,7 +4445,9 @@ void ScInputHandler::NotifyChange( const ScInputHdlState* pState, pDelayTimer->Start(); } -HideTip(); +// Don't hide function tooltip in LOK, a remote user might be using tip. +if (bStopEditing) +HideTip(); HideTipBelow(); bInOwnChange = false; }
core.git: sc/source
sc/source/ui/view/tabvwsh4.cxx |4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) New commits: commit d0873e6c0faff565fabd50767a03e709653c039d Author: Szymon Kłos AuthorDate: Mon Feb 26 15:39:30 2024 +0100 Commit: Gülşah Köse CommitDate: Tue Feb 27 17:13:04 2024 +0100 lok: don't hide tooltim on every action Signed-off-by: Szymon Kłos Change-Id: I62f69071a4857f7413a995da1ff9fc6ba2f942d2 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/163977 Tested-by: Jenkins Reviewed-by: Gülşah Köse diff --git a/sc/source/ui/view/tabvwsh4.cxx b/sc/source/ui/view/tabvwsh4.cxx index da9ce6851087..8236256b25e8 100644 --- a/sc/source/ui/view/tabvwsh4.cxx +++ b/sc/source/ui/view/tabvwsh4.cxx @@ -270,7 +270,9 @@ void ScTabViewShell::Deactivate(bool bMDI) { HideNoteMarker(); // note marker -if ( pHdl ) +// in LOK case this could be trigerred on every action from other view (doc_setView) +// we don't want to hide tooltip only because other view did some action +if ( pHdl && !comphelper::LibreOfficeKit::isActive() ) pHdl->HideTip();// Hide formula auto input tip } }
core.git: sw/qa
sw/qa/extras/htmlexport/htmlexport.cxx | 34 + 1 file changed, 10 insertions(+), 24 deletions(-) New commits: commit d7974d46c8e3d6dc55b3ad11bb6e71e25552cf99 Author: Mike Kaganski AuthorDate: Tue Feb 27 16:36:16 2024 +0600 Commit: Mike Kaganski CommitDate: Tue Feb 27 15:43:28 2024 +0100 Simplify a bit Change-Id: Ib13dab2b57a5ca0d477783887c637d4cabbebcf7 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/164029 Tested-by: Jenkins Reviewed-by: Mike Kaganski diff --git a/sw/qa/extras/htmlexport/htmlexport.cxx b/sw/qa/extras/htmlexport/htmlexport.cxx index 6a2a0f9c1785..fcb60925488c 100644 --- a/sw/qa/extras/htmlexport/htmlexport.cxx +++ b/sw/qa/extras/htmlexport/htmlexport.cxx @@ -302,7 +302,7 @@ CPPUNIT_TEST_FIXTURE(HtmlExportTest, testFdo62336) // The problem was essentially a crash during table export as docx/rtf/html // If calc-layout is enabled, the crash does not occur, that's why loadFromFile/save is used loadFromFile(u"fdo62336.docx"); -save("HTML (StarWriter)"); +save(mpFilter); } CPPUNIT_TEST_FIXTURE(HtmlExportTest, testFdo86857) @@ -681,7 +681,7 @@ CPPUNIT_TEST_FIXTURE(HtmlExportTest, testReqIfOleData) createSwDoc("reqif-ole-data.xhtml"); verify(); setFilterOptions("xhtmlns=reqif-xhtml"); -saveAndReload("HTML (StarWriter)"); +saveAndReload(mpFilter); verify(); } @@ -737,7 +737,7 @@ CPPUNIT_TEST_FIXTURE(HtmlExportTest, testReqIfOleImg) createSwDoc("reqif-ole-img.xhtml"); verify(); setFilterOptions("xhtmlns=reqif-xhtml"); -saveAndReload("HTML (StarWriter)"); +saveAndReload(mpFilter); verify(); } @@ -1127,8 +1127,7 @@ CPPUNIT_TEST_FIXTURE(SwHtmlDomExportTest, testBlockQuoteReqIf) xParagraph->setPropertyValue("ParaStyleName", uno::Any(OUString("Quotations"))); // Export it. -setFilterOptions("xhtmlns=reqif-xhtml"); -save("HTML (StarWriter)"); +ExportToReqif(); xmlDocUniquePtr pDoc = WrapReqifFromTempFile(); // Without the accompanying fix in place, this test would have failed with: @@ -1588,9 +1587,7 @@ CPPUNIT_TEST_FIXTURE(SwHtmlDomExportTest, testPartiallyNumberedListHTML) // When exporting to HTML: ExportToHTML(); -SvMemoryStream aStream; -WrapFromTempFile(aStream); -xmlDocUniquePtr pXmlDoc = parseXmlStream(&aStream); +xmlDocUniquePtr pXmlDoc = parseXml(maTempFile); CPPUNIT_ASSERT(pXmlDoc); // if we have missing closing marks - parse error // Without the accompanying fix in place, this test would have failed: @@ -2089,11 +2086,7 @@ CPPUNIT_TEST_FIXTURE(SwHtmlDomExportTest, testOleEmfPreviewToHtml) createSwDoc("ole2.odt"); // When exporting to HTML: -uno::Reference xStorable(mxComponent, uno::UNO_QUERY); -uno::Sequence aStoreProperties = { -comphelper::makePropertyValue("FilterName", OUString("HTML (StarWriter)")), -}; -xStorable->storeToURL(maTempFile.GetURL(), aStoreProperties); +ExportToHTML(); // Then make sure the tag has matching file extension and data: htmlDocUniquePtr pDoc = parseHtml(maTempFile); @@ -2275,7 +2268,7 @@ CPPUNIT_TEST_FIXTURE(HtmlExportTest, testClearingBreak) createSwWebDoc("clearing-break.html"); // Then make sure that the clear property of the break is not ignored: verify(); -saveAndReload("HTML (StarWriter)"); +saveAndReload(mpFilter); // Make sure that the clear property of the break is not ignored during export: verify(); } @@ -2340,11 +2333,7 @@ CPPUNIT_TEST_FIXTURE(HtmlExportTest, testImageKeepRatio) xBodyText->insertTextContent(xCursor, xTextContent, false); // When exporting to HTML: -uno::Reference xStorable(mxComponent, uno::UNO_QUERY); -uno::Sequence aStoreProperties = { -comphelper::makePropertyValue("FilterName", OUString("HTML (StarWriter)")), -}; -xStorable->storeToURL(maTempFile.GetURL(), aStoreProperties); +save(mpFilter); // Then make sure that the width is not a fixed size, that would break on resizing the browser // window: @@ -2417,10 +2406,7 @@ CPPUNIT_TEST_FIXTURE(HtmlExportTest, testTdf114769) xRun->setPropertyValue("HyperLinkURL", uno::Any(OUString(".\another.odt"))); // Export -uno::Reference xStorable(mxComponent, uno::UNO_QUERY); -uno::Sequence aStoreProperties -= { comphelper::makePropertyValue("FilterName", OUString("HTML (StarWriter)")) }; -xStorable->storeToURL(maTempFile.GetURL(), aStoreProperties); +save(mpFilter); htmlDocUniquePtr pHtmlDoc = parseHtml(maTempFile); CPPUNIT_ASSERT(pHtmlDoc); @@ -2440,7 +2426,7 @@ CPPUNIT_TEST_FIXTURE(HtmlExportTest, testTdf114769) CPPUNIT_TEST_FIXTURE(HtmlExportTest, testTdf153923) { createSwDoc("TableWithIndent.fodt"); -save("HTML (StarWriter)"); +save(mpFilter); // Parse it as XML (strict!) xmlDocUniquePtr pDoc = parseXml(maTempFile);
core.git: sw/uiconfig
sw/uiconfig/swriter/ui/navigatorpanel.ui |4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) New commits: commit f34292a105fd1660fbef5f6811ea37ffdfff6c50 Author: Jim Raykowski AuthorDate: Mon Feb 26 22:54:02 2024 -0900 Commit: Jim Raykowski CommitDate: Tue Feb 27 15:04:40 2024 +0100 tdf#141728 follow up: don't expand spin control when sidebar is resized Change-Id: I9b231fd67f089e6fcd02329e255e22152e3ed3f3 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/164003 Tested-by: Jenkins Reviewed-by: Vernon, Stuart Foote Reviewed-by: Jim Raykowski diff --git a/sw/uiconfig/swriter/ui/navigatorpanel.ui b/sw/uiconfig/swriter/ui/navigatorpanel.ui index 829b082623ef..e7c3020cdbdf 100644 --- a/sw/uiconfig/swriter/ui/navigatorpanel.ui +++ b/sw/uiconfig/swriter/ui/navigatorpanel.ui @@ -329,14 +329,12 @@ True -False -True +True icons True False -True True
core.git: Branch 'libreoffice-7-6' - sw/inc sw/source
sw/inc/pagedesc.hxx|6 +-- sw/source/core/doc/docfmt.cxx | 12 +++--- sw/source/core/layout/pagedesc.cxx | 74 ++--- 3 files changed, 46 insertions(+), 46 deletions(-) New commits: commit 737f8ce51d47e030b4cd6d955ef24cfb71c185c2 Author: Michael Stahl AuthorDate: Fri Feb 23 17:18:04 2024 +0100 Commit: Xisco Fauli CommitDate: Tue Feb 27 14:43:54 2024 +0100 tdf#147731 sw: fix memory leak in SwDoc::CopyPageDesc() Commit 963de9feb37105560fde14b44d992e47f341bb5b "sw: fix issue with copying stashed frame format" fixed the actual bug here, but introduced a new memory leak. This causes an assert in CppunitTest_uiwriter3: cppunittester: svl/source/items/itempool.cxx:779: void SfxItemPool::Remove(const SfxPoolItem&): Assertion `rItem.GetRefCount() && "RefCount == 0, Remove impossible"' failed. The assert happens only when this is backported to the libreoffice-7-6 branch, because commit ab7c81f55621d7b0d1468c63305163016dd78837 "ITEM: Get away from classic 'poolable' Item flag" removed the assert. The problem is that a SwFormatFrameSize inside a footer SwFrameFormat is leaked 4 times, because 4 SwFrameFormats are leaked; the leak is that SwDoc::CopyPageDesc() creates a new pNewFormat, passed it to StashFrameFormat(), which copies it but doesn't free it. There is also a usage of std::shared_ptr here that is very questionable; SwFrameFormat should never be shared between different SwPageDesc. (regression from commit b802ab694a8a7357d4657f3e11b571144fa7c7bf) Change-Id: I44133bc5e6789a51ce064f1aa5ea8b325224365b Reviewed-on: https://gerrit.libreoffice.org/c/core/+/163854 Tested-by: Jenkins Reviewed-by: Tomaž Vajngerl (cherry picked from commit 5c4ae1b19c51dcd62dad8e1d3e8beb87a0311352) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/163846 Reviewed-by: Xisco Fauli Signed-off-by: Xisco Fauli Reviewed-on: https://gerrit.libreoffice.org/c/core/+/164012 diff --git a/sw/inc/pagedesc.hxx b/sw/inc/pagedesc.hxx index 11bb347aa1fb..ddc7e659a5bb 100644 --- a/sw/inc/pagedesc.hxx +++ b/sw/inc/pagedesc.hxx @@ -151,9 +151,9 @@ class SW_DLLPUBLIC SwPageDesc final struct StashedPageDesc { -std::shared_ptr m_pStashedFirst; -std::shared_ptr m_pStashedLeft; -std::shared_ptr m_pStashedFirstLeft; +std::optional m_oStashedFirst; +std::optional m_oStashedLeft; +std::optional m_oStashedFirstLeft; }; mutable StashedPageDesc m_aStashedHeader; diff --git a/sw/source/core/doc/docfmt.cxx b/sw/source/core/doc/docfmt.cxx index 17eaf5418e61..9145c67ee539 100644 --- a/sw/source/core/doc/docfmt.cxx +++ b/sw/source/core/doc/docfmt.cxx @@ -1556,21 +1556,21 @@ void SwDoc::CopyPageDesc( const SwPageDesc& rSrcDesc, SwPageDesc& rDstDesc, { if (pStashedFormatSrc->GetDoc() != this) { -SwFrameFormat* pNewFormat = new SwFrameFormat(GetAttrPool(), "CopyDesc", GetDfltFrameFormat()); +SwFrameFormat newFormat(GetAttrPool(), "CopyDesc", GetDfltFrameFormat()); SfxItemSet aAttrSet(pStashedFormatSrc->GetAttrSet()); aAttrSet.ClearItem(RES_HEADER); aAttrSet.ClearItem(RES_FOOTER); -pNewFormat->DelDiffs( aAttrSet ); -pNewFormat->SetFormatAttr( aAttrSet ); +newFormat.DelDiffs(aAttrSet); +newFormat.SetFormatAttr(aAttrSet); if (bHeader) -CopyHeader(*pStashedFormatSrc, *pNewFormat); +CopyHeader(*pStashedFormatSrc, newFormat); else -CopyFooter(*pStashedFormatSrc, *pNewFormat); +CopyFooter(*pStashedFormatSrc, newFormat); -rDstDesc.StashFrameFormat(*pNewFormat, bHeader, bLeft, bFirst); +rDstDesc.StashFrameFormat(newFormat, bHeader, bLeft, bFirst); } else { diff --git a/sw/source/core/layout/pagedesc.cxx b/sw/source/core/layout/pagedesc.cxx index 40a7b5865766..5bc08706b80a 100644 --- a/sw/source/core/layout/pagedesc.cxx +++ b/sw/source/core/layout/pagedesc.cxx @@ -83,13 +83,13 @@ SwPageDesc::SwPageDesc( const SwPageDesc &rCpy ) , m_FootnoteInfo( rCpy.GetFootnoteInfo() ) , m_pdList( nullptr ) { -m_aStashedHeader.m_pStashedFirst = rCpy.m_aStashedHeader.m_pStashedFirst; -m_aStashedHeader.m_pStashedLeft = rCpy.m_aStashedHeader.m_pStashedLeft; -m_aStashedHeader.m_pStashedFirstLeft = rCpy.m_aStashedHeader.m_pStashedFirstLeft; +m_aStashedHeader.m_oStashedFirst = rCpy.m_aStashedHeader.m_oStashedFirst; +m_aStashedHeader.m_oS
core.git: Branch 'libreoffice-7-6' - sw/inc sw/qa sw/source
sw/inc/pagedesc.hxx |2 - sw/qa/extras/uiwriter/uiwriter7.cxx | 40 sw/source/core/doc/docfmt.cxx | 33 +++-- sw/source/core/layout/pagedesc.cxx |2 - 4 files changed, 73 insertions(+), 4 deletions(-) New commits: commit 4edcb059e9ccc1a3735ba09382cda0e764f49bac Author: Tomaž Vajngerl AuthorDate: Thu Nov 30 16:42:26 2023 +0900 Commit: Xisco Fauli CommitDate: Tue Feb 27 14:43:37 2024 +0100 sw: fix issue with copying stashed frame format When the PageDesc is copied from one document to another, we don't make sure the stashed FrameFormat(s) are also properly copied to the new document (which can happen at copy/paste). This can cause a crash if the stashed FrameFormats are accessed or destructed after the original document is destroyed. This fixes the issue so that when we detect the PageDesc belong to different documents, the stashed FrameFormats are copied just like the non-stashed FrameFormats (used for headers and footers). Change-Id: I948068dba4d39bb47c3725dfa8491c53c5833c7e Reviewed-on: https://gerrit.libreoffice.org/c/core/+/160065 Tested-by: Jenkins Reviewed-by: Tomaž Vajngerl Signed-off-by: Xisco Fauli Reviewed-on: https://gerrit.libreoffice.org/c/core/+/164011 diff --git a/sw/inc/pagedesc.hxx b/sw/inc/pagedesc.hxx index 382bbb5f00cd..11bb347aa1fb 100644 --- a/sw/inc/pagedesc.hxx +++ b/sw/inc/pagedesc.hxx @@ -223,7 +223,7 @@ public: const SwFrameFormat* GetStashedFrameFormat(bool bHeader, bool bLeft, bool bFirst) const; /// Checks if the pagedescriptor has a stashed format according to the parameters or not. -bool HasStashedFormat(bool bHeader, bool bLeft, bool bFirst); +bool HasStashedFormat(bool bHeader, bool bLeft, bool bFirst) const; /// Gives the feature of removing the stashed format by hand if it is necessary. void RemoveStashedFormat(bool bHeader, bool bLeft, bool bFirst); diff --git a/sw/qa/extras/uiwriter/uiwriter7.cxx b/sw/qa/extras/uiwriter/uiwriter7.cxx index c3b70c8cad08..6715aa9dde00 100644 --- a/sw/qa/extras/uiwriter/uiwriter7.cxx +++ b/sw/qa/extras/uiwriter/uiwriter7.cxx @@ -417,6 +417,46 @@ CPPUNIT_TEST_FIXTURE(SwUiWriterTest7, testTdf69282) xSourceDoc->dispose(); } +CPPUNIT_TEST_FIXTURE(SwUiWriterTest7, testStashedHeaderFooter) +{ +createSwDoc(); +SwDoc* pSourceDocument = getSwDoc(); +uno::Reference xSourceDocument = mxComponent; +mxComponent.clear(); + +createSwDoc(); +SwDoc* pTargetDocument = getSwDoc(); +uno::Reference xTargetDocument = mxComponent; +mxComponent.clear(); + +// Source +SwPageDesc* pSourcePageDesc = pSourceDocument->MakePageDesc("SourceStyle"); +pSourcePageDesc->ChgFirstShare(false); +CPPUNIT_ASSERT(!pSourcePageDesc->IsFirstShared()); +pSourcePageDesc->StashFrameFormat(pSourcePageDesc->GetFirstMaster(), true, false, true); +pSourceDocument->ChgPageDesc("SourceStyle", *pSourcePageDesc); +CPPUNIT_ASSERT(pSourcePageDesc->HasStashedFormat(true, false, true)); + +// Target +SwPageDesc* pTargetPageDesc = pTargetDocument->MakePageDesc("TargetStyle"); + +// Copy source to target +pTargetDocument->CopyPageDesc(*pSourcePageDesc, *pTargetPageDesc); + +// Check the stashed frame format is copied +CPPUNIT_ASSERT(pTargetPageDesc->HasStashedFormat(true, false, true)); + +// Check document instance +auto pSourceStashedFormat = pSourcePageDesc->GetStashedFrameFormat(true, false, true); +CPPUNIT_ASSERT_EQUAL(true, pSourceStashedFormat->GetDoc() == pSourceDocument); + +auto pTargetStashedFormat = pTargetPageDesc->GetStashedFrameFormat(true, false, true); +CPPUNIT_ASSERT_EQUAL(true, pTargetStashedFormat->GetDoc() == pTargetDocument); + +xSourceDocument->dispose(); +xTargetDocument->dispose(); +} + CPPUNIT_TEST_FIXTURE(SwUiWriterTest7, testTdf69282WithMirror) { createSwDoc(); diff --git a/sw/source/core/doc/docfmt.cxx b/sw/source/core/doc/docfmt.cxx index 9f0de6aa1e06..17eaf5418e61 100644 --- a/sw/source/core/doc/docfmt.cxx +++ b/sw/source/core/doc/docfmt.cxx @@ -1543,14 +1543,43 @@ void SwDoc::CopyPageDesc( const SwPageDesc& rSrcDesc, SwPageDesc& rDstDesc, // Copy the stashed formats as well between the page descriptors... for (bool bFirst : { true, false }) +{ for (bool bLeft : { true, false }) +{ for (bool bHeader : { true, false }) { if (!bLeft && !bFirst) continue; -if (auto pStashedFormat = rSrcDesc.GetStashedFrameFormat(bHeader, bLeft, bFirst)) -rDstDesc.StashFrameFormat(*pStashedFormat, bHeader, bLeft, bFirst); + +// Copy format only if it exists +if (auto pStashedFormatSrc = rSrcDesc.GetStashedFrameFormat(bHeader, bLeft, bFirst)) +{ +
core.git: solenv/gbuild
solenv/gbuild/extensions/pre_MergedLibsList.mk |1 - 1 file changed, 1 deletion(-) New commits: commit 045e551875cbd68ead6371b56ff13b3842648c1a Author: Noel Grandin AuthorDate: Tue Feb 27 11:23:49 2024 +0200 Commit: Noel Grandin CommitDate: Tue Feb 27 14:39:05 2024 +0100 remove hsqldb from mergedlibs regression from commit ae17922b7d0f797129dd5fbd5514d691ac9ebeaa Author: Noel Grandin Date: Wed Feb 14 09:33:05 2024 +0200 add more libs into --enable-mergelibs=more build sberg is seeing This breaks e.g. dbaccess_hsqldb_test with java.lang.UnsatisfiedLinkError: java.lang.UnsatisfiedLinkError: likely because the jar file is trying to load libhsqldb.so instead of libmerged.so Change-Id: I9f42aea6471dbe35b27a584465b333a1d30caf5b Reviewed-on: https://gerrit.libreoffice.org/c/core/+/164022 Tested-by: Jenkins Reviewed-by: Noel Grandin diff --git a/solenv/gbuild/extensions/pre_MergedLibsList.mk b/solenv/gbuild/extensions/pre_MergedLibsList.mk index 45aee4d1a4a9..be34e8d03121 100644 --- a/solenv/gbuild/extensions/pre_MergedLibsList.mk +++ b/solenv/gbuild/extensions/pre_MergedLibsList.mk @@ -144,7 +144,6 @@ gb_MERGE_LIBRARY_LIST += \ ) \ graphicfilter \ hwp \ - $(if $(ENABLE_JAVA),hsqldb) \ log \ $(if $(ENABLE_LWP),lwpft) \ $(if $(filter $(OS),MACOSX), \
core.git: download.lst external/gpgmepp
download.lst|4 +- external/gpgmepp/ExternalPackage_gpgmepp.mk |4 +- external/gpgmepp/Library_gpgmepp.mk |1 external/gpgmepp/Wincompatible-function-pointer-types.patch |4 +- external/gpgmepp/w32-build-fixes.patch.1| 19 ++-- 5 files changed, 23 insertions(+), 9 deletions(-) New commits: commit c9d3e68481e4db0e732b9186b75b582a5b41271b Author: Taichi Haradaguchi <20001...@ymail.ne.jp> AuthorDate: Sun Feb 25 13:42:01 2024 +0100 Commit: Taichi Haradaguchi <20001...@ymail.ne.jp> CommitDate: Tue Feb 27 14:03:51 2024 +0100 GPGME: upgrade to release 1.23.2 Change-Id: I56c419fbbe615ef57b7d8117ccdc32f0daddf95f Reviewed-on: https://gerrit.libreoffice.org/c/core/+/163840 Tested-by: Jenkins Reviewed-by: Taichi Haradaguchi <20001...@ymail.ne.jp> diff --git a/download.lst b/download.lst index 8368b51258dd..f7ba383080b7 100644 --- a/download.lst +++ b/download.lst @@ -282,8 +282,8 @@ GLM_TARBALL := glm-0.9.9.8.zip # three static lines # so that git cherry-pick # will not run into conflicts -GPGME_SHA256SUM := 25a5785a5da356689001440926b94e967d02e13c49eb7743e35ef0cf22e42750 -GPGME_TARBALL := gpgme-1.20.0.tar.bz2 +GPGME_SHA256SUM := 9499e8b1f33cccb6815527a1bc16049d35a6198a6c5fae0185f2bd561bce5224 +GPGME_TARBALL := gpgme-1.23.2.tar.bz2 # three static lines # so that git cherry-pick # will not run into conflicts diff --git a/external/gpgmepp/ExternalPackage_gpgmepp.mk b/external/gpgmepp/ExternalPackage_gpgmepp.mk index ef49c398d215..be32afd6b324 100644 --- a/external/gpgmepp/ExternalPackage_gpgmepp.mk +++ b/external/gpgmepp/ExternalPackage_gpgmepp.mk @@ -15,8 +15,8 @@ ifneq ($(DISABLE_DYNLOADING),TRUE) ifeq ($(OS),LINUX) -$(eval $(call gb_ExternalPackage_add_file,gpgmepp,$(LIBO_LIB_FOLDER)/libgpgmepp.so.6,lang/cpp/src/.libs/libgpgmepp.so.6.17.0)) -$(eval $(call gb_ExternalPackage_add_file,gpgmepp,$(LIBO_LIB_FOLDER)/libgpgme.so.11,src/.libs/libgpgme.so.11.29.0)) +$(eval $(call gb_ExternalPackage_add_file,gpgmepp,$(LIBO_LIB_FOLDER)/libgpgmepp.so.6,lang/cpp/src/.libs/libgpgmepp.so.6.20.1)) +$(eval $(call gb_ExternalPackage_add_file,gpgmepp,$(LIBO_LIB_FOLDER)/libgpgme.so.11,src/.libs/libgpgme.so.11.32.1)) else ifeq ($(OS),MACOSX) diff --git a/external/gpgmepp/Library_gpgmepp.mk b/external/gpgmepp/Library_gpgmepp.mk index ac71cf8b90ec..8191e55d4709 100644 --- a/external/gpgmepp/Library_gpgmepp.mk +++ b/external/gpgmepp/Library_gpgmepp.mk @@ -72,6 +72,7 @@ $(eval $(call gb_Library_add_generated_exception_objects,gpgmepp,\ UnpackedTarball/gpgmepp/lang/cpp/src/keylistresult \ UnpackedTarball/gpgmepp/lang/cpp/src/scdgetinfoassuantransaction \ UnpackedTarball/gpgmepp/lang/cpp/src/signingresult \ + UnpackedTarball/gpgmepp/lang/cpp/src/statusconsumerassuantransaction \ UnpackedTarball/gpgmepp/lang/cpp/src/swdbresult \ UnpackedTarball/gpgmepp/lang/cpp/src/tofuinfo \ UnpackedTarball/gpgmepp/lang/cpp/src/trustitem \ diff --git a/external/gpgmepp/Wincompatible-function-pointer-types.patch b/external/gpgmepp/Wincompatible-function-pointer-types.patch index 050d2e55cfc7..cd4f1117fd06 100755 --- a/external/gpgmepp/Wincompatible-function-pointer-types.patch +++ b/external/gpgmepp/Wincompatible-function-pointer-types.patch @@ -20,8 +20,8 @@ (void)ctx; --- src/gpgme-w32spawn.c +++ src/gpgme-w32spawn.c -@@ -243,7 +243,7 @@ - handle = LoadLibrary ("user32.dll"); +@@ -24,7 +249,7 @@ + handle = LoadLibraryA ("user32.dll"); if (handle) { - func = GetProcAddress (handle, "AllowSetForegroundWindow"); diff --git a/external/gpgmepp/w32-build-fixes.patch.1 b/external/gpgmepp/w32-build-fixes.patch.1 index 4d9428781cc5..250b2022c540 100644 --- a/external/gpgmepp/w32-build-fixes.patch.1 +++ b/external/gpgmepp/w32-build-fixes.patch.1 @@ -24,6 +24,19 @@ diff -ru gpgme.orig/src/dirinfo.c gpgme/src/dirinfo.c /* Constants used internally to select the data. */ enum { +diff -ru gpgme.orig/src/gpgme-w32spawn.c gpgme/src/gpgme-w32spawn.c +--- gpgme.orig/src/gpgme-w32spawn.c2023-10-27 21:27:30.0 +0900 gpgme/src/gpgme-w32spawn.c 2024-02-26 17:32:59.949338645 +0900 +@@ -52,6 +52,9 @@ + #define mystderr stderr + #endif + ++#ifdef _MSC_VER ++#define snwprintf _snwprintf ++#endif + + + static wchar_t * diff -ru gpgme.orig/src/mbox-util.c gpgme/src/mbox-util.c --- gpgme.orig/src/mbox-util.c 2016-11-16 13:22:41.0 +0100 +++ gpgme/src/mbox-util.c 2017-09-30 08:18:29.270567500 +0200 @@ -53,16 +66,16 @@ diff -ru gpgme.orig/src/priv-io.h gpgme/src/priv-io.h diff -ru gpgme.orig/src/util.h gpgme/src/util.h --- gpgme.orig/src/util.h 2017-03-28 11:41:30.0 +0200 +++ gpgme/src/util.h 2017-09-30 08:10:54.194049100 +0200 -@@ -35,6 +35,9 @@ - #ifdef HAVE_UNISTD_H +@@ -36,6 +36,9 @@ # include #endif + #incl
core.git: sw/source
sw/source/filter/inc/msfilter.hxx |2 ++ sw/source/filter/ww8/writerhelper.cxx |7 ++- 2 files changed, 8 insertions(+), 1 deletion(-) New commits: commit 86b75e441cf14846c4e22b6271e9b9225f9e77c6 Author: Caolán McNamara AuthorDate: Tue Feb 27 09:06:27 2024 + Commit: Caolán McNamara CommitDate: Tue Feb 27 13:41:28 2024 +0100 cid#1592377 Uncaught exception Change-Id: I61320896ddeeabed9f21798919bac0e0fecf32e5 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/164015 Tested-by: Jenkins Reviewed-by: Caolán McNamara diff --git a/sw/source/filter/inc/msfilter.hxx b/sw/source/filter/inc/msfilter.hxx index 70ef8d12aa80..39c1c465cb16 100644 --- a/sw/source/filter/inc/msfilter.hxx +++ b/sw/source/filter/inc/msfilter.hxx @@ -303,6 +303,8 @@ namespace sw RedlineStack(RedlineStack const&) = delete; RedlineStack& operator=(RedlineStack const&) = delete; +void ImplDestroy(); + public: explicit RedlineStack(SwDoc &rDoc) : mrDoc(rDoc) {} void MoveAttrsFieldmarkInserted(const SwPosition& rPos); diff --git a/sw/source/filter/ww8/writerhelper.cxx b/sw/source/filter/ww8/writerhelper.cxx index 73cd0eeab8ac..5db0319e2906 100644 --- a/sw/source/filter/ww8/writerhelper.cxx +++ b/sw/source/filter/ww8/writerhelper.cxx @@ -831,12 +831,17 @@ namespace sw return (pOne->m_aStamp < pTwo->m_aStamp); } -RedlineStack::~RedlineStack() +void RedlineStack::ImplDestroy() { std::stable_sort(maStack.begin(), maStack.end(), CompareRedlines()); std::for_each(maStack.begin(), maStack.end(), SetInDocAndDelete(mrDoc)); } +RedlineStack::~RedlineStack() +{ +suppress_fun_call_w_exception(ImplDestroy()); +} + sal_uInt16 WrtRedlineAuthor::AddName( const OUString& rNm ) { sal_uInt16 nRet;
core.git: Branch 'libreoffice-24-2' - basic/source
basic/source/comp/loops.cxx |5 + 1 file changed, 5 insertions(+) New commits: commit dfbe587e1ef565225ceb4a66c23c76ae0e3a8329 Author: Mike Kaganski AuthorDate: Tue Feb 27 13:44:37 2024 +0600 Commit: Xisco Fauli CommitDate: Tue Feb 27 13:38:23 2024 +0100 tdf#159908: return early to avoid nullptr dereference When aLvalue is not a variable, its GetRealVar() returns nullptr. That was dereferenced unconditionally later in the check of the variable after NEXT. Change-Id: Ia46f23a7e720431bf62ace998848b684aa8449e8 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/164002 Tested-by: Jenkins Reviewed-by: Mike Kaganski (cherry picked from commit 8bbfbe92c01bff38ed2241da56560b84f7954beb) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/163975 Reviewed-by: Michael Stahl diff --git a/basic/source/comp/loops.cxx b/basic/source/comp/loops.cxx index 07aac44943a6..f903f650a2bf 100644 --- a/basic/source/comp/loops.cxx +++ b/basic/source/comp/loops.cxx @@ -210,6 +210,11 @@ void SbiParser::For() if( bForEach ) Next(); SbiExpression aLvalue( this, SbOPERAND ); +if (!aLvalue.IsVariable()) +{ +bAbort = true; +return; // the error is alredy set in SbiExpression ctor +} aLvalue.Gen(); // variable on the Stack if( bForEach )
core.git: Branch 'feature/cib_contract49' - sd/source
sd/source/ui/view/drvwshrg.cxx |1 - 1 file changed, 1 deletion(-) New commits: commit c56c426a369cd94ccf0de68d5036c666dc1a2e95 Author: Sarper Akdemir AuthorDate: Thu Feb 22 17:45:54 2024 +0300 Commit: Thorsten Behrens CommitDate: Tue Feb 27 13:35:02 2024 +0100 related tdf#33603: do not register NotesChildWindow for Draw Draw doesn't need the notes panel introduced in c4c1ca58bb587a56a30c7f4817c346054ce37f2a, so don't register that for it's shell (GraphicViewShell). Change-Id: I062a54e806058f352721b89d7c10cece8612 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/163775 Tested-by: Jenkins Reviewed-by: Thorsten Behrens diff --git a/sd/source/ui/view/drvwshrg.cxx b/sd/source/ui/view/drvwshrg.cxx index 9871db2e2de7..2b1c3459a9fd 100644 --- a/sd/source/ui/view/drvwshrg.cxx +++ b/sd/source/ui/view/drvwshrg.cxx @@ -105,7 +105,6 @@ void GraphicViewShell::InitInterface_Impl() GetStaticInterface()->RegisterChildWindow( sfx2::sidebar::SidebarChildWindow::GetChildWindowId()); GetStaticInterface()->RegisterChildWindow(DevelopmentToolChildWindow::GetChildWindowId()); - GetStaticInterface()->RegisterChildWindow(::sd::NotesChildWindow::GetChildWindowId()); } } // end of namespace sd
core.git: sd/source
sd/source/ui/view/drvwshrg.cxx |1 - 1 file changed, 1 deletion(-) New commits: commit 75da0c3c576253c61092e762ead974c3600b15b4 Author: Sarper Akdemir AuthorDate: Thu Feb 22 17:45:54 2024 +0300 Commit: Thorsten Behrens CommitDate: Tue Feb 27 13:34:26 2024 +0100 related tdf#33603: do not register NotesChildWindow for Draw Draw doesn't need the notes panel introduced in c4c1ca58bb587a56a30c7f4817c346054ce37f2a, so don't register that for it's shell (GraphicViewShell). Change-Id: I062a54e806058f352721b89d7c10cece8612 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/163775 Tested-by: Jenkins Reviewed-by: Thorsten Behrens diff --git a/sd/source/ui/view/drvwshrg.cxx b/sd/source/ui/view/drvwshrg.cxx index 9871db2e2de7..2b1c3459a9fd 100644 --- a/sd/source/ui/view/drvwshrg.cxx +++ b/sd/source/ui/view/drvwshrg.cxx @@ -105,7 +105,6 @@ void GraphicViewShell::InitInterface_Impl() GetStaticInterface()->RegisterChildWindow( sfx2::sidebar::SidebarChildWindow::GetChildWindowId()); GetStaticInterface()->RegisterChildWindow(DevelopmentToolChildWindow::GetChildWindowId()); - GetStaticInterface()->RegisterChildWindow(::sd::NotesChildWindow::GetChildWindowId()); } } // end of namespace sd
core.git: oox/source
oox/source/export/chartexport.cxx |1 - 1 file changed, 1 deletion(-) New commits: commit 137247a4ef563547a591bf3af845cbaf21a1800d Author: Caolán McNamara AuthorDate: Tue Feb 27 09:04:05 2024 + Commit: Caolán McNamara CommitDate: Tue Feb 27 13:21:46 2024 +0100 cid#1592378 Logically dead code Change-Id: I4cab1e22f61113dd84b9ce77c639be5572ff9c77 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/164014 Tested-by: Jenkins Reviewed-by: Caolán McNamara diff --git a/oox/source/export/chartexport.cxx b/oox/source/export/chartexport.cxx index 58114eb2820e..f9c4c12d066d 100644 --- a/oox/source/export/chartexport.cxx +++ b/oox/source/export/chartexport.cxx @@ -1720,7 +1720,6 @@ void ChartExport::exportPlotArea(const Reference< css::chart::XChartDocument >& case chart2::PieChartSubType_BAR: sSubType = "bar"; break; -case chart2::PieChartSubType_NONE: default: assert(false); }
core.git: sc/source
sc/source/core/tool/interpr1.cxx |3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) New commits: commit fbc6d6f9fc4e37d87e626e250ba317517a5f6b51 Author: Caolán McNamara AuthorDate: Tue Feb 27 09:00:00 2024 + Commit: Caolán McNamara CommitDate: Tue Feb 27 13:13:56 2024 +0100 cid#1592379 Logically dead code Change-Id: I99de3457d0775da860ca8b1727a3ed120a2b28ca Reviewed-on: https://gerrit.libreoffice.org/c/core/+/164013 Tested-by: Jenkins Reviewed-by: Caolán McNamara diff --git a/sc/source/core/tool/interpr1.cxx b/sc/source/core/tool/interpr1.cxx index 5b04dca96b4e..7604d4be9d82 100644 --- a/sc/source/core/tool/interpr1.cxx +++ b/sc/source/core/tool/interpr1.cxx @@ -7717,8 +7717,7 @@ void ScInterpreter::CalculateLookup(bool bHLookup) else { ScAddress aResultPos( nCol1, nRow1, nTab1); -bFound = LookupQueryWithCache( aResultPos, aParam, refData, 0, - ( bHLookup ? SC_OPCODE_H_LOOKUP : SC_OPCODE_V_LOOKUP ) ); +bFound = LookupQueryWithCache( aResultPos, aParam, refData, 0, SC_OPCODE_V_LOOKUP ); nRow = aResultPos.Row(); nCol = nSpIndex; }
core.git: Branch 'distro/cib/libreoffice-6-4' - configure.ac
configure.ac |2 +- 1 file changed, 1 insertion(+), 1 deletion(-) New commits: commit 59e26006a80c516026cf66222a6aa836621bd404 Author: Thorsten Behrens AuthorDate: Tue Feb 27 13:08:34 2024 +0100 Commit: Thorsten Behrens CommitDate: Tue Feb 27 13:08:34 2024 +0100 Bump version to 6.4.0.24 Change-Id: I59cdcb3965724cddb0ad514a467584eb57901d3a diff --git a/configure.ac b/configure.ac index 986c39310e22..6121d25e6b41 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([CIB Office],[6.4.0.23],[],[],[https://www.cib.de/office/]) +AC_INIT([CIB Office],[6.4.0.24],[],[],[https://www.cib.de/office/]) 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
core.git: chart2/source
chart2/source/controller/main/ChartController.cxx |6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) New commits: commit edc45294fda1bb37cceb9bcf6355b4760e7ff712 Author: Caolán McNamara AuthorDate: Tue Feb 27 08:56:53 2024 + Commit: Caolán McNamara CommitDate: Tue Feb 27 12:56:19 2024 +0100 cid#1592375 COPY_INSTEAD_OF_MOVE Change-Id: I9d110911504832d7a8a6725ca3f9040a4fd0c4c4 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/164010 Tested-by: Jenkins Reviewed-by: Caolán McNamara diff --git a/chart2/source/controller/main/ChartController.cxx b/chart2/source/controller/main/ChartController.cxx index f9b3ac2a5858..9eca81b25513 100644 --- a/chart2/source/controller/main/ChartController.cxx +++ b/chart2/source/controller/main/ChartController.cxx @@ -1393,15 +1393,15 @@ void ChartController::executeDispatch_SourceData() rModel.attachDataProvider(xDataProvider); } } -auto aUndoGuard = std::make_shared(SchResId(STR_ACTION_EDIT_DATA_RANGES), +auto xUndoGuard = std::make_shared(SchResId(STR_ACTION_EDIT_DATA_RANGES), m_xUndoManager); SolarMutexGuard aSolarGuard; auto aDlg = std::make_shared(GetChartFrame(), xChartDoc); -weld::DialogController::runAsync(aDlg, [this, aUndoGuard](int nResult) { +weld::DialogController::runAsync(aDlg, [this, xUndoGuard=std::move(xUndoGuard)](int nResult) { if (nResult == RET_OK) { impl_adaptDataSeriesAutoResize(); -aUndoGuard->commit(); +xUndoGuard->commit(); } }); }
core.git: Branch 'libreoffice-7-6' - basic/source
basic/source/comp/loops.cxx |5 + 1 file changed, 5 insertions(+) New commits: commit 398eaaa804961a54ef40d86bc3eee1c1f486500d Author: Mike Kaganski AuthorDate: Tue Feb 27 13:44:37 2024 +0600 Commit: Xisco Fauli CommitDate: Tue Feb 27 12:56:06 2024 +0100 tdf#159908: return early to avoid nullptr dereference When aLvalue is not a variable, its GetRealVar() returns nullptr. That was dereferenced unconditionally later in the check of the variable after NEXT. Change-Id: Ia46f23a7e720431bf62ace998848b684aa8449e8 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/164002 Tested-by: Jenkins Reviewed-by: Mike Kaganski (cherry picked from commit 8bbfbe92c01bff38ed2241da56560b84f7954beb) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/163976 Reviewed-by: Michael Stahl diff --git a/basic/source/comp/loops.cxx b/basic/source/comp/loops.cxx index 07aac44943a6..f903f650a2bf 100644 --- a/basic/source/comp/loops.cxx +++ b/basic/source/comp/loops.cxx @@ -210,6 +210,11 @@ void SbiParser::For() if( bForEach ) Next(); SbiExpression aLvalue( this, SbOPERAND ); +if (!aLvalue.IsVariable()) +{ +bAbort = true; +return; // the error is alredy set in SbiExpression ctor +} aLvalue.Gen(); // variable on the Stack if( bForEach )
core.git: Branch 'libreoffice-24-2' - include/vcl vcl/source
include/vcl/rendercontext/State.hxx |2 -- vcl/source/gdi/mtfxmldump.cxx |2 -- vcl/source/outdev/stack.cxx |6 -- 3 files changed, 10 deletions(-) New commits: commit fb3b8d1c82dbbccf0bc456662a2a2d7e24da5fdd Author: Khaled Hosny AuthorDate: Mon Feb 26 17:47:59 2024 +0200 Commit: Xisco Fauli CommitDate: Tue Feb 27 12:42:19 2024 +0100 tdf#159251: Revert "vcl: Allow pushing/popping OutputDevice’s RTLEnabled ...state" This reverts commit 611694b707eb43e4c0f20b781f6869016a3ba099. Change-Id: I044e6a1fb08f482c6b494e87f9c23e2303b97fd1 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/163951 Tested-by: Jenkins Reviewed-by: خالد حسني Signed-off-by: Xisco Fauli Reviewed-on: https://gerrit.libreoffice.org/c/core/+/164019 diff --git a/include/vcl/rendercontext/State.hxx b/include/vcl/rendercontext/State.hxx index 33970dcccb7f..0a3d4327af8f 100644 --- a/include/vcl/rendercontext/State.hxx +++ b/include/vcl/rendercontext/State.hxx @@ -53,7 +53,6 @@ enum class PushFlags TEXTLAYOUTMODE = 0x0800, TEXTLANGUAGE = 0x1000, OVERLINECOLOR = 0x2000, -RTLENABLED = 0x4000, ALL = 0x }; } @@ -115,7 +114,6 @@ struct State LanguageType meTextLanguage = LANGUAGE_SYSTEM; PushFlags mnFlags = PushFlags::NONE; bool mbMapActive = false; -bool mbRTLEnabled = false; }; } diff --git a/vcl/source/gdi/mtfxmldump.cxx b/vcl/source/gdi/mtfxmldump.cxx index e6b1adc80eac..2792297feeca 100644 --- a/vcl/source/gdi/mtfxmldump.cxx +++ b/vcl/source/gdi/mtfxmldump.cxx @@ -63,8 +63,6 @@ OUString collectPushFlags(vcl::PushFlags nFlags) aStrings.emplace_back("PushTextLanguage"); if (nFlags & vcl::PushFlags::OVERLINECOLOR) aStrings.emplace_back("PushOverlineColor"); -if (nFlags & vcl::PushFlags::RTLENABLED) -aStrings.emplace_back("PushRTLEnabled"); OUString aString; diff --git a/vcl/source/outdev/stack.cxx b/vcl/source/outdev/stack.cxx index 129348051e3d..72ef63af551d 100644 --- a/vcl/source/outdev/stack.cxx +++ b/vcl/source/outdev/stack.cxx @@ -84,9 +84,6 @@ void OutputDevice::Push(vcl::PushFlags nFlags) if (nFlags & vcl::PushFlags::REFPOINT && mbRefPoint) rState.mpRefPoint = maRefPoint; -if (nFlags & vcl::PushFlags::RTLENABLED) -rState.mbRTLEnabled = IsRTLEnabled(); - if (mpAlphaVDev) mpAlphaVDev->Push(); } @@ -187,9 +184,6 @@ void OutputDevice::Pop() SetRefPoint(); } -if ( rState.mnFlags & vcl::PushFlags::RTLENABLED ) -EnableRTL( rState.mbRTLEnabled ); - maOutDevStateStack.pop_back(); mpMetaFile = pOldMetaFile;
core.git: Branch 'libreoffice-24-2' - 2 commits - include/vcl starmath/source
include/vcl/rendercontext/State.hxx |2 +- starmath/source/document.cxx| 10 ++ 2 files changed, 7 insertions(+), 5 deletions(-) New commits: commit 672378476d214290a10cdaaa03f591bdd4a8ecf5 Author: Khaled Hosny AuthorDate: Mon Feb 26 17:46:42 2024 +0200 Commit: Xisco Fauli CommitDate: Tue Feb 27 12:22:55 2024 +0100 tdf#159251: Don’t use vcl::PushFlags::RTLENABLED I’m going to remove it. Change-Id: I23af5c67633069b7bb6b15c88bdea757815816ce Reviewed-on: https://gerrit.libreoffice.org/c/core/+/163950 Tested-by: Jenkins Reviewed-by: خالد حسني Signed-off-by: Xisco Fauli Reviewed-on: https://gerrit.libreoffice.org/c/core/+/164018 diff --git a/starmath/source/document.cxx b/starmath/source/document.cxx index ff28f448cbbd..2c5399ba1c99 100644 --- a/starmath/source/document.cxx +++ b/starmath/source/document.cxx @@ -263,10 +263,10 @@ void SmDocShell::ArrangeFormula() const SmFormat &rFormat = GetFormat(); mpTree->Prepare(rFormat, *this, 0); -pOutDev->Push(vcl::PushFlags::TEXTLAYOUTMODE | vcl::PushFlags::TEXTLANGUAGE | - vcl::PushFlags::RTLENABLED); +pOutDev->Push(vcl::PushFlags::TEXTLAYOUTMODE | vcl::PushFlags::TEXTLANGUAGE); // We want the device to always be LTR, we handle RTL formulas ourselves. +bool bOldRTL = pOutDev->IsRTLEnabled(); pOutDev->EnableRTL(false); // For RTL formulas, we want the brackets to be mirrored. @@ -279,6 +279,7 @@ void SmDocShell::ArrangeFormula() mpTree->Arrange(*pOutDev, rFormat); +pOutDev->EnableRTL(bOldRTL); pOutDev->Pop(); SetFormulaArranged(true); @@ -353,10 +354,10 @@ void SmDocShell::DrawFormula(OutputDevice &rDev, Point &rPosition, bool bDrawSel bRestoreDrawMode = true; } -rDev.Push(vcl::PushFlags::TEXTLAYOUTMODE | vcl::PushFlags::TEXTLANGUAGE | - vcl::PushFlags::RTLENABLED); +rDev.Push(vcl::PushFlags::TEXTLAYOUTMODE | vcl::PushFlags::TEXTLANGUAGE); // We want the device to always be LTR, we handle RTL formulas ourselves. +bool bOldRTL = rDev.IsRTLEnabled(); if (rDev.GetOutDevType() == OUTDEV_WINDOW) rDev.EnableRTL(bRTL); else @@ -385,6 +386,7 @@ void SmDocShell::DrawFormula(OutputDevice &rDev, Point &rPosition, bool bDrawSel //Drawing using visitor SmDrawingVisitor(rDev, aPosition, mpTree.get(), GetFormat()); +rDev.EnableRTL(bOldRTL); rDev.Pop(); if (bRestoreDrawMode) commit 9393b6fcd08db7cb7776388393bb42d318b8a87b Author: Khaled Hosny AuthorDate: Sat Feb 24 11:18:04 2024 +0200 Commit: Xisco Fauli CommitDate: Tue Feb 27 12:22:49 2024 +0100 tdf#159251: Blind fix Hopefully fixes regression introduced in: commit 611694b707eb43e4c0f20b781f6869016a3ba099 Author: Khaled Hosny Date: Thu Aug 17 17:39:29 2023 +0300 vcl: Allow pushing/popping OutputDevice’s RTLEnabled state Change-Id: I9236bd6951d83a512390934127031204d94d14bb Reviewed-on: https://gerrit.libreoffice.org/c/core/+/163877 Tested-by: Jenkins Reviewed-by: خالد حسني Signed-off-by: Xisco Fauli Reviewed-on: https://gerrit.libreoffice.org/c/core/+/164017 diff --git a/include/vcl/rendercontext/State.hxx b/include/vcl/rendercontext/State.hxx index 0359a486e4b2..33970dcccb7f 100644 --- a/include/vcl/rendercontext/State.hxx +++ b/include/vcl/rendercontext/State.hxx @@ -67,7 +67,7 @@ template <> struct typed_flags : is_typed_flags
core.git: android/source
android/source/res/values-cs/strings.xml |2 ++ 1 file changed, 2 insertions(+) New commits: commit aa7f68514fa8a4c075b31d615379bf27df5e87bc Author: Weblate AuthorDate: Sun Feb 25 08:36:48 2024 +0100 Commit: Michael Weghorn CommitDate: Tue Feb 27 12:14:05 2024 +0100 android-viewer translated using Weblate Czech currently translated at 54.2% (64 of 118 strings) Change-Id: Ie43869edb7fffb61603b1a00cf3d2d01397c634e Co-authored-by: raal Translate-URL: https://translations.documentfoundation.org/projects/android-viewer/android-strings/cs/ Translation: android-viewer/android-strings Reviewed-on: https://gerrit.libreoffice.org/c/core/+/163900 Tested-by: Jenkins Reviewed-by: Michael Weghorn diff --git a/android/source/res/values-cs/strings.xml b/android/source/res/values-cs/strings.xml index 303240269537..8c8f522f62aa 100644 --- a/android/source/res/values-cs/strings.xml +++ b/android/source/res/values-cs/strings.xml @@ -62,4 +62,6 @@ Najít další Najít předchozí Uložit jako… +Ikona souboru +Optimální šířka \ No newline at end of file
core.git: oox/source
oox/source/drawingml/scene3dhelper.cxx |9 ++--- 1 file changed, 6 insertions(+), 3 deletions(-) New commits: commit 5dc2fad7186ea5e03ae2aa453b14a3276b4a17d9 Author: Caolán McNamara AuthorDate: Tue Feb 27 08:53:19 2024 + Commit: Caolán McNamara CommitDate: Tue Feb 27 12:05:35 2024 +0100 cid#1592381 silence Out-of-bounds read Change-Id: I437af59b956753eaadea61db12500e5e7b45d9b6 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/164008 Tested-by: Caolán McNamara Reviewed-by: Caolán McNamara diff --git a/oox/source/drawingml/scene3dhelper.cxx b/oox/source/drawingml/scene3dhelper.cxx index ac7f0fd0450e..96a7ca3e0574 100644 --- a/oox/source/drawingml/scene3dhelper.cxx +++ b/oox/source/drawingml/scene3dhelper.cxx @@ -228,8 +228,10 @@ void Scene3DHelper::getAPIAnglesFrom3DProperties( // ignore it. The preset cameras have no rotation. nRevolution = 0; } -else if (47 <= mnPrstCameraIndex && mnPrstCameraIndex <= 61) +else if (47 <= mnPrstCameraIndex) { +assert(mnPrstCameraIndex <= 61 + && "by definition we don't set anything >= nCameraPresetCount (62)"); // perspective. MS Office has a strange rendering behavior: If the shape rotation is not zero // and the angle for rotation on x-axis (=latitude) is >90deg and <=270deg, then MSO renders // the shape with an addition 180deg rotation on the z-axis. This happens only with user @@ -383,10 +385,11 @@ bool Scene3DHelper::setExtrusionProperties(const oox::drawingml::Shape3DProperti return false; const sal_Int32 nCameraPrstID((*p3DProperties).mnPreset.value()); -mnPrstCameraIndex +sal_Int16 nPrstCameraIndex = getPrstCameraIndex(oox::drawingml::Generic3DProperties::getCameraPrstName(nCameraPrstID)); -if (mnPrstCameraIndex < 0 or mnPrstCameraIndex >= nCameraPresetCount) +if (nPrstCameraIndex < 0 or nPrstCameraIndex >= nCameraPresetCount) return false; // error in document. OOXML specifies a fixed set of preset camera types. +mnPrstCameraIndex = nPrstCameraIndex; // We use extrusion, if there is a rotation around x-axis or y-axis, // or if there is no such rotation but we have a perspective projection with true depth,
core.git: sd/source
sd/source/ui/slideshow/slideshowimpl.cxx |1 + 1 file changed, 1 insertion(+) New commits: commit dba077327bbb9bf31cf1b8d16807baa3bf64402e Author: Caolán McNamara AuthorDate: Tue Feb 27 08:55:47 2024 + Commit: Caolán McNamara CommitDate: Tue Feb 27 12:05:14 2024 +0100 cid#1592376 Uninitialized scalar field Change-Id: I8f62faac5a1170b9932afe08f03145e4ca7b1be1 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/164009 Tested-by: Jenkins Reviewed-by: Caolán McNamara diff --git a/sd/source/ui/slideshow/slideshowimpl.cxx b/sd/source/ui/slideshow/slideshowimpl.cxx index 095c4436965f..e195fe29bf38 100644 --- a/sd/source/ui/slideshow/slideshowimpl.cxx +++ b/sd/source/ui/slideshow/slideshowimpl.cxx @@ -253,6 +253,7 @@ AnimationSlideController::AnimationSlideController( Reference< XIndexAccess > co , mnCurrentSlideIndex(0) , mnHiddenSlideNumber( -1 ) , mxSlides( xSlides ) +, meMode2( eMode ) { if( mxSlides.is() ) mnSlideCount = xSlides->getCount();
core.git: basic/source
basic/source/comp/exprnode.cxx |4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) New commits: commit 60dd46ee18f98e4fc8ca0faa478911bfedf9ae13 Author: Mike Kaganski AuthorDate: Tue Feb 27 14:18:34 2024 +0600 Commit: Mike Kaganski CommitDate: Tue Feb 27 11:36:45 2024 +0100 Simplify a bit Change-Id: Id9640825e117531ed1b67db9e83349c556f291c7 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/164004 Tested-by: Jenkins Reviewed-by: Mike Kaganski diff --git a/basic/source/comp/exprnode.cxx b/basic/source/comp/exprnode.cxx index ade1d5832ba1..d6733e96d1ee 100644 --- a/basic/source/comp/exprnode.cxx +++ b/basic/source/comp/exprnode.cxx @@ -118,7 +118,7 @@ SbiExprNode::~SbiExprNode() SbiSymDef* SbiExprNode::GetVar() { -if( eNodeType == SbxVARVAL ) +if (IsVariable()) return aVar.pDef; else return nullptr; @@ -136,7 +136,7 @@ SbiSymDef* SbiExprNode::GetRealVar() // From 1995-12-18 SbiExprNode* SbiExprNode::GetRealNode() { -if( eNodeType == SbxVARVAL ) +if (IsVariable()) { SbiExprNode* p = this; while( p->aVar.pNext )
core.git: Branch 'distro/cib/libreoffice-6-4' - helpcompiler/source
helpcompiler/source/HelpCompiler.cxx |8 +++- 1 file changed, 7 insertions(+), 1 deletion(-) New commits: commit 2838a9168bb1a321ce0d2297284e6c8cf529604c Author: Michael Stahl AuthorDate: Tue Feb 27 11:01:29 2024 +0100 Commit: Michael Stahl CommitDate: Tue Feb 27 11:03:49 2024 +0100 helpcompiler: suppress deprecation warning Commit 77cb90532d14d5035990d078977fce7b407c4fad removed these 2 lines but i don't want to check if the "I can find no difference in our output help dir with these removed" is true also in this older branch so suppress the warning instead. Change-Id: I35865e3accd018462ef4d65c8c11fb914f53ac38 diff --git a/helpcompiler/source/HelpCompiler.cxx b/helpcompiler/source/HelpCompiler.cxx index 0436d9efb461..98fd7f6eb55d 100644 --- a/helpcompiler/source/HelpCompiler.cxx +++ b/helpcompiler/source/HelpCompiler.cxx @@ -149,9 +149,15 @@ xmlDocPtr HelpCompiler::getSourceDocument(const fs::path &filePath) if (!cur) { static std::string fsroot('\'' + src.toUTF8() + '\''); - +#if defined(_MSC_VER) +#pragma warning(push) +#pragma warning(disable:4996) +#endif xmlSubstituteEntitiesDefault(1); xmlLoadExtDtdDefaultValue = 1; +#if defined(_MSC_VER) +#pragma warning(pop) +#endif cur = xsltParseStylesheetFile(reinterpret_cast(resEmbStylesheet.native_file_string().c_str())); int nbparams = 0;
core.git: basic/source
basic/source/comp/loops.cxx |2 +- 1 file changed, 1 insertion(+), 1 deletion(-) New commits: commit dd8fc8e24bae35ad392482d797e7db994ca03ac8 Author: Julien Nabet AuthorDate: Tue Feb 27 11:02:26 2024 +0100 Commit: Julien Nabet CommitDate: Tue Feb 27 11:02:51 2024 +0100 Typo: alredy->already Change-Id: I67fa846c71cf91563c3457cec98195b1886e3fa9 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/164025 Tested-by: Julien Nabet Reviewed-by: Julien Nabet diff --git a/basic/source/comp/loops.cxx b/basic/source/comp/loops.cxx index f903f650a2bf..2a756b6fb3a5 100644 --- a/basic/source/comp/loops.cxx +++ b/basic/source/comp/loops.cxx @@ -213,7 +213,7 @@ void SbiParser::For() if (!aLvalue.IsVariable()) { bAbort = true; -return; // the error is alredy set in SbiExpression ctor +return; // the error is already set in SbiExpression ctor } aLvalue.Gen(); // variable on the Stack
core.git: sd/source
sd/source/ui/slideshow/slideshowimpl.cxx |2 +- 1 file changed, 1 insertion(+), 1 deletion(-) New commits: commit d5e012b85a20d467fd8c0e86689039eb8c79457e Author: Julien Nabet AuthorDate: Tue Feb 27 09:22:18 2024 +0100 Commit: Julien Nabet CommitDate: Tue Feb 27 11:00:54 2024 +0100 cid#1592380 COPY_PASTE_ERROR Change-Id: Ib5c57ba2118531449908600b22fd49f52277159b Reviewed-on: https://gerrit.libreoffice.org/c/core/+/164005 Reviewed-by: Caolán McNamara Tested-by: Jenkins Reviewed-by: Julien Nabet diff --git a/sd/source/ui/slideshow/slideshowimpl.cxx b/sd/source/ui/slideshow/slideshowimpl.cxx index 31418cdcd2ef..095c4436965f 100644 --- a/sd/source/ui/slideshow/slideshowimpl.cxx +++ b/sd/source/ui/slideshow/slideshowimpl.cxx @@ -3436,7 +3436,7 @@ void SlideshowImpl::Notify(SfxBroadcaster& /*rBC*/, const SfxHint& rHint) { case SdrHintKind::ObjectInserted: { -if (nullptr != mnEventObjectChange) +if (nullptr != mnEventObjectInserted) // avoid multiple events return;
core.git: sal/qa sal/rtl
sal/qa/rtl/math/test-rtl-math.cxx |4 sal/rtl/math.cxx |2 -- 2 files changed, 4 insertions(+), 2 deletions(-) New commits: commit 9adffb1c7453aee77f9d52b1ed0aa99191a9c317 Author: Po-Yen Huang AuthorDate: Tue Nov 7 13:01:27 2023 +0800 Commit: Mike Kaganski CommitDate: Tue Feb 27 11:00:24 2024 +0100 tdf#158190 Fix Calc ROUND in floating-point calculate result very close to X.5 Location: if (nDecPlaces == 0) { switch (eMode) { case rtl_math_RoundingMode_Corrected: return std::round(fValue); Because the functions are the same as the following related codes, they are respectively: if (nDecPlaces >= 0 && (fValue >= 0x1p52 || isRepresentableInteger(fValue))) return fOrigValue; as well as: if (fValue < 0x1p52) { switch(eMode) { case rtl_math_RoundingMode_Corrected: fValue = rtl::math::approxFloor(fValue + 0.5); break; : : : Because some double-precision floating point numbers cause std::round(fValue) and rtl::math::approxFloor(fValue + 0.5) to produce different results. For example, enter 10614.49876 in Calc's A1 cell (or any operation that will produce a long decimal number such as .4999xyz after the decimal point). We expected it to be 10614.49876, but it was automatically rounded to 10614.5 (note: this result is also the result of ubiquitous handheld computers, OpenOffice.org and Excel) Then, entering =ROUND(A1,0) in B1, we will see 10614, A1 and B1 clearly don't meet expectations. (My boss or tax collector might be unhappy :-p) Although A1's 10614.49876 is still faithfully recorded, the rendering of 10614.5 is confusing. Now, there are two views: 1. According to the established convention, B2 displays the expected answer 10615. or 2. True to the laws of mathematics, A1 displays 10614.49876 or at least 10614.49 Although the second point of view is correct (and I completely agree with it), when opening spreadsheets generated by other software (such as OpenOffice.org or Excel), the results will be different, which people do not like to see. So when nDecPlaces == 0 is removed, use std::round(fValue) and let the existing code below it do the rounding: if (fValue < 0x1p52) { switch(eMode) { case rtl_math_RoundingMode_Corrected: fValue = rtl::math::approxFloor(fValue + 0.5); This is consistent with the first point. By the way, in nDecPlaces == 0 case rtl_math_RoundingMode_HalfEven: This piece of code can be checked to see if it is really necessary, because rtl_math_round() also has the same purpose code. If it is not needed, the entire nDecPlaces == 0 can be removed. Co-authored-by: Firefly Co-authored-by: Franklin Weng Change-Id: If32cdb18c70ec0025c83ba25a99e5d135d66aec9 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/159193 Tested-by: Jenkins Reviewed-by: Mike Kaganski diff --git a/sal/qa/rtl/math/test-rtl-math.cxx b/sal/qa/rtl/math/test-rtl-math.cxx index bab2774a414c..a5ce3b4e6262 100644 --- a/sal/qa/rtl/math/test-rtl-math.cxx +++ b/sal/qa/rtl/math/test-rtl-math.cxx @@ -301,6 +301,10 @@ public: fVal = 4503599627370491.0; CPPUNIT_ASSERT_EQUAL( 450359962737.0, rtl::math::round( fVal, -3, rtl_math_RoundingMode_Corrected)); + +// test #tdf158190: ROUND(16.83 * 650, 0) +fVal = 16.83; +CPPUNIT_ASSERT_EQUAL( 10940.0, rtl::math::round( fVal * 650, 0, rtl_math_RoundingMode_Corrected)); } void test_doubleToString() { diff --git a/sal/rtl/math.cxx b/sal/rtl/math.cxx index 68068eaf979f..75cada0b7d48 100644 --- a/sal/rtl/math.cxx +++ b/sal/rtl/math.cxx @@ -463,8 +463,6 @@ double SAL_CALL rtl_math_round(double fValue, int nDecPlaces, enum rtl_math_Roun { switch (eMode) { -case rtl_math_RoundingMode_Corrected: -return std::round(fValue); case rtl_math_RoundingMode_HalfEven: if (const int oldMode = std::fegetround(); std::fesetround(FE_TONEAREST) == 0) {
core.git: configure.ac
configure.ac |9 + 1 file changed, 9 insertions(+) New commits: commit 8f7d4f1da306fc7e104050c96ae1538c3f04c52f Author: Hossein AuthorDate: Thu Feb 22 13:20:09 2024 + Commit: Michael Stahl CommitDate: Tue Feb 27 10:49:29 2024 +0100 Check Windows SDK version Because of a regression in Windows SDK version 10.0.19 which is now fixed in 10.0.20348, it is good to check that the required SDK version is installed: More information https://developercommunity.visualstudio.com/t/std:c17-generates-warning-compiling-Win/1249671 It is important to know that both Windows 10 and Windows 11 SDK should work. Change-Id: Ia42843cac4f94c4db9ef429714f1b9d46ba3fd09 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/163770 Tested-by: Jenkins Reviewed-by: Michael Stahl diff --git a/configure.ac b/configure.ac index 276657f3cae1..6c6509ad3fd8 100644 --- a/configure.ac +++ b/configure.ac @@ -6829,6 +6829,15 @@ if test "$_os" = "WINNT"; then fi WINDOWS_SDK_LIB_SUBDIR=$winsdklibsubdir +# The variable also contains the Windows SDK version +echo $WINDOWS_SDK_LIB_SUBDIR +IFS='.' read -r SDK_v1 SDK_v2 SDK_v3 SDK_v4 <<< "$WINDOWS_SDK_LIB_SUBDIR" +# Assuming maximum of 5 digits for each part and ignoring last part +SDK_NORMALIZED_VER=$((SDK_v1 * 100 + SDK_v2 * 10 + SDK_v3)) +# 10.0.20348.0 is the minumum required version +if test "$SDK_NORMALIZED_VER" -lt 10020348; then +AC_MSG_ERROR([You need Windows SDK greater than or equal 10.0.20348.0]) +fi fi if test -n "$WINDOWS_SDK_HOME"; then
core.git: Branch 'libreoffice-7-6' - sc/inc sc/qa sc/source
sc/inc/typedstrdata.hxx | 10 + sc/qa/uitest/autofilter/autofilterBugs.py | 24 + sc/source/core/data/documen3.cxx |2 + sc/source/core/tool/typedstrdata.cxx | 54 +++--- 4 files changed, 86 insertions(+), 4 deletions(-) New commits: commit d2d8332dc9dee0baed504470a3b80d431bc255a8 Author: Andreas Heinisch AuthorDate: Tue Nov 28 18:24:52 2023 +0100 Commit: Xisco Fauli CommitDate: Tue Feb 27 10:42:01 2024 +0100 tdf#158326 - Auto Filter: separate sorting and removing of duplicates Change-Id: Ide74895508af280f4b0c129689d852635e62dbff Reviewed-on: https://gerrit.libreoffice.org/c/core/+/160052 Tested-by: Jenkins Reviewed-by: Andreas Heinisch (cherry picked from commit 6d0fddb697fd619d11da3469f4dd72782334f3bb) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/162891 Reviewed-by: Xisco Fauli (cherry picked from commit 0fc3c31387b0995cbe80ad802e66f84702def7c5) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/163139 diff --git a/sc/inc/typedstrdata.hxx b/sc/inc/typedstrdata.hxx index b4a9bc5d37c6..b6bed2dfc249 100644 --- a/sc/inc/typedstrdata.hxx +++ b/sc/inc/typedstrdata.hxx @@ -54,11 +54,21 @@ public: bool operator() (const ScTypedStrData& left, const ScTypedStrData& right) const; }; +struct LessSortCaseSensitive +{ +bool operator() (const ScTypedStrData& left, const ScTypedStrData& right) const; +}; + struct LessCaseInsensitive { bool operator() (const ScTypedStrData& left, const ScTypedStrData& right) const; }; +struct LessSortCaseInsensitive +{ +bool operator() (const ScTypedStrData& left, const ScTypedStrData& right) const; +}; + struct EqualCaseSensitive { bool operator() (const ScTypedStrData& left, const ScTypedStrData& right) const; diff --git a/sc/qa/uitest/autofilter/autofilterBugs.py b/sc/qa/uitest/autofilter/autofilterBugs.py index 6fa029985fcc..849351861d7f 100644 --- a/sc/qa/uitest/autofilter/autofilterBugs.py +++ b/sc/qa/uitest/autofilter/autofilterBugs.py @@ -73,6 +73,30 @@ class autofilter(UITestCase): self.assertEqual(get_state_as_dict(xTreeList.getChild("4"))["Text"], "vröude") self.assertEqual(get_state_as_dict(xTreeList.getChild("5"))["Text"], "vröudᵉ") + def test_tdf158326(self): +with self.ui_test.create_doc_in_start_center("calc"): +calcDoc = self.xUITest.getTopFocusWindow() +xGridWindow = calcDoc.getChild("grid_window") +enter_text_to_cell(xGridWindow, "A1", "vröude") +enter_text_to_cell(xGridWindow, "A2", "vröudᵉ") +enter_text_to_cell(xGridWindow, "A3", "vröude") +enter_text_to_cell(xGridWindow, "A4", "vröudᵉ") +enter_text_to_cell(xGridWindow, "A5", "vröude") +enter_text_to_cell(xGridWindow, "A6", "vröudᵉ") +xGridWindow.executeAction("SELECT", mkPropertyValues({"RANGE": "A1:A6"})) + +with self.ui_test.execute_dialog_through_command(".uno:DataFilterAutoFilter", close_button="no"): +pass + +xGridWindow.executeAction("LAUNCH", mkPropertyValues({"AUTOFILTER": "", "COL": "0", "ROW": "0"})) +xFloatWindow = self.xUITest.getFloatWindow() +xTreeList = xFloatWindow.getChild("check_list_box") + +# Without the fix in place, there would be 5 items since they will not be removed +self.assertEqual(2, len(xTreeList.getChildren())) + self.assertEqual(get_state_as_dict(xTreeList.getChild("0"))["Text"], "vröude") + self.assertEqual(get_state_as_dict(xTreeList.getChild("1"))["Text"], "vröudᵉ") + def test_tdf94055(self): with self.ui_test.create_doc_in_start_center("calc") as document: calcDoc = self.xUITest.getTopFocusWindow() diff --git a/sc/source/core/data/documen3.cxx b/sc/source/core/data/documen3.cxx index 8d0d2ba9a665..9184ea53c767 100644 --- a/sc/source/core/data/documen3.cxx +++ b/sc/source/core/data/documen3.cxx @@ -88,6 +88,7 @@ void sortAndRemoveDuplicates(std::vector& rStrings, bool bCaseSe std::vector::iterator it = std::unique(rStrings.begin(), rStrings.end(), ScTypedStrData::EqualCaseSensitive()); rStrings.erase(it, rStrings.end()); +std::stable_sort(rStrings.begin(), rStrings.end(), ScTypedStrData::LessSortCaseSensitive()); } else { @@ -95,6 +96,7 @@ void sortAndRemoveDuplicates(std::vector& rStrings, bool bCaseSe std::vector::iterator it = std::unique(rStrings.begin(), rStrings.end(), ScTypedStrData::EqualCaseInsensitive()); rStrings.erase(it, rStrings.end()); +std::stable_sort(rStrings.begin(), rStrings.end(), ScTypedStrData::LessSortCaseInsensitive()); } if (std::any_of(rStrings.begin(), rStrings.end(), [](ScTypedStrData& rString) { r
core.git: basic/source
basic/source/comp/loops.cxx |5 + 1 file changed, 5 insertions(+) New commits: commit 8bbfbe92c01bff38ed2241da56560b84f7954beb Author: Mike Kaganski AuthorDate: Tue Feb 27 13:44:37 2024 +0600 Commit: Mike Kaganski CommitDate: Tue Feb 27 10:33:52 2024 +0100 tdf#159908: return early to avoid nullptr dereference When aLvalue is not a variable, its GetRealVar() returns nullptr. That was dereferenced unconditionally later in the check of the variable after NEXT. Change-Id: Ia46f23a7e720431bf62ace998848b684aa8449e8 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/164002 Tested-by: Jenkins Reviewed-by: Mike Kaganski diff --git a/basic/source/comp/loops.cxx b/basic/source/comp/loops.cxx index 07aac44943a6..f903f650a2bf 100644 --- a/basic/source/comp/loops.cxx +++ b/basic/source/comp/loops.cxx @@ -210,6 +210,11 @@ void SbiParser::For() if( bForEach ) Next(); SbiExpression aLvalue( this, SbOPERAND ); +if (!aLvalue.IsVariable()) +{ +bAbort = true; +return; // the error is alredy set in SbiExpression ctor +} aLvalue.Gen(); // variable on the Stack if( bForEach )
core.git: oox/source
oox/source/drawingml/shape.cxx | 41 + 1 file changed, 41 insertions(+) New commits: commit 0079f0e77e74a355d57b24d3a6b6d1a29f45eb79 Author: Attila Szűcs AuthorDate: Mon Feb 26 10:04:23 2024 +0100 Commit: Attila Szűcs CommitDate: Tue Feb 27 09:51:43 2024 +0100 tdf#67347 pptx import: stacked + horz/vert aligment In case of Stacked, PP calculates in the vertical direction with the horizontal alignment. We simulate it by setting TextVerticalAdjust at import time (from PPTX) based on the ParagraphAdjust of the 1. paragraph It is not perfect, because we have 1 TextVerticalAdjust / 1 shape, and it does not support justified, while we can have many ParagraphAdjust / 1 shape (if the shape have more paragraphs) For a better solution we should re-implement the entire stacked thing, but that is a much bigger task. Change-Id: I4011be0f118b870ab7f9e2ddc15c6dc5a21f8a89 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/163934 Reviewed-by: Caolán McNamara Tested-by: Jenkins Reviewed-by: Attila Szűcs diff --git a/oox/source/drawingml/shape.cxx b/oox/source/drawingml/shape.cxx index 8f3aedf3488a..d9a3f8b8db59 100644 --- a/oox/source/drawingml/shape.cxx +++ b/oox/source/drawingml/shape.cxx @@ -90,6 +90,7 @@ #include #include #include +#include #include #include @@ -1354,6 +1355,46 @@ Reference< XShape > const & Shape::createAndInsert( // add properties from textbody to shape properties if( mpTextBody ) { +// tdf#67347: In case of Stacked, PP calculates in the vertical direction with the +// horizontal alignment. +// In LO, we simulate it by setting TextVerticalAdjust based on the ParagraphAdjust +// of the 1. paragraph +// It is not perfect, because we have 1 TextVerticalAdjust / 1 shape, and it +// does not support justified, while we can have many ParagraphAdjust / 1 shape +// (if the shape have more paragraphs) +if (mpTextBody->getTextProperties().maPropertyMap.hasProperty(PROP_WritingMode) +&& mpTextBody->getTextProperties().maPropertyMap.getProperty(PROP_WritingMode) + == uno::Any(text::WritingMode2::STACKED) +&& mpTextBody->getParagraphs().size() > 0 +&& aServiceName != "com.sun.star.drawing.GroupShape") +{ +std::optional& oParaAdjust += mpTextBody->getParagraphs()[0]->getProperties().getParaAdjust(); + +if (oParaAdjust) +{ +switch (*oParaAdjust) +{ +case ParagraphAdjust::ParagraphAdjust_LEFT: +mpTextBody->getTextProperties().meVA += TextVerticalAdjust::TextVerticalAdjust_TOP; +break; +case ParagraphAdjust::ParagraphAdjust_CENTER: +mpTextBody->getTextProperties().meVA += TextVerticalAdjust::TextVerticalAdjust_CENTER; +break; +case ParagraphAdjust::ParagraphAdjust_RIGHT: +mpTextBody->getTextProperties().meVA += TextVerticalAdjust::TextVerticalAdjust_BOTTOM; +break; +default: +break; +} +mpTextBody->getTextProperties().maPropertyMap.setProperty( +PROP_TextVerticalAdjust, mpTextBody->getTextProperties().meVA); +} +} + mpTextBody->getTextProperties().pushTextDistances(Size(aShapeRectHmm.Width, aShapeRectHmm.Height)); aShapeProps.assignUsed( mpTextBody->getTextProperties().maPropertyMap ); // Push char properties as well - specifically useful when this is a placeholder
core.git: Branch 'libreoffice-24-2' - sw/inc sw/source
sw/inc/pagedesc.hxx|6 +-- sw/source/core/doc/docfmt.cxx | 12 +++--- sw/source/core/layout/pagedesc.cxx | 74 ++--- 3 files changed, 46 insertions(+), 46 deletions(-) New commits: commit a06a5905df7af2f6b69133e419dbfa99d232ab02 Author: Michael Stahl AuthorDate: Fri Feb 23 17:18:04 2024 +0100 Commit: Xisco Fauli CommitDate: Tue Feb 27 09:48:26 2024 +0100 tdf#147731 sw: fix memory leak in SwDoc::CopyPageDesc() Commit 963de9feb37105560fde14b44d992e47f341bb5b "sw: fix issue with copying stashed frame format" fixed the actual bug here, but introduced a new memory leak. This causes an assert in CppunitTest_uiwriter3: cppunittester: svl/source/items/itempool.cxx:779: void SfxItemPool::Remove(const SfxPoolItem&): Assertion `rItem.GetRefCount() && "RefCount == 0, Remove impossible"' failed. The assert happens only when this is backported to the libreoffice-7-6 branch, because commit ab7c81f55621d7b0d1468c63305163016dd78837 "ITEM: Get away from classic 'poolable' Item flag" removed the assert. The problem is that a SwFormatFrameSize inside a footer SwFrameFormat is leaked 4 times, because 4 SwFrameFormats are leaked; the leak is that SwDoc::CopyPageDesc() creates a new pNewFormat, passed it to StashFrameFormat(), which copies it but doesn't free it. There is also a usage of std::shared_ptr here that is very questionable; SwFrameFormat should never be shared between different SwPageDesc. (regression from commit b802ab694a8a7357d4657f3e11b571144fa7c7bf) Change-Id: I44133bc5e6789a51ce064f1aa5ea8b325224365b Reviewed-on: https://gerrit.libreoffice.org/c/core/+/163854 Tested-by: Jenkins Reviewed-by: Tomaž Vajngerl (cherry picked from commit 5c4ae1b19c51dcd62dad8e1d3e8beb87a0311352) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/163846 Reviewed-by: Xisco Fauli diff --git a/sw/inc/pagedesc.hxx b/sw/inc/pagedesc.hxx index 11bb347aa1fb..ddc7e659a5bb 100644 --- a/sw/inc/pagedesc.hxx +++ b/sw/inc/pagedesc.hxx @@ -151,9 +151,9 @@ class SW_DLLPUBLIC SwPageDesc final struct StashedPageDesc { -std::shared_ptr m_pStashedFirst; -std::shared_ptr m_pStashedLeft; -std::shared_ptr m_pStashedFirstLeft; +std::optional m_oStashedFirst; +std::optional m_oStashedLeft; +std::optional m_oStashedFirstLeft; }; mutable StashedPageDesc m_aStashedHeader; diff --git a/sw/source/core/doc/docfmt.cxx b/sw/source/core/doc/docfmt.cxx index d6c943dbcdc8..1c696bebb6a0 100644 --- a/sw/source/core/doc/docfmt.cxx +++ b/sw/source/core/doc/docfmt.cxx @@ -1553,21 +1553,21 @@ void SwDoc::CopyPageDesc( const SwPageDesc& rSrcDesc, SwPageDesc& rDstDesc, { if (pStashedFormatSrc->GetDoc() != this) { -SwFrameFormat* pNewFormat = new SwFrameFormat(GetAttrPool(), "CopyDesc", GetDfltFrameFormat()); +SwFrameFormat newFormat(GetAttrPool(), "CopyDesc", GetDfltFrameFormat()); SfxItemSet aAttrSet(pStashedFormatSrc->GetAttrSet()); aAttrSet.ClearItem(RES_HEADER); aAttrSet.ClearItem(RES_FOOTER); -pNewFormat->DelDiffs( aAttrSet ); -pNewFormat->SetFormatAttr( aAttrSet ); +newFormat.DelDiffs(aAttrSet); +newFormat.SetFormatAttr(aAttrSet); if (bHeader) -CopyHeader(*pStashedFormatSrc, *pNewFormat); +CopyHeader(*pStashedFormatSrc, newFormat); else -CopyFooter(*pStashedFormatSrc, *pNewFormat); +CopyFooter(*pStashedFormatSrc, newFormat); -rDstDesc.StashFrameFormat(*pNewFormat, bHeader, bLeft, bFirst); +rDstDesc.StashFrameFormat(newFormat, bHeader, bLeft, bFirst); } else { diff --git a/sw/source/core/layout/pagedesc.cxx b/sw/source/core/layout/pagedesc.cxx index 2b7882332789..f9679bb2a8e7 100644 --- a/sw/source/core/layout/pagedesc.cxx +++ b/sw/source/core/layout/pagedesc.cxx @@ -83,13 +83,13 @@ SwPageDesc::SwPageDesc( const SwPageDesc &rCpy ) , m_FootnoteInfo( rCpy.GetFootnoteInfo() ) , m_pdList( nullptr ) { -m_aStashedHeader.m_pStashedFirst = rCpy.m_aStashedHeader.m_pStashedFirst; -m_aStashedHeader.m_pStashedLeft = rCpy.m_aStashedHeader.m_pStashedLeft; -m_aStashedHeader.m_pStashedFirstLeft = rCpy.m_aStashedHeader.m_pStashedFirstLeft; +m_aStashedHeader.m_oStashedFirst = rCpy.m_aStashedHeader.m_oStashedFirst; +m_aStashedHeader.m_oStashedLeft = rCpy.m_aStashedHeader.m_oStashedLeft; +m_aStashedHeader.m_oStashedFirstLeft =
core.git: sw/qa sw/source
sw/qa/extras/ww8export/data/listWithLgl.doc |binary sw/qa/extras/ww8export/ww8export4.cxx | 24 sw/source/filter/ww8/wrtw8num.cxx |9 - sw/source/filter/ww8/ww8par3.cxx| 11 +++ 4 files changed, 43 insertions(+), 1 deletion(-) New commits: commit a73b3994fb6a2cc10b2d65cbaad201762610cecc Author: Miklos Vajna AuthorDate: Tue Feb 27 08:29:31 2024 +0100 Commit: Miklos Vajna CommitDate: Tue Feb 27 09:39:12 2024 +0100 Related: tdf#150408 DOC filter: handle legal numbering The bugdoc's 2nd para started with 'Sect I.01', while Word rendered this as 'Sect 1.01'. The reason for this difference is that there is an "is legal" boolean property on the numbering that we ignored from [MS-DOC] during import/export. Fix the problem by WW8ListManager::ReadLVL() and WW8AttributeOutput::NumberingLevel() to handle this, building on top of the existing DOCX work. RTF still needs doing. Change-Id: I57ec402c1dd829251afa639ddfa7fc6620da1125 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/164000 Reviewed-by: Miklos Vajna Tested-by: Jenkins diff --git a/sw/qa/extras/ww8export/data/listWithLgl.doc b/sw/qa/extras/ww8export/data/listWithLgl.doc new file mode 100644 index ..94de2967febc Binary files /dev/null and b/sw/qa/extras/ww8export/data/listWithLgl.doc differ diff --git a/sw/qa/extras/ww8export/ww8export4.cxx b/sw/qa/extras/ww8export/ww8export4.cxx index 92023fb7a36e..ea50ed2a19b9 100644 --- a/sw/qa/extras/ww8export/ww8export4.cxx +++ b/sw/qa/extras/ww8export/ww8export4.cxx @@ -230,6 +230,30 @@ DECLARE_WW8EXPORT_TEST(testInlinePageBreakFirstLine, "inlinePageBreakFirstLine.d CPPUNIT_ASSERT(IsFirstLine(aTextNodes[2])); } +CPPUNIT_TEST_FIXTURE(Test, testLegalNumbering) +{ +auto verify = [this]() { +// Second level's numbering should use Arabic numbers for first level reference +auto xPara = getParagraph(1); +CPPUNIT_ASSERT_EQUAL(OUString("CH I"), getProperty(xPara, "ListLabelString")); +xPara = getParagraph(2); +// Without the accompanying fix in place, this test would have failed with: +// - Expected: Sect 1.01 +// - Actual : Sect I.01 +// i.e. fLegal was ignored on import/export. +CPPUNIT_ASSERT_EQUAL(OUString("Sect 1.01"), getProperty(xPara, "ListLabelString")); +xPara = getParagraph(3); +CPPUNIT_ASSERT_EQUAL(OUString("CH II"), getProperty(xPara, "ListLabelString")); +xPara = getParagraph(4); +CPPUNIT_ASSERT_EQUAL(OUString("Sect 2.01"), getProperty(xPara, "ListLabelString")); +}; + +createSwDoc("listWithLgl.doc"); +verify(); +saveAndReload(mpFilter); +verify(); +} + DECLARE_WW8EXPORT_TEST(testNonInlinePageBreakFirstLine, "nonInlinePageBreakFirstLine.doc") { SwDoc* pDoc = getSwDoc(); diff --git a/sw/source/filter/ww8/wrtw8num.cxx b/sw/source/filter/ww8/wrtw8num.cxx index 8d59434db652..681961a3770c 100644 --- a/sw/source/filter/ww8/wrtw8num.cxx +++ b/sw/source/filter/ww8/wrtw8num.cxx @@ -279,7 +279,7 @@ void WW8AttributeOutput::NumberingLevel( sal_uInt8 /*nLevel*/, sal_Int16 nListTabPos, const OUString &rNumberingString, const SvxBrushItem* pBrush, //For i120928,to transfer graphic of bullet -bool /*isLegal*/ +bool isLegal ) { // Start value @@ -303,6 +303,13 @@ void WW8AttributeOutput::NumberingLevel( sal_uInt8 /*nLevel*/, nAlign = 0; break; } + +if (isLegal) +{ +// 3rd bit. +nAlign |= 0x04; +} + m_rWW8Export.m_pTableStrm->WriteUChar( nAlign ); // Write the rgbxchNums[9], positions of placeholders for paragraph diff --git a/sw/source/filter/ww8/ww8par3.cxx b/sw/source/filter/ww8/ww8par3.cxx index 85563c7d1245..3af2f3dc4f9d 100644 --- a/sw/source/filter/ww8/ww8par3.cxx +++ b/sw/source/filter/ww8/ww8par3.cxx @@ -365,6 +365,8 @@ struct WW8LVL // only THE entries, WE need! short nDxaLeft1; // first line indent sal_uInt8 nNFC; // number format code +/// Legal numbering: whether this level overrides the nfc of all inherited level numbers. +bool fLegal; // Offset of fieldcodes in Num-X-String sal_uInt8 aOfsNumsXCH[WW8ListManager::nMaxLevel]; sal_uInt8 nLenGrpprlChpx; // length, in bytes, of the LVL's grpprlChpx @@ -659,7 +661,15 @@ bool WW8ListManager::ReadLVL(SwNumFormat& rNumFormat, std::unique_ptr(aLVL.nStartAt)); rNumFormat.SetNumberingType( nType ); +rNumFormat.SetIsLegal(aLVL.fLegal); rNumFormat.SetNumAdjust( eAdj ); if( style::NumberingType::CHAR_SPECIAL == nType )
core.git: Branch 'distro/collabora/co-24.04' - sc/source
sc/source/ui/view/tabvwsh4.cxx |4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) New commits: commit 2a2a9c179801f3dff95ac44468b1d61795677090 Author: Szymon Kłos AuthorDate: Mon Feb 26 15:39:30 2024 +0100 Commit: Andras Timar CommitDate: Tue Feb 27 09:30:51 2024 +0100 lok: don't hide tooltip on every action Signed-off-by: Szymon Kłos Change-Id: I62f69071a4857f7413a995da1ff9fc6ba2f942d2 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/163947 Reviewed-by: Gülşah Köse Tested-by: Jenkins CollaboraOffice (cherry picked from commit 8b56971baa473547000eed4d4235977f5df0cfe5) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/163848 diff --git a/sc/source/ui/view/tabvwsh4.cxx b/sc/source/ui/view/tabvwsh4.cxx index 7d20ed10a085..0afd430728de 100644 --- a/sc/source/ui/view/tabvwsh4.cxx +++ b/sc/source/ui/view/tabvwsh4.cxx @@ -268,7 +268,9 @@ void ScTabViewShell::Deactivate(bool bMDI) { HideNoteMarker(); // note marker -if ( pHdl ) +// in LOK case this could be trigerred on every action from other view (doc_setView) +// we don't want to hide tooltip only because other view did some action +if ( pHdl && !comphelper::LibreOfficeKit::isActive() ) pHdl->HideTip();// Hide formula auto input tip } }
core.git: Branch 'libreoffice-24-2' - include/svx svx/source sw/source
include/svx/sidebar/ValueSetWithTextControl.hxx |1 - svx/source/sidebar/tools/ValueSetWithTextControl.cxx |9 - sw/source/uibase/sidebar/PageSizeControl.cxx |1 - 3 files changed, 11 deletions(-) New commits: commit 759c9ea8e66b5fc1a362cf914055ac498fbbd80a Author: Justin Luth AuthorDate: Mon Feb 26 11:09:59 2024 -0500 Commit: Xisco Fauli CommitDate: Tue Feb 27 09:27:32 2024 +0100 tdf#159865 Revert "tdf#136905 NBB: let ValueSetWithTextControl set optimal" ...height This reverts my 24.2 commit 1876feb8a8805b2f80537e2828c152ccbdf67fe2. Change-Id: I70c3668393a13992f9ce489e86b07860218445b6 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/163954 Tested-by: Justin Luth Reviewed-by: Justin Luth Reviewed-on: https://gerrit.libreoffice.org/c/core/+/163961 Tested-by: Jenkins diff --git a/include/svx/sidebar/ValueSetWithTextControl.hxx b/include/svx/sidebar/ValueSetWithTextControl.hxx index 407e9606757f..ac397f9fdab6 100644 --- a/include/svx/sidebar/ValueSetWithTextControl.hxx +++ b/include/svx/sidebar/ValueSetWithTextControl.hxx @@ -40,7 +40,6 @@ public: SVX_DLLPRIVATE virtual void SetDrawingArea(weld::DrawingArea* pDrawingArea) override; -void SetOptimalDrawingAreaHeight(); void AddItem(const OUString& rItemText, const OUString& rItemText2); SVX_DLLPRIVATE virtual void UserDraw(const UserDrawEvent& rUDEvt) override; diff --git a/svx/source/sidebar/tools/ValueSetWithTextControl.cxx b/svx/source/sidebar/tools/ValueSetWithTextControl.cxx index 91cea51325e6..b5b1f2be3ce9 100644 --- a/svx/source/sidebar/tools/ValueSetWithTextControl.cxx +++ b/svx/source/sidebar/tools/ValueSetWithTextControl.cxx @@ -43,15 +43,6 @@ void ValueSetWithTextControl::SetDrawingArea(weld::DrawingArea* pDrawingArea) SetColCount(); } -void ValueSetWithTextControl::SetOptimalDrawingAreaHeight() -{ -const vcl::Font aFont(Application::GetSettings().GetStyleSettings().GetLabelFont()); -const sal_Int32 nRowHeight = aFont.GetFontSize().Height() * 9 / 4; // see UserDraw() -const Size aSize(GetOutputSizePixel().Width(), nRowHeight * maItems.size()); -GetDrawingArea()->set_size_request(aSize.Width(), aSize.Height()); -SetOutputSizePixel(aSize); -} - void ValueSetWithTextControl::AddItem( const OUString& rItemText, const OUString& rItemText2 ) diff --git a/sw/source/uibase/sidebar/PageSizeControl.cxx b/sw/source/uibase/sidebar/PageSizeControl.cxx index 4ea5995c098f..a2dbe406f335 100644 --- a/sw/source/uibase/sidebar/PageSizeControl.cxx +++ b/sw/source/uibase/sidebar/PageSizeControl.cxx @@ -168,7 +168,6 @@ PageSizeControl::PageSizeControl(PageSizePopup* pControl, weld::Widget* pParent) } mxSizeValueSet->SetNoSelection(); mxSizeValueSet->SetSelectHdl( LINK(this, PageSizeControl, ImplSizeHdl ) ); -mxSizeValueSet->SetOptimalDrawingAreaHeight(); mxSizeValueSet->Show(); mxSizeValueSet->Resize();
core.git: desktop/qa desktop/source include/LibreOfficeKit
desktop/qa/desktop_lib/test_desktop_lib.cxx |5 ++--- desktop/source/lib/init.cxx | 17 - include/LibreOfficeKit/LibreOfficeKit.h |2 -- include/LibreOfficeKit/LibreOfficeKit.hxx |5 - 4 files changed, 6 insertions(+), 23 deletions(-) New commits: commit d5fbbc750ca96f0541e7bd81dd0657fac53803db Author: Caolán McNamara AuthorDate: Fri Feb 23 10:01:50 2024 + Commit: Caolán McNamara CommitDate: Tue Feb 27 09:25:23 2024 +0100 use getCommandValues instead of adding a getViewRenderState Change-Id: Ib6db5dd8ef1db2745cb3c616bb81b1ac2baf6504 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/163812 Tested-by: Jenkins CollaboraOffice Reviewed-by: Miklos Vajna Reviewed-on: https://gerrit.libreoffice.org/c/core/+/163931 Tested-by: Jenkins Reviewed-by: Caolán McNamara diff --git a/desktop/qa/desktop_lib/test_desktop_lib.cxx b/desktop/qa/desktop_lib/test_desktop_lib.cxx index 2457771c384c..c9f276a67eeb 100644 --- a/desktop/qa/desktop_lib/test_desktop_lib.cxx +++ b/desktop/qa/desktop_lib/test_desktop_lib.cxx @@ -3681,13 +3681,12 @@ void DesktopLOKTest::testABI() offsetof(struct _LibreOfficeKitDocumentClass, getA11yFocusedParagraph)); CPPUNIT_ASSERT_EQUAL(documentClassOffset(71), offsetof(struct _LibreOfficeKitDocumentClass, getA11yCaretPosition)); + CPPUNIT_ASSERT_EQUAL(documentClassOffset(72), offsetof(struct _LibreOfficeKitDocumentClass, hyperlinkInfoAtPosition)); -CPPUNIT_ASSERT_EQUAL(documentClassOffset(73), - offsetof(struct _LibreOfficeKitDocumentClass, getViewRenderState)); // As above -CPPUNIT_ASSERT_EQUAL(documentClassOffset(74), sizeof(struct _LibreOfficeKitDocumentClass)); +CPPUNIT_ASSERT_EQUAL(documentClassOffset(73), sizeof(struct _LibreOfficeKitDocumentClass)); } CPPUNIT_TEST_SUITE_REGISTRATION(DesktopLOKTest); diff --git a/desktop/source/lib/init.cxx b/desktop/source/lib/init.cxx index 83a547d3e211..93efef57d138 100644 --- a/desktop/source/lib/init.cxx +++ b/desktop/source/lib/init.cxx @@ -1299,8 +1299,6 @@ static void doc_setAccessibilityState(LibreOfficeKitDocument* pThis, int nId, bo static char* doc_getA11yFocusedParagraph(LibreOfficeKitDocument* pThis); static int doc_getA11yCaretPosition(LibreOfficeKitDocument* pThis); - -static char* doc_getViewRenderState(LibreOfficeKitDocument* pThis); } // extern "C" namespace { @@ -1495,8 +1493,6 @@ LibLODocument_Impl::LibLODocument_Impl(uno::Reference xC m_pDocumentClass->getA11yFocusedParagraph = doc_getA11yFocusedParagraph; m_pDocumentClass->getA11yCaretPosition = doc_getA11yCaretPosition; -m_pDocumentClass->getViewRenderState = doc_getViewRenderState; - gDocumentClass = m_pDocumentClass; } pClass = m_pDocumentClass.get(); @@ -4921,15 +4917,6 @@ static size_t doc_renderShapeSelection(LibreOfficeKitDocument* pThis, char** pOu return 0; } -static char* doc_getViewRenderState(LibreOfficeKitDocument* pThis) -{ -ITiledRenderable* pDoc = getTiledRenderable(pThis); -if (!pDoc) -return nullptr; - -return convertOString(pDoc->getViewRenderState()); -} - namespace { /** Class to react on finishing of a dispatched command. @@ -6386,6 +6373,10 @@ static char* doc_getCommandValues(LibreOfficeKitDocument* pThis, const char* pCo { return getRulerState(pThis); } +else if (aCommand == ".uno:ViewRenderState") +{ +return convertOString(pDoc->getViewRenderState()); +} else if (aCommand.starts_with(aViewRowColumnHeaders)) { tools::Rectangle aRectangle; diff --git a/include/LibreOfficeKit/LibreOfficeKit.h b/include/LibreOfficeKit/LibreOfficeKit.h index f66083e2d301..78651128d3ac 100644 --- a/include/LibreOfficeKit/LibreOfficeKit.h +++ b/include/LibreOfficeKit/LibreOfficeKit.h @@ -517,8 +517,6 @@ struct _LibreOfficeKitDocumentClass /// @see lok::Document::hyperlinkInfoAtPosition(). char* (*hyperlinkInfoAtPosition) (LibreOfficeKitDocument* pThis, int x,int y); -char* (*getViewRenderState) (LibreOfficeKitDocument* pThis); - #endif // defined LOK_USE_UNSTABLE_API || defined LIBO_INTERNAL_ONLY }; diff --git a/include/LibreOfficeKit/LibreOfficeKit.hxx b/include/LibreOfficeKit/LibreOfficeKit.hxx index b6cc69e8c92c..e94053378355 100644 --- a/include/LibreOfficeKit/LibreOfficeKit.hxx +++ b/include/LibreOfficeKit/LibreOfficeKit.hxx @@ -894,11 +894,6 @@ public: return mpDoc->pClass->getA11yCaretPosition(mpDoc); } -char* getViewRenderState() -{ -return mpDoc->pClass->getViewRenderState(mpDoc); -} - #endif // defined LOK_USE_UNSTABLE_API || defined LIBO_INTERNAL_ONLY };
core.git: desktop/source
desktop/source/lib/init.cxx |2 +- 1 file changed, 1 insertion(+), 1 deletion(-) New commits: commit a9386139613735c45765a540ce8fac98f5639d49 Author: Andrea Gelmini AuthorDate: Mon Feb 26 21:49:12 2024 +0100 Commit: Taichi Haradaguchi <20001...@ymail.ne.jp> CommitDate: Tue Feb 27 09:13:58 2024 +0100 Fix typo Change-Id: I48f1487f11ba35b61327b148d51f8ecb4f36b78e Reviewed-on: https://gerrit.libreoffice.org/c/core/+/163992 Tested-by: Jenkins Reviewed-by: Taichi Haradaguchi <20001...@ymail.ne.jp> diff --git a/desktop/source/lib/init.cxx b/desktop/source/lib/init.cxx index a53a228ada06..83a547d3e211 100644 --- a/desktop/source/lib/init.cxx +++ b/desktop/source/lib/init.cxx @@ -4826,7 +4826,7 @@ static void doc_postWindowKeyEvent(LibreOfficeKitDocument* /*pThis*/, unsigned n // // Typically a problem arises when double clicking a shape in calc. The 1st // click selects the shape, triggering generation of a preview, but the second -// shape engers into edit mode before doc_renderShapeSelection has a chance to +// shape enters into edit mode before doc_renderShapeSelection has a chance to // fire, at which point the shape is no longer selected. Rather than generate // an error just return a 0 length result if there is no shape selected, so we // continue to generate an error if a shape is selected, but could not provide
core.git: desktop/source
desktop/source/lib/init.cxx |2 +- 1 file changed, 1 insertion(+), 1 deletion(-) New commits: commit a507daadb1e033eaccc24f0d0115f5010c58873b Author: Andrea Gelmini AuthorDate: Mon Feb 26 21:48:13 2024 +0100 Commit: Taichi Haradaguchi <20001...@ymail.ne.jp> CommitDate: Tue Feb 27 09:12:58 2024 +0100 Fix typo Change-Id: Id1e21804fb2bc93887892192e38b655c8654ed7e Reviewed-on: https://gerrit.libreoffice.org/c/core/+/163991 Reviewed-by: Taichi Haradaguchi <20001...@ymail.ne.jp> Tested-by: Taichi Haradaguchi <20001...@ymail.ne.jp> diff --git a/desktop/source/lib/init.cxx b/desktop/source/lib/init.cxx index f2382e05952d..a53a228ada06 100644 --- a/desktop/source/lib/init.cxx +++ b/desktop/source/lib/init.cxx @@ -4826,7 +4826,7 @@ static void doc_postWindowKeyEvent(LibreOfficeKitDocument* /*pThis*/, unsigned n // // Typically a problem arises when double clicking a shape in calc. The 1st // click selects the shape, triggering generation of a preview, but the second -// shape engers into edit mode befoce doc_renderShapeSelection has a chance to +// shape engers into edit mode before doc_renderShapeSelection has a chance to // fire, at which point the shape is no longer selected. Rather than generate // an error just return a 0 length result if there is no shape selected, so we // continue to generate an error if a shape is selected, but could not provide
core.git: sw/inc
sw/inc/fmteiro.hxx |5 + 1 file changed, 5 insertions(+) New commits: commit 3fb07fbd8edb7c048ca9e2ec5fa0a5206e05b8d0 Author: Miklos Vajna AuthorDate: Tue Feb 27 08:21:38 2024 +0100 Commit: Miklos Vajna CommitDate: Tue Feb 27 09:11:01 2024 +0100 sw: document SwFormatEditInReadonly What it is, which item set can contain it, where is the UI. Change-Id: I470b057418c551da78b174dd02a22206a18dd03f Reviewed-on: https://gerrit.libreoffice.org/c/core/+/163999 Reviewed-by: Miklos Vajna Tested-by: Jenkins diff --git a/sw/inc/fmteiro.hxx b/sw/inc/fmteiro.hxx index 15643f41d925..7ec165654c27 100644 --- a/sw/inc/fmteiro.hxx +++ b/sw/inc/fmteiro.hxx @@ -26,6 +26,11 @@ class IntlWrapper; +/// Allows you to edit the contents of a TextFrame in a document that is read-only. +/// +/// Appears in the item set of an sw::SpzFrameFormat. +/// +/// Insert -> Frame -> Frame -> Options -> Editable in read-only document on the UI. class SW_DLLPUBLIC SwFormatEditInReadonly final : public SfxBoolItem { public: