core.git: svx/source

2024-02-27 Thread Stephan Bergmann (via logerrit)
 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

2024-02-27 Thread Miklos Vajna (via logerrit)
 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

2024-02-27 Thread AhmedHamed (via logerrit)
 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

2024-02-27 Thread Charles Harris

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

2024-02-27 Thread Stephan Bergmann (via logerrit)
 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

2024-02-27 Thread Stephan Bergmann (via logerrit)
 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

2024-02-27 Thread Stephan Bergmann (via logerrit)
 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.

2024-02-27 Thread Heiko Tietze (via logerrit)
 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

2024-02-27 Thread Ilmari Lauhakangas

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

2024-02-27 Thread Adam Seskunas (via logerrit)
 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

2024-02-27 Thread Mike Kaganski (via logerrit)
 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

2024-02-27 Thread Justin Luth (via logerrit)
 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

2024-02-27 Thread Justin Luth (via logerrit)
 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

2024-02-27 Thread Kohei Yoshida (via logerrit)
 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

2024-02-27 Thread Justin Luth (via logerrit)
 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/

2024-02-27 Thread Caolán McNamara (via logerrit)
 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

2024-02-27 Thread zeph (via logerrit)
 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

2024-02-27 Thread Akshay Kumar Dubey
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

2024-02-27 Thread AhmedHamed (via logerrit)
 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

2024-02-27 Thread Andrea Gelmini (via logerrit)
 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

2024-02-27 Thread Gülşah Köse (via logerrit)
 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

2024-02-27 Thread Caolán McNamara (via logerrit)
 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

2024-02-27 Thread Gülşah Köse (via logerrit)
 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

2024-02-27 Thread Caolán McNamara (via logerrit)
 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

2024-02-27 Thread Justin Luth (via logerrit)
 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

2024-02-27 Thread Michael Weghorn (via logerrit)
 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

2024-02-27 Thread Michael Weghorn (via logerrit)
 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

2024-02-27 Thread Sarper Akdemir (via logerrit)
 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

2024-02-27 Thread Caolán McNamara (via logerrit)
 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

2024-02-27 Thread Andrea Gelmini (via logerrit)
 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

2024-02-27 Thread Thorsten Behrens (via logerrit)
 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

2024-02-27 Thread Stephan Bergmann (via logerrit)
 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

2024-02-27 Thread Gülşah Köse (via logerrit)
 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

2024-02-27 Thread Szymon Kłos (via logerrit)
 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

2024-02-27 Thread Mike Kaganski (via logerrit)
 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

2024-02-27 Thread Jim Raykowski (via logerrit)
 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

2024-02-27 Thread Michael Stahl (via logerrit)
 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

2024-02-27 Thread Tomaž Vajngerl (via logerrit)
 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

2024-02-27 Thread Noel Grandin (via logerrit)
 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

2024-02-27 Thread Taichi Haradaguchi (via logerrit)
 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

2024-02-27 Thread Caolán McNamara (via logerrit)
 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

2024-02-27 Thread Mike Kaganski (via logerrit)
 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

2024-02-27 Thread Sarper Akdemir (via logerrit)
 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

2024-02-27 Thread Sarper Akdemir (via logerrit)
 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

2024-02-27 Thread Caolán McNamara (via logerrit)
 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

2024-02-27 Thread Caolán McNamara (via logerrit)
 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

2024-02-27 Thread Thorsten Behrens (via logerrit)
 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

2024-02-27 Thread Caolán McNamara (via logerrit)
 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

2024-02-27 Thread Mike Kaganski (via logerrit)
 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

2024-02-27 Thread Khaled Hosny (via logerrit)
 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

2024-02-27 Thread Khaled Hosny (via logerrit)
 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

2024-02-27 Thread Weblate (via logerrit)
 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

2024-02-27 Thread Caolán McNamara (via logerrit)
 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

2024-02-27 Thread Caolán McNamara (via logerrit)
 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

2024-02-27 Thread Mike Kaganski (via logerrit)
 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

2024-02-27 Thread Michael Stahl (via logerrit)
 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

2024-02-27 Thread Julien Nabet (via logerrit)
 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

2024-02-27 Thread Julien Nabet (via logerrit)
 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

2024-02-27 Thread Po-Yen Huang (via logerrit)
 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

2024-02-27 Thread Hossein (via logerrit)
 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

2024-02-27 Thread Andreas Heinisch (via logerrit)
 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

2024-02-27 Thread Mike Kaganski (via logerrit)
 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

2024-02-27 Thread Attila Szűcs (via logerrit)
 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

2024-02-27 Thread Michael Stahl (via logerrit)
 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

2024-02-27 Thread Miklos Vajna (via logerrit)
 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

2024-02-27 Thread Szymon Kłos (via logerrit)
 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

2024-02-27 Thread Justin Luth (via logerrit)
 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

2024-02-27 Thread Caolán McNamara (via logerrit)
 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

2024-02-27 Thread Andrea Gelmini (via logerrit)
 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

2024-02-27 Thread Andrea Gelmini (via logerrit)
 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

2024-02-27 Thread Miklos Vajna (via logerrit)
 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: