core.git: sw/inc sw/source

2024-03-22 Thread Noel Grandin (via logerrit)
 sw/inc/bparr.hxx |5 
 sw/source/core/bastyp/bparr.cxx  |   41 +++
 sw/source/core/docnode/nodes.cxx |8 ---
 3 files changed, 47 insertions(+), 7 deletions(-)

New commits:
commit 284d80825ec7cf3c39af91959e4bf3d539b066f4
Author: Noel Grandin 
AuthorDate: Wed Mar 20 14:43:44 2024 +0200
Commit: Noel Grandin 
CommitDate: Fri Mar 22 08:00:40 2024 +0100

tdf#158556 speed up SwNodes::RemoveNode

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

diff --git a/sw/inc/bparr.hxx b/sw/inc/bparr.hxx
index 9f3e17f8d140..4f831c8bab19 100644
--- a/sw/inc/bparr.hxx
+++ b/sw/inc/bparr.hxx
@@ -91,6 +91,11 @@ public:
 void Move( sal_Int32 from, sal_Int32 to );
 void Replace( sal_Int32 pos, BigPtrEntry* p);
 
+/** Speed up the complicated removal logic in SwNodes::RemoveNode.
+Returns the entry before pNotTheOne.
+*/
+BigPtrEntry* ReplaceTheOneAfter( BigPtrEntry* pNotTheOne, BigPtrEntry* 
pNewEntry);
+
 SW_DLLPUBLIC BigPtrEntry* operator[]( sal_Int32 ) const;
 };
 
diff --git a/sw/source/core/bastyp/bparr.cxx b/sw/source/core/bastyp/bparr.cxx
index b99385bfd3dc..03e035c69621 100644
--- a/sw/source/core/bastyp/bparr.cxx
+++ b/sw/source/core/bastyp/bparr.cxx
@@ -397,6 +397,47 @@ void BigPtrArray::Replace( sal_Int32 idx, BigPtrEntry* 
pElem)
 p->mvData[ idx - p->nStart ] = pElem;
 }
 
+/** Speed up the complicated removal logic in SwNodes::RemoveNode.
+Replaces the node AFTER pNotTheOne.
+Returns the entry BEFORE pNotTheOne.
+*/
+BigPtrEntry* BigPtrArray::ReplaceTheOneAfter( BigPtrEntry* pNotTheOne, 
BigPtrEntry* pNewEntry)
+{
+assert(pNotTheOne->m_pBlock->pBigArr == this);
+BlockInfo* p = pNotTheOne->m_pBlock;
+sal_uInt16 nOffset = pNotTheOne->m_nOffset;
+
+// if the next node is inside the current block
+if (nOffset < p->nElem - 1)
+{
+++nOffset;
+p->mvData[nOffset] = pNewEntry;
+pNewEntry->m_nOffset = nOffset;
+pNewEntry->m_pBlock = p;
+--nOffset;
+}
+else
+{
+// slow path
+BigPtrArray::Replace( pNotTheOne->GetPos()+1, pNewEntry );
+}
+
+// if the previous node is inside the current block
+if (nOffset != 0)
+{
+--nOffset;
+return p->mvData[nOffset];
+}
+else
+{
+// slow path
+sal_Int32 nPrevPos = pNotTheOne->GetPos();
+if (nPrevPos == 0)
+return nullptr;
+return BigPtrArray::operator[]( nPrevPos - 1 );
+}
+}
+
 /** Compress the array */
 sal_uInt16 BigPtrArray::Compress()
 {
diff --git a/sw/source/core/docnode/nodes.cxx b/sw/source/core/docnode/nodes.cxx
index 0e2a0bc95c5d..5f059f94c519 100644
--- a/sw/source/core/docnode/nodes.cxx
+++ b/sw/source/core/docnode/nodes.cxx
@@ -2413,14 +2413,8 @@ void SwNodes::RemoveNode( SwNodeOffset nDelPos, 
SwNodeOffset nSz, bool bDel )
 delete pDel;
 // coverity[use_after_free : FALSE] - pPrev will be reassigned if 
there will be another iteration to the loop
 pDel = pPrev;
-sal_uLong nPrevNdIdx = pPrev->GetPos();
 BigPtrEntry* pTempEntry = &aTempEntries[sal_Int32(nCnt)];
-BigPtrArray::Replace( nPrevNdIdx+1, pTempEntry );
-if( nCnt )
-pPrev = BigPtrArray::operator []( nPrevNdIdx  - 1 );
-// the accessed element can be a naked BigPtrEntry from
-// aTempEntries, so the downcast to SwNode* in
-// SwNodes::operator[] would be illegal (and unnecessary)
+pPrev = ReplaceTheOneAfter(pPrev, pTempEntry);
 }
 nDelPos = SwNodeOffset(pDel->GetPos() + 1);
 }


autosave errors

2024-03-22 Thread jax999
 
  
 When LibreOfficeWriter makes an automatic back-up save ... the text you write 
while this is happening, is lost. For most users, this might be a small 
problem, but when you, like me, work with rather large files and write 
relatively quickly, sometimes whole words end up missing that way ... and I 
have to be extra careful reading afterwards to find these 'holes' in the text.  
 Other word processing systems I have used so far have a buffer function, where 
the text that is written during auto-save is saved and then when the auto-save 
is over, inserted in the right place. I would think such a feature would be a 
great improvement for Libre.   Unfortunately, I don't know enough programming 
to fix the problem myself... but I saw a while ago that you asked for user 
feedback, so this is my contribution.   Jack Jensen  
 


core.git: Branch 'libreoffice-24-2' - sw/qa sw/source

2024-03-22 Thread Mike Kaganski (via logerrit)
 sw/qa/extras/unowriter/unowriter.cxx |   21 +
 sw/source/core/unocore/unoobj.cxx|   12 +---
 2 files changed, 30 insertions(+), 3 deletions(-)

New commits:
commit 41586f2f417a2d55d6baa07d3885d2d117a16d1d
Author: Mike Kaganski 
AuthorDate: Wed Mar 20 16:24:07 2024 +0500
Commit: Xisco Fauli 
CommitDate: Fri Mar 22 08:35:46 2024 +0100

tdf#160278: restore cursor bounds properly

The passed string length is not a correct measure of how many steps
should the selection expand in the resulting text: the cursor goes
over glyphs, not over UTF-16 code units. Thus, it's easier to store
the position prior to insertion, and restore it from the indexes.

Change-Id: I1d592ff30199007ba3a99d7e1a6d2db2da35f1cb
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/165056
Tested-by: Jenkins
Reviewed-by: Mike Kaganski 
Signed-off-by: Xisco Fauli 
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/165145

diff --git a/sw/qa/extras/unowriter/unowriter.cxx 
b/sw/qa/extras/unowriter/unowriter.cxx
index 8bcadbaf4227..80b9e556f73b 100644
--- a/sw/qa/extras/unowriter/unowriter.cxx
+++ b/sw/qa/extras/unowriter/unowriter.cxx
@@ -1201,6 +1201,27 @@ CPPUNIT_TEST_FIXTURE(SwUnoWriter, testTdf129841)
 CPPUNIT_ASSERT_EQUAL(aRefColor, aColor);
 }
 
+CPPUNIT_TEST_FIXTURE(SwUnoWriter, testTdf160278)
+{
+createSwDoc();
+auto xTextDocument(mxComponent.queryThrow());
+auto xText(xTextDocument->getText());
+xText->setString(u"123"_ustr);
+CPPUNIT_ASSERT_EQUAL(u"123"_ustr, xText->getString());
+auto xCursor = xText->createTextCursorByRange(xText->getEnd());
+xCursor->goLeft(1, true);
+CPPUNIT_ASSERT_EQUAL(u"3"_ustr, xCursor->getString());
+// Insert an SMP character U+1f702 (so it's two UTF-16 code units, 0xd83d 
0xdf02):
+xCursor->setString(u"🜂"_ustr);
+// Without the fix, the replacement would expand the cursor one too many 
characters to the left,
+// and the cursor text would become "2🜂", failing the next test:
+CPPUNIT_ASSERT_EQUAL(u"🜂"_ustr, xCursor->getString());
+xCursor->setString(u"test"_ustr);
+CPPUNIT_ASSERT_EQUAL(u"test"_ustr, xCursor->getString());
+// This test would fail, too; the text would be "1test":
+CPPUNIT_ASSERT_EQUAL(u"12test"_ustr, xText->getString());
+}
+
 CPPUNIT_PLUGIN_IMPLEMENT();
 
 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/sw/source/core/unocore/unoobj.cxx 
b/sw/source/core/unocore/unoobj.cxx
index 49562c1d0284..df02c4773a15 100644
--- a/sw/source/core/unocore/unoobj.cxx
+++ b/sw/source/core/unocore/unoobj.cxx
@@ -752,13 +752,19 @@ void SwXTextCursor::DeleteAndInsert(std::u16string_view 
aText,
 }
 if(nTextLen)
 {
+// Store node and content indexes prior to insertion: to select 
the inserted text,
+// we need to account for possible surrogate pairs, combining 
characters, etc.; it
+// is easier to just restore the correct position from the indexes.
+const auto start = pCurrent->Start();
+const auto nodeIndex = start->GetNodeIndex();
+const auto contentIndex = start->GetContentIndex();
 const bool bSuccess(
 SwUnoCursorHelper::DocInsertStringSplitCR(
-rDoc, *pCurrent, aText, bool(eMode & 
::sw::DeleteAndInsertMode::ForceExpandHints)));
+rDoc, SwPaM(*start, pCurrent), aText, bool(eMode & 
::sw::DeleteAndInsertMode::ForceExpandHints)));
 OSL_ENSURE( bSuccess, "Doc->Insert(Str) failed." );
 
-SwUnoCursorHelper::SelectPam(*pUnoCursor, true);
-pCurrent->Left(aText.size());
+pCurrent->SetMark();
+pCurrent->GetPoint()->Assign(nodeIndex, contentIndex);
 }
 pCurrent = pCurrent->GetNext();
 } while (pCurrent != pUnoCursor);


Re: Import of 3D-Image from pptx

2024-03-22 Thread Miklos Vajna
Hi Regina,

On Thu, Mar 21, 2024 at 11:41:07PM +0100, Regina Henschel 
 wrote:
> at the moment, a 3D image is imported as an image and displayed in Impress
> without 3D. The 3D properties are in the InteropGrabBag and are written out
> again on export, in addition to a rotation or mirroring that the user has
> made with the image in LO.
> 
> The 3D image could be treated in the same way as an image that has been
> cropped to a shape in PowerPoint. Such an image is imported as a custom
> shape with bitmap filling. Such a custom shape can then be displayed in 3D
> mode. When saving, however, as with the cropped image, the result would not
> be a pure image but a shape with a bitmap fill.
> 
> What do you think? Should I implement this or should I continue to import a
> 3D image as a pure image?

I think in both cases the ideal would be to extend SdrGrafObj, to
support cropping and 3D properties if PPTX supports that. Of course,
it's good to share code with SdrObjCustomShape in the implementation if
possible.

If that's not possible (takes too much time, too complex), then it's an
option to map the images to custom shapes in our side, but sooner or
later these workarounds cause some problems. So at least some TODO /
FIXME comment would be nice, if you go this way.

Thanks,

Miklos


core.git: 2 commits - solenv/gbuild

2024-03-22 Thread Stephan Bergmann (via logerrit)
 solenv/gbuild/gbuild.help.txt   |2 +-
 solenv/gbuild/gbuild.mk |   17 ++---
 solenv/gbuild/platform/com_GCC_defs.mk  |4 ++--
 solenv/gbuild/platform/com_MSC_class.mk |2 +-
 4 files changed, 6 insertions(+), 19 deletions(-)

New commits:
commit 42a76c7bf5a6c5cc60487f4bdc7bf0a7bab3c47a
Author: Stephan Bergmann 
AuthorDate: Wed Mar 20 22:13:22 2024 +0100
Commit: Stephan Bergmann 
CommitDate: Fri Mar 22 08:42:03 2024 +0100

Drop upper-case DEBUG, consolidate on lower-case debug

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

diff --git a/solenv/gbuild/gbuild.help.txt b/solenv/gbuild/gbuild.help.txt
index fb12142d4aff..1ced8090a458 100644
--- a/solenv/gbuild/gbuild.help.txt
+++ b/solenv/gbuild/gbuild.help.txt
@@ -110,7 +110,7 @@ INTERACTIVE VARIABLES:
BUILDTOOLTRACE  Run all commands that invoke built tools in strace,
valgrind or a debugger:
BUILDTOOLTRACE='$(DEVENV) /debugexe' PARALLELISM=1 make
-   DEBUG / debug   If not empty, build as with --enable-debug.
+   debug   If not empty, build as with --enable-debug.
ENABLE_SYMBOLS / enable_symbols
If not empty, build as with --enable-symbols.
dbglevelIf not empty, force the debug level to the specified 
value. The
diff --git a/solenv/gbuild/gbuild.mk b/solenv/gbuild/gbuild.mk
index f91663e217d1..5b76a58bdada 100644
--- a/solenv/gbuild/gbuild.mk
+++ b/solenv/gbuild/gbuild.mk
@@ -100,13 +100,6 @@ gb_ENABLE_SYMBOLS_FOR := all
 endif
 
 gb_DEBUGLEVEL := 0
-ifneq ($(strip $(DEBUG)),)
-gb_DEBUGLEVEL := 1
-# make DEBUG=true should force -g
-ifeq ($(origin DEBUG),command line)
-gb_ENABLE_SYMBOLS_FOR := all
-endif
-endif
 ifneq ($(strip $(debug)),)
 gb_DEBUGLEVEL := 1
 ifeq ($(origin debug),command line)
commit 77b09314b45c178bb8b93e887efb99162c070ab3
Author: Stephan Bergmann 
AuthorDate: Wed Mar 20 21:16:12 2024 +0100
Commit: Stephan Bergmann 
CommitDate: Fri Mar 22 08:41:55 2024 +0100

Drop redundant gb_ENABLE_DBGUTIL

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

diff --git a/solenv/gbuild/gbuild.mk b/solenv/gbuild/gbuild.mk
index 9b3b1d519b05..f91663e217d1 100644
--- a/solenv/gbuild/gbuild.mk
+++ b/solenv/gbuild/gbuild.mk
@@ -84,12 +84,6 @@ ifneq ($(strip $(TIMELOG)$(timelog)),)
 gb_TIMELOG := 1
 endif
 
-ifneq ($(ENABLE_DBGUTIL),)
-gb_ENABLE_DBGUTIL := $(true)
-else
-gb_ENABLE_DBGUTIL := $(false)
-endif
-
 gb_ENABLE_SYMBOLS_FOR := $(ENABLE_SYMBOLS_FOR)
 
 # ENABLE_SYMBOLS (presumably from the command line)
@@ -119,7 +113,7 @@ ifeq ($(origin debug),command line)
 gb_ENABLE_SYMBOLS_FOR := all
 endif
 endif
-ifeq ($(gb_ENABLE_DBGUTIL),$(true))
+ifeq ($(ENABLE_DBGUTIL),TRUE)
 gb_DEBUGLEVEL := 1
 endif
 
@@ -230,7 +224,7 @@ gb_GLOBALDEFS := \
$(gb_COMPILERDEFS) \
$(gb_CPUDEFS) \
 
-ifeq ($(gb_ENABLE_DBGUTIL),$(true))
+ifeq ($(ENABLE_DBGUTIL),TRUE)
 gb_GLOBALDEFS += -DDBG_UTIL
 
 ifneq ($(COM)-$(MSVC_USE_DEBUG_RUNTIME),MSC-)
diff --git a/solenv/gbuild/platform/com_GCC_defs.mk 
b/solenv/gbuild/platform/com_GCC_defs.mk
index 57338bc7f170..e8bf170bd454 100644
--- a/solenv/gbuild/platform/com_GCC_defs.mk
+++ b/solenv/gbuild/platform/com_GCC_defs.mk
@@ -49,7 +49,7 @@ gb_COMPILERDEFS := \
$(if $(filter EMSCRIPTEN,$(OS)),-U_FORTIFY_SOURCE) \
 
 # enable debug STL
-ifeq ($(gb_ENABLE_DBGUTIL),$(true))
+ifeq ($(ENABLE_DBGUTIL),TRUE)
 ifneq ($(HAVE_LIBSTDCPP),)
 gb_COMPILERDEFS_STDLIB_DEBUG = -D_GLIBCXX_DEBUG
 else
@@ -202,7 +202,7 @@ endif
 gb_LinkTarget_EXCEPTIONFLAGS := \
-fexceptions
 
-ifeq ($(gb_ENABLE_DBGUTIL),$(false))
+ifeq ($(ENABLE_DBGUTIL),)
 # Clang doesn't have this option
 ifeq ($(HAVE_GCC_FNO_ENFORCE_EH_SPECS),TRUE)
 gb_LinkTarget_EXCEPTIONFLAGS += \
diff --git a/solenv/gbuild/platform/com_MSC_class.mk 
b/solenv/gbuild/platform/com_MSC_class.mk
index 6c3182b54aa4..eccc64e1b2f1 100644
--- a/solenv/gbuild/platform/com_MSC_class.mk
+++ b/solenv/gbuild/platform/com_MSC_class.mk
@@ -330,7 +330,7 @@ gb_Windows_PE_TARGETTYPEFLAGS := \
-manifest
 
 # link.exe in -LIB mode doesn't understand -debug, use it only for EXEs and 
DLLs
-ifeq ($(gb_ENABLE_DBGUTIL),$(true))
+ifeq ($(ENABLE_DBGUTIL),TRUE)
 # fastlink is faster but pdb files reference .obj files
 # but don't do that for setup_native DLLs: this produces make error 139 in 
some configurations
 gb_Windows_PE_TARGETTYPEFLAGS_DEBUGINFO = $(if $(filter 
-U_DLL,$(1)),-debug,-debug:fastlink)


core.git: 3 commits - solenv/gbuild

2024-03-22 Thread Stephan Bergmann (via logerrit)
 solenv/gbuild/gbuild.help.txt |3 +--
 solenv/gbuild/gbuild.mk   |   35 ++-
 2 files changed, 15 insertions(+), 23 deletions(-)

New commits:
commit b42429f68cb83fcfc5de102b0922b05ecd6c528e
Author: Stephan Bergmann 
AuthorDate: Wed Mar 20 22:53:27 2024 +0100
Commit: Stephan Bergmann 
CommitDate: Fri Mar 22 08:42:25 2024 +0100

Determine OSL_DEBUG_LEVEL directly from dbglevel

...and reorder the code a bit, so that the dbglevel-releated code is 
separated
from the gb_ENABLE_SYMBOLS_FOR-related code

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

diff --git a/solenv/gbuild/gbuild.mk b/solenv/gbuild/gbuild.mk
index 42a2617b92c1..a36b2b758479 100644
--- a/solenv/gbuild/gbuild.mk
+++ b/solenv/gbuild/gbuild.mk
@@ -84,31 +84,30 @@ ifneq ($(strip $(TIMELOG)$(timelog)),)
 gb_TIMELOG := 1
 endif
 
+ifeq ($(strip $(dbglevel)),)
+ifeq ($(debug),)
+dbglevel := 0
+else
+dbglevel := 1
+endif
+endif
+
 gb_ENABLE_SYMBOLS_FOR := $(ENABLE_SYMBOLS_FOR)
 
 # enable_symbols (presumably from the command line)
 ifneq ($(strip $(enable_symbols)),)
 gb_ENABLE_SYMBOLS_FOR := $(enable_symbols)
 endif
-
-# note: ENABLE_BREAKPAD turns on symbols
-ifneq ($(strip $(ENABLE_BREAKPAD)),)
-gb_ENABLE_SYMBOLS_FOR := all
-endif
-
-gb_DEBUGLEVEL := 0
-ifneq ($(strip $(debug)),)
-gb_DEBUGLEVEL := 1
 ifeq ($(origin debug),command line)
 gb_ENABLE_SYMBOLS_FOR := all
 endif
-endif
-
-ifneq ($(strip $(dbglevel)),)
-gb_DEBUGLEVEL := $(strip $(dbglevel))
 ifeq ($(origin dbglevel),command line)
 gb_ENABLE_SYMBOLS_FOR := all
 endif
+
+# note: ENABLE_BREAKPAD turns on symbols
+ifneq ($(strip $(ENABLE_BREAKPAD)),)
+gb_ENABLE_SYMBOLS_FOR := all
 endif
 
 # handle special cases
@@ -206,7 +205,7 @@ gb_CPUDEFS += -D$(CPUNAME)
 
 gb_GLOBALDEFS := \
-D_REENTRANT \
-   -DOSL_DEBUG_LEVEL=$(gb_DEBUGLEVEL) \
+   -DOSL_DEBUG_LEVEL=$(dbglevel) \
$(gb_OSDEFS) \
$(gb_COMPILERDEFS) \
$(gb_CPUDEFS) \
commit 8e10fd30cf7ef5774c54dc2dce0f8e00b279b106
Author: Stephan Bergmann 
AuthorDate: Wed Mar 20 22:34:39 2024 +0100
Commit: Stephan Bergmann 
CommitDate: Fri Mar 22 08:42:18 2024 +0100

$(ENABLE_DBGUTIL) implies $(debug) (aka $(ENABLE_DEBUG))

...so no need to check the former in addition to the latter (which is done 
a few
lines up)

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

diff --git a/solenv/gbuild/gbuild.mk b/solenv/gbuild/gbuild.mk
index d842e0af0b86..42a2617b92c1 100644
--- a/solenv/gbuild/gbuild.mk
+++ b/solenv/gbuild/gbuild.mk
@@ -103,9 +103,6 @@ ifeq ($(origin debug),command line)
 gb_ENABLE_SYMBOLS_FOR := all
 endif
 endif
-ifeq ($(ENABLE_DBGUTIL),TRUE)
-gb_DEBUGLEVEL := 1
-endif
 
 ifneq ($(strip $(dbglevel)),)
 gb_DEBUGLEVEL := $(strip $(dbglevel))
commit 21d51ae1a41dca6198a3d8563873cbeccb960a26
Author: Stephan Bergmann 
AuthorDate: Wed Mar 20 22:25:48 2024 +0100
Commit: Stephan Bergmann 
CommitDate: Fri Mar 22 08:42:10 2024 +0100

Drop upper-case ENABLE_SYMBOLS, consolidate on lower-case enable_symbols

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

diff --git a/solenv/gbuild/gbuild.help.txt b/solenv/gbuild/gbuild.help.txt
index 1ced8090a458..647bd74afea1 100644
--- a/solenv/gbuild/gbuild.help.txt
+++ b/solenv/gbuild/gbuild.help.txt
@@ -111,8 +111,7 @@ INTERACTIVE VARIABLES:
valgrind or a debugger:
BUILDTOOLTRACE='$(DEVENV) /debugexe' PARALLELISM=1 make
debug   If not empty, build as with --enable-debug.
-   ENABLE_SYMBOLS / enable_symbols
-   If not empty, build as with --enable-symbols.
+   enable_symbols  If not empty, build as with --enable-symbols.
dbglevelIf not empty, force the debug level to the specified 
value. The
debug level is passed to the source code through 
OSL_DEBUG_LEVEL
macro.
diff --git a/solenv/gbuild/gbuild.mk b/solenv/gbuild/gbuild.mk
index 5b76a58bdada..d842e0af0b86 100644
--- a/solenv/gbuild/gbuild.mk
+++ b/solenv/gbuild/gbuild.mk
@@ -86,10 +86,7 @@ endif
 
 gb_ENABLE_SYMBOLS_FOR := $(ENABLE_SYMBOLS_FOR)
 
-# ENABLE_SYMBOLS (presumably from the command line)
-ifneq ($(strip $(ENABLE_SYMBOLS)),)
-gb_ENABLE_SYMBOLS_FOR := $(ENABLE_SYMBOLS)
-endif
+# enable_symbols (presumably from the command line)
 ifneq ($(strip $(enable_symbols)),)
 gb_ENABLE_SYMBOLS_FOR := $(enable_symbols)
 endif


core.git: configmgr/source

2024-03-22 Thread Michael Stahl (via logerrit)
 configmgr/source/xcsparser.cxx |4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

New commits:
commit 8350404ec1c02df8b4f6b4f48947ddbff53d91e5
Author: Michael Stahl 
AuthorDate: Thu Mar 21 18:47:03 2024 +0100
Commit: Michael Stahl 
CommitDate: Fri Mar 22 08:46:04 2024 +0100

configmgr: fix parse error if subelements of  used

The unused but valid child elements of  such as  may be
used by exentions. This fails with:

  warn:configmgr:15104:10916:configmgr/source/components.cxx:660: error 
reading 
"file:///instdir/program/../share/uno_packages/cache/uno_packages/xcs" 
com.sun.star.uno.RuntimeException message: "bad member  in xcs 
at configmgr/source/xcsparser.cxx:289"

Because ending the first such element sets bIsParsingInfo_ to false.

This fix just concatenates all the characters in all the children,
should work well enough for extensions.

(regression from commit db3078bd8c8e3ce3a99fc3987bb6e93b609990c1)

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

diff --git a/configmgr/source/xcsparser.cxx b/configmgr/source/xcsparser.cxx
index e70ddac6a6c9..35f61fa1959e 100644
--- a/configmgr/source/xcsparser.cxx
+++ b/configmgr/source/xcsparser.cxx
@@ -129,7 +129,9 @@ bool XcsParser::startElement(
 // illegal content):
 if (ignoring_ > 0
 || (nsId == xmlreader::XmlReader::NAMESPACE_NONE
-&& (name == "import" || name == "uses" || name == "constraints" || 
name == "desc")))
+&& (name == "import" || name == "uses" || name == "constraints" || 
name == "desc"
+// the following are unused by LO but valid
+|| name == "deprecated" || name == "author" || name == 
"label")))
 {
 assert(ignoring_ < LONG_MAX);
 ++ignoring_;


core.git: sc/qa sc/source

2024-03-22 Thread Balazs Varga (via logerrit)
 sc/qa/unit/ucalc_formula.cxx |2 +-
 sc/source/core/tool/compiler.cxx |   35 +++
 2 files changed, 36 insertions(+), 1 deletion(-)

New commits:
commit ba0ec4a5d2b025b675410cd18890d1cca3bc5a2f
Author: Balazs Varga 
AuthorDate: Wed Mar 20 18:32:44 2024 +0100
Commit: Balazs Varga 
CommitDate: Fri Mar 22 09:23:58 2024 +0100

tdf#159687 sc formula SUMPRODUCT performance fix: add more binary

operators which need to be checked if they are next to a trimmable
DoubleRef arguments or not.
Example:
=SUMPRODUCT(($D:$D>M47:M47)*($D:$D
$D:$D and $I:$I columns are trimmable.

Recalculation of formulas with a lot of SUMPRODUCT where we comparing
full columns could take minutes during editing a sheet. With reducing
the size of the compared ranges to the actual data could significantly
speed up the recalculation.

This takes the recalculation time from ~50 sec to <1 sec on my machine.

Note: probabaly the same could be applied to the SUM function.

Change-Id: I758660d0b638ef7255bd5a41a96755289b5a2b41
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/165074
Tested-by: Jenkins
Reviewed-by: Noel Grandin 
Reviewed-by: Balazs Varga 

diff --git a/sc/qa/unit/ucalc_formula.cxx b/sc/qa/unit/ucalc_formula.cxx
index 105c7e4a772d..adbc9c121042 100644
--- a/sc/qa/unit/ucalc_formula.cxx
+++ b/sc/qa/unit/ucalc_formula.cxx
@@ -1464,7 +1464,7 @@ CPPUNIT_TEST_FIXTURE(TestFormula, 
testFormulaAnnotateTrimOnDoubleRefs)
 
 {
 "=SUMPRODUCT(A:A=$C$1; 1-(A:A=$C$1))",
-ScRange(-1, -1, -1, -1, -1, -1), // Has no trimmable 
double-ref.
+ScRange(0, 0, 0, 0, 1048575, 0),
 0.0,
 false// Not in matrix mode.
 },
diff --git a/sc/source/core/tool/compiler.cxx b/sc/source/core/tool/compiler.cxx
index 5e0258b3fd21..152a75f949b1 100644
--- a/sc/source/core/tool/compiler.cxx
+++ b/sc/source/core/tool/compiler.cxx
@@ -6564,6 +6564,8 @@ void ScCompiler::AnnotateTrimOnDoubleRefs()
 // such that one of the operands of ocEqual is a double-ref.
 // Examples of formula that matches this are:
 //   SUMPRODUCT(IF($A:$A=$L12;$D:$D*G:G))
+// Also in case of DoubleRef arguments around other Binary operators 
can be trimmable:
+//   SUMPRODUCT(($D:$D>M47:M47)*($D:$DIsInForceArray())
+break;
+FormulaToken* pLHS = *(ppTok - 1);
+FormulaToken* pRHS = *(ppTok - 2);
+StackVar lhsType = pLHS->GetType();
+StackVar rhsType = pRHS->GetType();
+if (lhsType == svDoubleRef && (rhsType == svSingleRef 
|| rhsType == svDoubleRef))
+{
+pLHS->GetDoubleRef()->SetTrimToData(true);
+}
+if (rhsType == svDoubleRef && (lhsType == svSingleRef 
|| lhsType == svDoubleRef))
+{
+pRHS->GetDoubleRef()->SetTrimToData(true);
+}
+}
+break;
 case ocPush:
 break;
 case ocClose:


Removed uppercase DEBUG, ENABLE_SYMBOLS, DBGLEVEL make variables

2024-03-22 Thread Stephan Bergmann
On recent master, to simplify the code somewhat, I removed the redundant 
all-uppercase variants of some make variables (e.g., `make DEBUG=t` -> 
`make debug=t`), and only left the all-lowercase variants:



diff --git a/solenv/gbuild/gbuild.help.txt b/solenv/gbuild/gbuild.help.txt
index c677541309f5..647bd74afea1 100644
--- a/solenv/gbuild/gbuild.help.txt
+++ b/solenv/gbuild/gbuild.help.txt
@@ -110,11 +110,9 @@ INTERACTIVE VARIABLES:
BUILDTOOLTRACE  Run all commands that invoke built tools in strace,
valgrind or a debugger:
BUILDTOOLTRACE='$(DEVENV) /debugexe' PARALLELISM=1 make
-   DEBUG / debug   If not empty, build as with --enable-debug.
-   ENABLE_SYMBOLS / enable_symbols
-   If not empty, build as with --enable-symbols.
-   DBGLEVEL / dbglevel
-   If not empty, force the debug level to the specified 
value. The
+   debug   If not empty, build as with --enable-debug.
+   enable_symbols  If not empty, build as with --enable-symbols.
+   dbglevelIf not empty, force the debug level to the specified 
value. The
debug level is passed to the source code through 
OSL_DEBUG_LEVEL
macro.
0 = no debug (as with --disable-debug)


(Done as one small step of the overall quest to cut down on our somewhat 
confusing zoo of debugging-related configure options, make variables, 
and C/C++ macros.)


core.git: wizards/source

2024-03-22 Thread Jean-Pierre Ledure (via logerrit)
 wizards/source/scriptforge/SF_Session.xba |2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

New commits:
commit 065fa9d77e5bd550600e8985d7e7aac8e10745c4
Author: Jean-Pierre Ledure 
AuthorDate: Thu Mar 21 15:54:55 2024 +0100
Commit: Jean-Pierre Ledure 
CommitDate: Fri Mar 22 09:54:47 2024 +0100

ScriptForge (session).RunApplication() crash fix tdf#160222

Use
 com.sun.star.system.SystemShellExecuteFlags.DEFAULTS
i.o.
 com.sun.star.system.SystemShellExecuteFlags.URIS_ONLY

as argument of
 com.sun.star.system.SystemShellExecute.execute()

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

diff --git a/wizards/source/scriptforge/SF_Session.xba 
b/wizards/source/scriptforge/SF_Session.xba
index aeca1133e346..307fb7a8f4bf 100644
--- a/wizards/source/scriptforge/SF_Session.xba
+++ b/wizards/source/scriptforge/SF_Session.xba
@@ -587,7 +587,7 @@ Check:
 Try:
Set oShell = SF_Utils._GetUNOService("SystemShellExecute")
sCommand = SF_FileSystem._ConvertToUrl(Command)
-   oShell.execute(sCommand, Parameters, 
com.sun.star.system.SystemShellExecuteFlags.URIS_ONLY)
+   oShell.execute(sCommand, Parameters, 
com.sun.star.system.SystemShellExecuteFlags.DEFAULTS)
bReturn = True
 
 Finally:


core.git: bridges/inc bridges/source

2024-03-22 Thread Stephan Bergmann (via logerrit)
 bridges/inc/msvc/except.hxx|2 +-
 bridges/source/cpp_uno/msvc_shared/cpp2uno.cxx |3 ---
 bridges/source/cpp_uno/msvc_shared/except.cxx  |2 ++
 3 files changed, 3 insertions(+), 4 deletions(-)

New commits:
commit be2f27b011d43cb3a5cb1aa352cc445083948103
Author: Stephan Bergmann 
AuthorDate: Thu Mar 21 14:06:03 2024 +0100
Commit: Stephan Bergmann 
CommitDate: Fri Mar 22 09:57:19 2024 +0100

Make msvc_raiseException explicitly [[noreturn]]

The comments at


"framework: MenuBarManager: fix WNT crash if queryDispatch() throws" suggest
that it was observed returning normally, and running into the

> // is here for dummy
> return typelib_TypeClass_VOID;

in cpp2uno_call.

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

diff --git a/bridges/inc/msvc/except.hxx b/bridges/inc/msvc/except.hxx
index f1403a43af88..29fe007a435f 100644
--- a/bridges/inc/msvc/except.hxx
+++ b/bridges/inc/msvc/except.hxx
@@ -33,7 +33,7 @@ typedef struct _uno_Any uno_Any;
 typedef struct _uno_Mapping uno_Mapping;
 
 int msvc_filterCppException(EXCEPTION_POINTERS*, uno_Any*, uno_Mapping*);
-void msvc_raiseException(uno_Any*, uno_Mapping*);
+[[noreturn]] void msvc_raiseException(uno_Any*, uno_Mapping*);
 
 constexpr DWORD MSVC_EH_MAGIC_PARAM = 0x19930520;
 // The NT Exception code that msvcrt uses ('msc' | 0xE000)
diff --git a/bridges/source/cpp_uno/msvc_shared/cpp2uno.cxx 
b/bridges/source/cpp_uno/msvc_shared/cpp2uno.cxx
index 15aa14d9b90b..d2bbf5ab22b4 100644
--- a/bridges/source/cpp_uno/msvc_shared/cpp2uno.cxx
+++ b/bridges/source/cpp_uno/msvc_shared/cpp2uno.cxx
@@ -163,9 +163,6 @@ cpp2uno_call(bridges::cpp_uno::shared::CppInterfaceProxy* 
pThis,
 TYPELIB_DANGER_RELEASE(pReturnTD);
 
 msvc_raiseException(&aUnoExc, pThis->getBridge()->getUno2Cpp()); // 
has to destruct the any
-
-// is here for dummy
-return typelib_TypeClass_VOID;
 }
 else // no exception occurred...
 {
diff --git a/bridges/source/cpp_uno/msvc_shared/except.cxx 
b/bridges/source/cpp_uno/msvc_shared/except.cxx
index b68dd41d6bdc..b6c6715e0336 100644
--- a/bridges/source/cpp_uno/msvc_shared/except.cxx
+++ b/bridges/source/cpp_uno/msvc_shared/except.cxx
@@ -21,6 +21,7 @@
 
 #include 
 
+#include 
 #include 
 #include 
 #include 
@@ -196,6 +197,7 @@ void msvc_raiseException(uno_Any* pUnoExc, uno_Mapping* 
pUno2Cpp)
 
 // last point to release anything not affected by stack unwinding
 RaiseException(MSVC_EH_MAGIC_CODE, EXCEPTION_NONCONTINUABLE, 
MSVC_EH_PARAMETERS, arFilterArgs);
+std::abort();
 }
 
 // This function does the same check as __CxxDetectRethrow from msvcrt (see its


core.git: Branch 'libreoffice-24-2' - writerfilter/source

2024-03-22 Thread Oliver Specht (via logerrit)
 writerfilter/source/dmapper/DomainMapper.cxx |3 ---
 writerfilter/source/dmapper/PropertyIds.cxx  |1 -
 writerfilter/source/dmapper/PropertyIds.hxx  |1 -
 3 files changed, 5 deletions(-)

New commits:
commit 9b8f6f881185831ec77f1c692c8726fd1459a746
Author: Oliver Specht 
AuthorDate: Wed Mar 20 16:25:17 2024 +0100
Commit: Michael Stahl 
CommitDate: Fri Mar 22 10:05:50 2024 +0100

Revert "tdf#159730 add compatibility option in RTF import"

This reverts commit 3b04e74503ec6d07dc4befdb756e6abdc3de4e58.

Reason for revert: The compatibility option is the wrong approach. This 
results in wrong line calculation as seen in tdf#159730#c6.
The problem that really needs to be fixed is the 9pt attribute of the 
hidden line breaks in the first paragraph that are used to calculate the height 
of the first paragraph.
Only the 1pt font attribute of the remaining visible space should define 
the line height.

Change-Id: I6e0a1a499adaf2df9f68afbcfd6afcd6677e8f76
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/165006
Tested-by: Jenkins
Reviewed-by: Michael Stahl 
(cherry picked from commit 44e4ada23dfc8655ec7ddccfd027f02d22684d60)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/165118
Reviewed-by: Xisco Fauli 

diff --git a/writerfilter/source/dmapper/DomainMapper.cxx 
b/writerfilter/source/dmapper/DomainMapper.cxx
index bbeafa942de4..7e4eeda7d3d9 100644
--- a/writerfilter/source/dmapper/DomainMapper.cxx
+++ b/writerfilter/source/dmapper/DomainMapper.cxx
@@ -129,9 +129,6 @@ DomainMapper::DomainMapper( const uno::Reference< 
uno::XComponentContext >& xCon
 m_pImpl->SetDocumentSettingsProperty(
 getPropertyName(PROP_APPLY_PARAGRAPH_MARK_FORMAT_TO_NUMBERING),
 uno::Any(true));
-m_pImpl->SetDocumentSettingsProperty(
-getPropertyName(PROP_TABS_AND_BLANKS_FOR_LINE_CALCULATION),
-uno::Any(true));
 
 // Don't load the default style definitions to avoid weird mix
 m_pImpl->SetDocumentSettingsProperty("StylesNoDefault", 
uno::Any(true));
diff --git a/writerfilter/source/dmapper/PropertyIds.cxx 
b/writerfilter/source/dmapper/PropertyIds.cxx
index 8a83ca0bb064..b8b4efc06222 100644
--- a/writerfilter/source/dmapper/PropertyIds.cxx
+++ b/writerfilter/source/dmapper/PropertyIds.cxx
@@ -384,7 +384,6 @@ namespace
 { PROP_PARA_CONNECT_BORDERS, u"ParaIsConnectBorder"},
 { PROP_DECORATIVE, u"Decorative"},
 { PROP_PAPER_TRAY, u"PrinterPaperTray"},
-{ PROP_TABS_AND_BLANKS_FOR_LINE_CALCULATION, 
u"IgnoreTabsAndBlanksForLineCalculation"},
 });
 } // end anonymous ns
 
diff --git a/writerfilter/source/dmapper/PropertyIds.hxx 
b/writerfilter/source/dmapper/PropertyIds.hxx
index bb2fb833516c..b39fcd24fa49 100644
--- a/writerfilter/source/dmapper/PropertyIds.hxx
+++ b/writerfilter/source/dmapper/PropertyIds.hxx
@@ -383,7 +383,6 @@ enum PropertyIds
 ,PROP_RTL_GUTTER
 ,PROP_CURSOR_NOT_IGNORE_TABLES_IN_HF
 ,PROP_PARA_CONNECT_BORDERS
-,PROP_TABS_AND_BLANKS_FOR_LINE_CALCULATION
 };
 
 //Returns the UNO string equivalent to eId.


core.git: Branch 'libreoffice-24-2' - configmgr/source

2024-03-22 Thread Michael Stahl (via logerrit)
 configmgr/source/xcsparser.cxx |4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

New commits:
commit 27526cde7fb6cdcf23f23349cdc7ebdaa3d9bcfa
Author: Michael Stahl 
AuthorDate: Thu Mar 21 18:47:03 2024 +0100
Commit: Stephan Bergmann 
CommitDate: Fri Mar 22 10:09:12 2024 +0100

configmgr: fix parse error if subelements of  used

The unused but valid child elements of  such as  may be
used by exentions. This fails with:

  warn:configmgr:15104:10916:configmgr/source/components.cxx:660: error 
reading 
"file:///instdir/program/../share/uno_packages/cache/uno_packages/xcs" 
com.sun.star.uno.RuntimeException message: "bad member  in xcs 
at configmgr/source/xcsparser.cxx:289"

Because ending the first such element sets bIsParsingInfo_ to false.

This fix just concatenates all the characters in all the children,
should work well enough for extensions.

(regression from commit db3078bd8c8e3ce3a99fc3987bb6e93b609990c1)

Change-Id: I17a3fb7014cd34c1d546701036550085365432a4
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/165143
Tested-by: Jenkins
Reviewed-by: Michael Stahl 
(cherry picked from commit 8350404ec1c02df8b4f6b4f48947ddbff53d91e5)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/165126
Reviewed-by: Stephan Bergmann 

diff --git a/configmgr/source/xcsparser.cxx b/configmgr/source/xcsparser.cxx
index e70ddac6a6c9..35f61fa1959e 100644
--- a/configmgr/source/xcsparser.cxx
+++ b/configmgr/source/xcsparser.cxx
@@ -129,7 +129,9 @@ bool XcsParser::startElement(
 // illegal content):
 if (ignoring_ > 0
 || (nsId == xmlreader::XmlReader::NAMESPACE_NONE
-&& (name == "import" || name == "uses" || name == "constraints" || 
name == "desc")))
+&& (name == "import" || name == "uses" || name == "constraints" || 
name == "desc"
+// the following are unused by LO but valid
+|| name == "deprecated" || name == "author" || name == 
"label")))
 {
 assert(ignoring_ < LONG_MAX);
 ++ignoring_;


core.git: vcl/qa

2024-03-22 Thread Xisco Fauli (via logerrit)
 vcl/qa/cppunit/pdfexport/data/tdf160117.ods |binary
 vcl/qa/cppunit/pdfexport/pdfexport2.cxx |   42 
 2 files changed, 42 insertions(+)

New commits:
commit c6518dc58f76ad9b59a61dd3736abd62acc5fc57
Author: Xisco Fauli 
AuthorDate: Thu Mar 21 12:36:24 2024 +0100
Commit: Xisco Fauli 
CommitDate: Fri Mar 22 10:10:33 2024 +0100

tdf#160117: vcl_pdfexport2: Add unittest

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

diff --git a/vcl/qa/cppunit/pdfexport/data/tdf160117.ods 
b/vcl/qa/cppunit/pdfexport/data/tdf160117.ods
new file mode 100644
index ..ed18444e7b8d
Binary files /dev/null and b/vcl/qa/cppunit/pdfexport/data/tdf160117.ods differ
diff --git a/vcl/qa/cppunit/pdfexport/pdfexport2.cxx 
b/vcl/qa/cppunit/pdfexport/pdfexport2.cxx
index 061b79e488cb..525f1d91a449 100644
--- a/vcl/qa/cppunit/pdfexport/pdfexport2.cxx
+++ b/vcl/qa/cppunit/pdfexport/pdfexport2.cxx
@@ -1047,6 +1047,48 @@ CPPUNIT_TEST_FIXTURE(PdfExportTest2, testReexportPDF)
 #endif
 }
 
+CPPUNIT_TEST_FIXTURE(PdfExportTest2, testTdf160117)
+{
+vcl::filter::PDFDocument aDocument;
+load(u"tdf160117.ods", aDocument);
+
+// The document has one page.
+std::vector aPages = aDocument.GetPages();
+CPPUNIT_ASSERT_EQUAL(static_cast(1), aPages.size());
+
+int nCount = 0;
+bool bFound1 = false;
+bool bFound2 = false;
+bool bFound3 = false;
+for (const auto& rDocElement : aDocument.GetElements())
+{
+auto pObject = 
dynamic_cast(rDocElement.get());
+if (!pObject)
+continue;
+auto pType = 
dynamic_cast(pObject->Lookup("Type"_ostr));
+if (pType && pType->GetValue() == "FontDescriptor")
+{
+auto pFontName
+= 
dynamic_cast(pObject->Lookup("FontName"_ostr));
+CPPUNIT_ASSERT(pFontName);
+if ("CA+LiberationSans-Bold"_ostr == pFontName->GetValue())
+bFound1 = true;
+else if ("DA+LiberationSans-Italic"_ostr == 
pFontName->GetValue())
+bFound2 = true;
+else if ("BA+LiberationSans"_ostr == pFontName->GetValue())
+bFound3 = true;
+++nCount;
+}
+}
+// Without the fix in place, this test would have failed with
+// - Expected: 3
+// - Actual  : 2
+CPPUNIT_ASSERT_EQUAL(3, nCount);
+CPPUNIT_ASSERT(bFound1);
+CPPUNIT_ASSERT(bFound2);
+CPPUNIT_ASSERT(bFound3);
+}
+
 // Check we correctly copy more complex resources (Fonts describing
 // glyphs in recursive arrays) to the target PDF
 CPPUNIT_TEST_FIXTURE(PdfExportTest2, testReexportDocumentWithComplexResources)


core.git: Branch 'distro/collabora/co-24.04' - sd/qa sfx2/source

2024-03-22 Thread Miklos Vajna (via logerrit)
 sd/qa/unit/tiledrendering/tiledrendering.cxx |   24 
 sfx2/source/sidebar/SidebarController.cxx|   18 --
 2 files changed, 32 insertions(+), 10 deletions(-)

New commits:
commit a521fc2917e8f887f4e53788bf31935998ba1ad1
Author: Miklos Vajna 
AuthorDate: Thu Mar 21 17:01:20 2024 +0100
Commit: Caolán McNamara 
CommitDate: Fri Mar 22 10:16:51 2024 +0100

cool#8278 sfx2 lok: fix lost hide notification on sidebar switch

Similar to commit 55feb670ca28e0a48ac82a65b5559598704d993e (cool#8278
sfx2 lok: fix unexpected non-json sidebar status update, 2024-03-21),
the trouble here was not around hiding the sidebar but around switching
between decks.

This went wrong in commit aaf6ce108e91b1504befe19afcee471e3316ae7a
(cool#7492 sfx2 lok: set language/locale on async sidebar update,
2024-01-11), where I didn't notice that
SidebarController::SwitchToDeck() may emit two callbacks, so the effort
to avoid code duplication went a bit too far: the hide+show case only
emitted a show callback.

Fix this by building a list of state changes to emit, so once se switch
decks, not only the new one is "on", but also the old one is "off".

(cherry picked from commit d8061151acf4e287b60a055a67b84c56989a37af)

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

diff --git a/sd/qa/unit/tiledrendering/tiledrendering.cxx 
b/sd/qa/unit/tiledrendering/tiledrendering.cxx
index 40e1fc7e4ef6..3e28200b4b6a 100644
--- a/sd/qa/unit/tiledrendering/tiledrendering.cxx
+++ b/sd/qa/unit/tiledrendering/tiledrendering.cxx
@@ -3001,6 +3001,30 @@ CPPUNIT_TEST_FIXTURE(SdTiledRenderingTest, 
testSidebarHide)
 CPPUNIT_ASSERT(it != aView.m_aStateChanges.end());
 }
 
+CPPUNIT_TEST_FIXTURE(SdTiledRenderingTest, testSidebarSwitchDeck)
+{
+// Given an impress document, with a visible sidebar (ModifyPage deck):
+createDoc("dummy.odp");
+ViewCallback aView;
+sfx2::sidebar::Sidebar::Setup(u"");
+Scheduler::ProcessEventsToIdle();
+aView.m_aStateChanges.clear();
+
+// When switching to the MasterSlidesPanel deck:
+dispatchCommand(mxComponent, ".uno:MasterSlidesPanel", {});
+
+// Then make sure notifications are sent for both the old and the new 
decks:
+auto it = aView.m_aStateChanges.find(".uno:ModifyPage");
+// Without the accompanying fix in place, this test would have failed, the 
notification for the
+// old deck was missing.
+CPPUNIT_ASSERT(it != aView.m_aStateChanges.end());
+boost::property_tree::ptree aTree = it->second;
+CPPUNIT_ASSERT(aTree.get_child_optional("state").has_value());
+CPPUNIT_ASSERT_EQUAL(std::string("false"), 
aTree.get_child("state").get_value());
+it = aView.m_aStateChanges.find(".uno:MasterSlidesPanel");
+CPPUNIT_ASSERT(it != aView.m_aStateChanges.end());
+}
+
 CPPUNIT_PLUGIN_IMPLEMENT();
 
 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/sfx2/source/sidebar/SidebarController.cxx 
b/sfx2/source/sidebar/SidebarController.cxx
index a9ec224cfe7d..a2baef7967a9 100644
--- a/sfx2/source/sidebar/SidebarController.cxx
+++ b/sfx2/source/sidebar/SidebarController.cxx
@@ -816,30 +816,28 @@ void SidebarController::SwitchToDeck (
 {
 if (const SfxViewShell* pViewShell = mpViewFrame->GetViewShell())
 {
-boost::property_tree::ptree aTree;
-aTree.put("locale", 
comphelper::LibreOfficeKit::getLocale().getBcp47());
-bool bStateChanged = false;
+std::vector> aStateChanges;
 if (msCurrentDeckId != rDeckDescriptor.msId)
 {
 const std::string hide = UnoNameFromDeckId(msCurrentDeckId, 
GetCurrentContext());
 if (!hide.empty())
 {
-aTree.put("commandName", hide);
-aTree.put("state", "false");
-bStateChanged = true;
+aStateChanges.push_back({hide, std::string("false")});
 }
 }
 
 const std::string show = UnoNameFromDeckId(rDeckDescriptor.msId, 
GetCurrentContext());
 if (!show.empty())
 {
-aTree.put("commandName", show);
-aTree.put("state", "true");
-bStateChanged = true;
+aStateChanges.push_back({show, std::string("true")});
 }
 
-if (bStateChanged)
+for (const auto& rStateChange : aStateChanges)
 {
+boost::property_tree::ptree aTree;
+aTree.put("locale", 
comphelper::LibreOfficeKit::getLocale().getBcp47());
+aTree.put("commandName", rStateChange.first);
+aTree.put("state", rStateChange.second);
 std::stringstream aStream;
  

core.git: oox/source

2024-03-22 Thread Regina Henschel (via logerrit)
 oox/source/drawingml/scene3dhelper.cxx |6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

New commits:
commit 9556504b213519e2900e72c81aa26a470dc6353c
Author: Regina Henschel 
AuthorDate: Fri Mar 22 00:52:25 2024 +0100
Commit: Regina Henschel 
CommitDate: Fri Mar 22 10:21:32 2024 +0100

Revert "extruded shape import: tweak threePt light rig too"

This reverts commit aa341e79ee241fec0b5afe159b0c674cf85a52c0.

Reason for revert: The front faces become too light. A similar front face 
is more important than lighter extrusion faces.

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

diff --git a/oox/source/drawingml/scene3dhelper.cxx 
b/oox/source/drawingml/scene3dhelper.cxx
index cb0a85eb7ed0..acddea7643c4 100644
--- a/oox/source/drawingml/scene3dhelper.cxx
+++ b/oox/source/drawingml/scene3dhelper.cxx
@@ -840,10 +840,10 @@ void lcl_tweakLightRig(std::vector& 
rLightDirVec, PrstLightR
 rLightRig.fAmbient = 0.35; // instead 0.11 resp. 0.13
 }
 else if (rLightRig.sLightRigName == u"freezing" || rLightRig.sLightRigName 
== u"morning"
- || rLightRig.sLightRigName == u"sunrise" || 
rLightRig.sLightRigName == u"threePt")
+ || rLightRig.sLightRigName == u"sunrise")
 {
-// These rigs have no ambient color but three or four lights. The 
objects are too dark with
-// only two lights.
+// These rigs have no ambient color but four lights. The objects are 
too dark with only
+// two lights.
 rLightRig.fAmbient = 0.4;
 }
 else if (rLightRig.sLightRigName == u"sunset")


core.git: Branch 'distro/collabora/co-24.04' - sd/source

2024-03-22 Thread Pranam Lashkari (via logerrit)
 sd/source/ui/view/drviewse.cxx |8 
 1 file changed, 4 insertions(+), 4 deletions(-)

New commits:
commit dd33eeeaffaea1e155d2a6a6e9900dcb80b49411
Author: Pranam Lashkari 
AuthorDate: Wed Mar 20 20:53:27 2024 +0530
Commit: Caolán McNamara 
CommitDate: Fri Mar 22 10:24:06 2024 +0100

LOK: enter editing directly after textbox insertion

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

diff --git a/sd/source/ui/view/drviewse.cxx b/sd/source/ui/view/drviewse.cxx
index 0b293773b07a..af81827d40d5 100644
--- a/sd/source/ui/view/drviewse.cxx
+++ b/sd/source/ui/view/drviewse.cxx
@@ -614,10 +614,6 @@ void DrawViewShell::FuPermanent(SfxRequest& rReq)
 if(!(HasCurrentFunction() && ((rReq.GetModifier() & KEY_MOD1) || 
bCreateDirectly)))
 return;
 
-// disable interactive drawing for LOK
-if (bCreateDirectly)
-GetViewFrame()->GetDispatcher()->Execute(SID_OBJECT_SELECT, 
SfxCallMode::ASYNCHRON);
-
 // get SdOptions
 SdOptions* pOptions = SD_MOD()->GetSdOptions(GetDoc()->GetDocumentType());
 sal_uInt32 nDefaultObjectSizeWidth(pOptions->GetDefaultObjectSizeWidth());
@@ -656,6 +652,10 @@ void DrawViewShell::FuPermanent(SfxRequest& rReq)
 {
 case SID_DRAW_CAPTION:
 case SID_DRAW_CAPTION_VERTICAL:
+case SID_ATTR_CHAR:
+case SID_ATTR_CHAR_VERTICAL:
+case SID_TEXT_FITTOSIZE:
+case SID_TEXT_FITTOSIZE_VERTICAL:
 {
 // Make FuText the current function.
 SfxUInt16Item aItem (SID_TEXTEDIT, 1);


core.git: Branch 'distro/collabora/co-23.05' - desktop/source include/sfx2 sfx2/source

2024-03-22 Thread Henry Castro (via logerrit)
 desktop/source/lib/init.cxx|3 ++-
 include/sfx2/lokhelper.hxx |2 ++
 sfx2/source/view/frmload.cxx   |   30 ++
 sfx2/source/view/lokhelper.cxx |   15 +++
 4 files changed, 49 insertions(+), 1 deletion(-)

New commits:
commit 1d7ee6942f1f1ccdb8aeb253c1cf8ce0c5f63421
Author: Henry Castro 
AuthorDate: Tue Feb 20 16:09:13 2024 -0400
Commit: Caolán McNamara 
CommitDate: Fri Mar 22 10:29:55 2024 +0100

lok: add property descriptor "Theme"

Add option to load the document with a "theme" property name.

Format: "document:theme_name"

Signed-off-by: Henry Castro 
Change-Id: Iaef3d2e8962af526496e5cc95021fa94dca17939
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/163671
Tested-by: Jenkins CollaboraOffice 
Tested-by: Caolán McNamara 
Reviewed-by: Caolán McNamara 

diff --git a/desktop/source/lib/init.cxx b/desktop/source/lib/init.cxx
index 9288a67c2181..323d0751cb6d 100644
--- a/desktop/source/lib/init.cxx
+++ b/desktop/source/lib/init.cxx
@@ -2784,7 +2784,8 @@ static LibreOfficeKitDocument* 
lo_documentLoadWithOptions(LibreOfficeKit* pThis,
 comphelper::makePropertyValue("InteractionHandler", xInteraction),
 comphelper::makePropertyValue("MacroExecutionMode", 
nMacroExecMode),
 comphelper::makePropertyValue("AsTemplate", false),
-comphelper::makePropertyValue("Silent", !aBatch.isEmpty())
+comphelper::makePropertyValue("Silent", !aBatch.isEmpty()),
+comphelper::makePropertyValue("Theme", extractParameter(aOptions, 
u"Theme"))
 };
 
 /* TODO
diff --git a/include/sfx2/lokhelper.hxx b/include/sfx2/lokhelper.hxx
index e8904d013f75..35ed5109f5c0 100644
--- a/include/sfx2/lokhelper.hxx
+++ b/include/sfx2/lokhelper.hxx
@@ -131,6 +131,8 @@ public:
 static LOKDeviceFormFactor getDeviceFormFactor();
 /// Set the device form factor that should be used for a new view.
 static void setDeviceFormFactor(std::u16string_view rDeviceFormFactor);
+/// Get the document type
+static OUString getDocumentType(const OUString& sDocumentService);
 
 /// Set timezone of the given view.
 /// @isSet true to use @rTimezone, even if it's empty. Otherwise, no 
timezone.
diff --git a/sfx2/source/view/frmload.cxx b/sfx2/source/view/frmload.cxx
index f03b08fe5886..e4acd00ffa37 100644
--- a/sfx2/source/view/frmload.cxx
+++ b/sfx2/source/view/frmload.cxx
@@ -26,6 +26,7 @@
 #include 
 #include 
 #include 
+#include 
 #include 
 #include 
 #include 
@@ -48,6 +49,7 @@
 #include 
 
 #include 
+#include 
 #include 
 #include 
 #include 
@@ -57,6 +59,7 @@
 #include 
 #include 
 #include 
+#include 
 #include 
 #include 
 #include 
@@ -708,6 +711,7 @@ sal_Bool SAL_CALL SfxFrameLoader_Impl::load( const 
Sequence< PropertyValue >& rA
 const OUString sServiceName = aDescriptor.getOrDefault( 
"DocumentService", OUString() );
 xModel.set( 
m_aContext->getServiceManager()->createInstanceWithContext(sServiceName, 
m_aContext), UNO_QUERY_THROW );
 
+
 // load resp. init it
 const Reference< XLoadable > xLoadable( xModel, UNO_QUERY_THROW );
 if ( bInitNewModel )
@@ -766,6 +770,32 @@ sal_Bool SAL_CALL SfxFrameLoader_Impl::load( const 
Sequence< PropertyValue >& rA
 }
 
 bLoadSuccess = true;
+
+const OUString sThemes = aDescriptor.getOrDefault("Theme", OUString());
+if (comphelper::LibreOfficeKit::isActive() && !sThemes.isEmpty())
+{
+const OUString sServiceName = 
aDescriptor.getOrDefault("DocumentService", OUString());
+OUString sTheme, sType, sName;
+sal_Int32 nTheme = 0, nIndex = 0;
+do
+{
+sTheme = sThemes.getToken(0, ';', nTheme);
+sType = sTheme.getToken(0, ':', nIndex);
+sName = sTheme.getToken(0, ':', nIndex);
+if (sType == SfxLokHelper::getDocumentType(sServiceName))
+{
+svtools::EditableColorConfig aConfig;
+if (aConfig.GetCurrentSchemeName() != sName)
+{
+aConfig.LoadScheme(sName);
+break;
+}
+}
+nIndex = 0;
+
+}
+while ( nTheme >= 0 );
+}
 }
 catch ( Exception& )
 {
diff --git a/sfx2/source/view/lokhelper.cxx b/sfx2/source/view/lokhelper.cxx
index e6fc7e8c7114..b22d1e488283 100644
--- a/sfx2/source/view/lokhelper.cxx
+++ b/sfx2/source/view/lokhelper.cxx
@@ -388,6 +388,21 @@ void SfxLokHelper::setDeviceFormFactor(std::u16string_view 
rDeviceFormFactor)
 g_deviceFormFactor = LOKDeviceFormFactor::UNKNOWN;
 }
 
+OUString SfxLokHelper::getDocumentType(const OUString& sDocumentService)
+{
+if (sDocumentService == "com.sun.star.sheet.SpreadsheetDocument")
+return "spreadsheet";
+  

core.git: toolkit/source

2024-03-22 Thread anish.deshpande (via logerrit)
 toolkit/source/awt/vclxtabpagecontainer.cxx |2 +-
 toolkit/source/awt/vclxwindows.cxx  |4 ++--
 2 files changed, 3 insertions(+), 3 deletions(-)

New commits:
commit 7d384d63105af039cd0246395d005f337073eac6
Author: anish.deshpande 
AuthorDate: Mon Mar 4 16:17:06 2024 +0530
Commit: Michael Weghorn 
CommitDate: Fri Mar 22 11:12:35 2024 +0100

tdf#114441 change use of sal_uLong to better integer types in toolkit

nPageID is referenced as sal_uInt16 in TabControl::SelectTabPage.

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

diff --git a/toolkit/source/awt/vclxtabpagecontainer.cxx 
b/toolkit/source/awt/vclxtabpagecontainer.cxx
index afd3d843b7ef..f9f4779a2603 100644
--- a/toolkit/source/awt/vclxtabpagecontainer.cxx
+++ b/toolkit/source/awt/vclxtabpagecontainer.cxx
@@ -148,7 +148,7 @@ void VCLXTabPageContainer::ProcessWindowEvent( const 
VclWindowEvent& _rVclWindow
 {
 case VclEventId::TabpageActivate:
 {
-sal_uLong page = 
reinterpret_cast(_rVclWindowEvent.GetData());
+sal_uInt16 page = 
static_cast(reinterpret_cast(_rVclWindowEvent.GetData()));
 awt::tab::TabPageActivatedEvent aEvent(nullptr,page);
 m_aTabPageListeners.tabPageActivated(aEvent);
 break;
diff --git a/toolkit/source/awt/vclxwindows.cxx 
b/toolkit/source/awt/vclxwindows.cxx
index d6ba5e48a6e8..73f1920e59d0 100644
--- a/toolkit/source/awt/vclxwindows.cxx
+++ b/toolkit/source/awt/vclxwindows.cxx
@@ -2602,14 +2602,14 @@ void VCLXMultiPage::ProcessWindowEvent( const 
VclWindowEvent& rVclWindowEvent )
 {
 case VclEventId::TabpageDeactivate:
 {
-sal_uLong nPageID = reinterpret_cast( 
rVclWindowEvent.GetData() );
+sal_uInt16 nPageID = 
static_cast(reinterpret_cast( 
rVclWindowEvent.GetData() ));
 maTabListeners.deactivated( nPageID );
 break;
 
 }
 case VclEventId::TabpageActivate:
 {
-sal_uLong nPageID = reinterpret_cast( 
rVclWindowEvent.GetData() );
+sal_uInt16 nPageID = 
static_cast(reinterpret_cast( 
rVclWindowEvent.GetData() ));
 maTabListeners.activated( nPageID );
 break;
 }


core.git: sd/source slideshow/source

2024-03-22 Thread Balazs Varga (via logerrit)
 sd/source/core/sdpage.cxx|5 +++--
 slideshow/source/engine/shapes/shapeimporter.cxx |   20 +++-
 2 files changed, 22 insertions(+), 3 deletions(-)

New commits:
commit e136900e7a971385be9367a3dcaedea54d1e7207
Author: Balazs Varga 
AuthorDate: Thu Feb 29 16:34:45 2024 +0100
Commit: Balazs Varga 
CommitDate: Fri Mar 22 11:44:16 2024 +0100

tdf#159258 sd: fix to show objects in slideshow if they have

fillstyle or linestyle.

Also the shape will be appeared in print and pdf view.
(Powerpoint doing the same.)

TODO: the placeholder bitmap and the default text
was not removed from the slideshow/print/pdf view.

Change-Id: Ifadc9a692d77b60a7e3514afe8e6ea5cab0018c9
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/164163
Tested-by: Jenkins
Reviewed-by: Balazs Varga 

diff --git a/sd/source/core/sdpage.cxx b/sd/source/core/sdpage.cxx
index 10b4f34b761f..020f1f6bbfd4 100644
--- a/sd/source/core/sdpage.cxx
+++ b/sd/source/core/sdpage.cxx
@@ -2802,9 +2802,10 @@ bool SdPage::checkVisibility(
 const bool bIsInsidePageObj(pPageView && pPageView->GetPage() != 
pVisualizedPage);
 
 // empty presentation objects only visible during edit mode
-if( (bIsPrinting || !bEdit || bIsInsidePageObj ) && pObj->IsEmptyPresObj() 
)
+if( (bIsPrinting || !bEdit || bIsInsidePageObj ) && pObj->IsEmptyPresObj() 
&& !(pObj->HasFillStyle() || pObj->HasLineStyle()) )
 {
-if( (pObj->GetObjInventor() != SdrInventor::Default) || ( 
(pObj->GetObjIdentifier() != SdrObjKind::Rectangle) && 
(pObj->GetObjIdentifier() != SdrObjKind::Page) ) )
+if( (pObj->GetObjInventor() != SdrInventor::Default) || ( 
(pObj->GetObjIdentifier() != SdrObjKind::Rectangle) &&
+(pObj->GetObjIdentifier() != SdrObjKind::Page) ) )
 return false;
 }
 
diff --git a/slideshow/source/engine/shapes/shapeimporter.cxx 
b/slideshow/source/engine/shapes/shapeimporter.cxx
index 92162eeb60ad..7823a5588efd 100644
--- a/slideshow/source/engine/shapes/shapeimporter.cxx
+++ b/slideshow/source/engine/shapes/shapeimporter.cxx
@@ -346,7 +346,25 @@ bool ShapeImporter::isSkip(
   "IsEmptyPresentationObject") &&
 bEmpty )
 {
-return true;
+// check object have fill or linestyle, if have, it should be visible
+drawing::FillStyle aFillStyle{ drawing::FillStyle_NONE };
+if (getPropertyValue(aFillStyle,
+xPropSet, "FillStyle") &&
+aFillStyle != drawing::FillStyle_NONE)
+{
+bEmpty = false;
+}
+
+drawing::LineStyle aLineStyle{ drawing::LineStyle_NONE };
+if (bEmpty && getPropertyValue(aLineStyle,
+xPropSet, "LineStyle") &&
+aLineStyle != drawing::LineStyle_NONE)
+{
+bEmpty = false;
+}
+
+if (bEmpty)
+return true;
 }
 
 //skip shapes which corresponds to annotations


core.git: compilerplugins/clang cui/source framework/inc framework/source include/framework include/svl include/unotools sc/source svl/qa svl/source sw/source unotools/source

2024-03-22 Thread Noel Grandin (via logerrit)
 compilerplugins/clang/staticmethods.cxx|   26 
+---
 cui/source/options/optasian.cxx|6 +-
 framework/inc/classes/actiontriggerpropertyset.hxx |6 +-
 framework/inc/classes/actiontriggerseparatorpropertyset.hxx|2 
 framework/inc/classes/protocolhandlercache.hxx |6 +-
 framework/inc/dispatch/dispatchprovider.hxx|2 
 framework/inc/dispatch/systemexec.hxx  |2 
 framework/inc/helper/ocomponentaccess.hxx  |4 -
 framework/inc/helper/oframes.hxx   |2 
 framework/inc/helper/titlebarupdate.hxx|2 
 framework/inc/jobs/shelljob.hxx|2 
 framework/inc/uielement/constitemcontainer.hxx |6 +-
 framework/inc/uielement/imagebuttontoolbarcontroller.hxx   |2 
 framework/inc/uielement/itemcontainer.hxx  |2 
 framework/inc/uielement/menubarmanager.hxx |2 
 framework/inc/uielement/newmenucontroller.hxx  |2 
 framework/inc/uielement/spinfieldtoolbarcontroller.hxx |2 
 framework/inc/uielement/toolbarmanager.hxx |2 
 framework/inc/uielement/toolbarsmenucontroller.hxx |2 
 framework/inc/xml/acceleratorconfigurationwriter.hxx   |2 
 framework/source/accelerators/acceleratorconfiguration.cxx |6 +-
 framework/source/accelerators/presethandler.cxx|4 +
 framework/source/dispatch/dispatchprovider.cxx |3 -
 framework/source/fwe/classes/actiontriggerpropertyset.cxx  |3 +
 framework/source/fwe/classes/actiontriggerseparatorpropertyset.cxx |1 
 framework/source/fwe/classes/addonsoptions.cxx |   14 +++-
 framework/source/fwe/helper/titlehelper.cxx|5 +
 framework/source/fwi/classes/protocolhandlercache.cxx  |9 ++-
 framework/source/helper/ocomponentaccess.cxx   |5 +
 framework/source/helper/titlebarupdate.cxx |1 
 framework/source/inc/accelerators/acceleratorconfiguration.hxx |4 -
 framework/source/inc/accelerators/keymapping.hxx   |2 
 framework/source/inc/accelerators/presethandler.hxx|8 +-
 framework/source/inc/loadenv/loadenv.hxx   |4 -
 framework/source/layoutmanager/toolbarlayoutmanager.cxx|6 +-
 framework/source/layoutmanager/toolbarlayoutmanager.hxx|8 +-
 framework/source/loadenv/loadenv.cxx   |4 +
 framework/source/services/autorecovery.cxx |9 ++-
 framework/source/services/frame.cxx|4 -
 framework/source/services/pathsettings.cxx |   30 
++
 framework/source/services/substitutepathvars.cxx   |   20 
--
 framework/source/services/taskcreatorsrv.cxx   |   11 ++-
 framework/source/uielement/imagebuttontoolbarcontroller.cxx|1 
 framework/source/uielement/menubarmanager.cxx  |3 -
 framework/source/uielement/newmenucontroller.cxx   |1 
 framework/source/uielement/spinfieldtoolbarcontroller.cxx  |1 
 framework/source/uielement/toolbarmanager.cxx  |1 
 framework/source/uielement/toolbarsmenucontroller.cxx  |1 
 framework/source/uielement/uicommanddescription.cxx|3 -
 framework/source/xml/acceleratorconfigurationwriter.cxx|1 
 include/framework/titlehelper.hxx  |   10 +--
 include/svl/asiancfg.hxx   |   10 +--
 include/svl/inethist.hxx   |2 
 include/svl/itemprop.hxx   |   12 ++--
 include/svl/numformat.hxx  |6 +-
 include/unotools/fontcfg.hxx   |   12 ++--
 include/unotools/localedatawrapper.hxx |2 
 include/unotools/textsearch.hxx|2 
 sc/source/core/data/table6.cxx |2 
 sc/source/ui/docshell/docsh2.cxx   |8 +-
 sc/source/ui/unoobj/cellsuno.cxx   |4 -
 sc/source/ui/unoobj/styleuno.cxx   |   12 ++--
 svl/qa/unit/svl.cxx|8 +-
 svl/source/config/asiancfg.cxx |   11 ++-
 svl/source/items/itemprop.cxx 

core.git: sd/source

2024-03-22 Thread Pranam Lashkari (via logerrit)
 sd/source/ui/view/drviewse.cxx |8 
 1 file changed, 4 insertions(+), 4 deletions(-)

New commits:
commit 437161094d6e19f7cc222b1029801a481ad15618
Author: Pranam Lashkari 
AuthorDate: Wed Mar 20 20:53:27 2024 +0530
Commit: Pranam Lashkari 
CommitDate: Fri Mar 22 12:33:18 2024 +0100

LOK: enter editing directly after textbox insertion

Change-Id: I3e77a1eb72a12c0e4ffc289ca854e0edb4ae9e2d
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/165007
Tested-by: Jenkins
Reviewed-by: Pranam Lashkari 

diff --git a/sd/source/ui/view/drviewse.cxx b/sd/source/ui/view/drviewse.cxx
index 5f95769e6311..da0dbedd1195 100644
--- a/sd/source/ui/view/drviewse.cxx
+++ b/sd/source/ui/view/drviewse.cxx
@@ -614,10 +614,6 @@ void DrawViewShell::FuPermanent(SfxRequest& rReq)
 if(!(HasCurrentFunction() && ((rReq.GetModifier() & KEY_MOD1) || 
bCreateDirectly)))
 return;
 
-// disable interactive drawing for LOK
-if (bCreateDirectly)
-GetViewFrame()->GetDispatcher()->Execute(SID_OBJECT_SELECT, 
SfxCallMode::ASYNCHRON);
-
 // get SdOptions
 SdOptions* pOptions = SD_MOD()->GetSdOptions(GetDoc()->GetDocumentType());
 sal_uInt32 nDefaultObjectSizeWidth(pOptions->GetDefaultObjectSizeWidth());
@@ -656,6 +652,10 @@ void DrawViewShell::FuPermanent(SfxRequest& rReq)
 {
 case SID_DRAW_CAPTION:
 case SID_DRAW_CAPTION_VERTICAL:
+case SID_ATTR_CHAR:
+case SID_ATTR_CHAR_VERTICAL:
+case SID_TEXT_FITTOSIZE:
+case SID_TEXT_FITTOSIZE_VERTICAL:
 {
 // Make FuText the current function.
 SfxUInt16Item aItem (SID_TEXTEDIT, 1);


core.git: sw/source

2024-03-22 Thread Noel Grandin (via logerrit)
 sw/source/core/unocore/unoobj2.cxx |5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

New commits:
commit 64aa51cb2fcfb6cfb325ffdc2567b0a2f0661007
Author: Noel Grandin 
AuthorDate: Wed Mar 20 19:34:42 2024 +0200
Commit: Noel Grandin 
CommitDate: Fri Mar 22 12:35:07 2024 +0100

remove unnecessary code

SwTextFootnote has a start node member, no need to search for it again

Add an assert in case I'm wrong.

Looks like it has been this way since
commit 6bff13645223e2a2701acc1b6f7d579671c97e06
Author: Oliver Specht 
Date:   Fri Jan 12 15:15:41 2001 +
new: Redline container

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

diff --git a/sw/source/core/unocore/unoobj2.cxx 
b/sw/source/core/unocore/unoobj2.cxx
index 9e67f927db54..f343bd9c3e75 100644
--- a/sw/source/core/unocore/unoobj2.cxx
+++ b/sw/source/core/unocore/unoobj2.cxx
@@ -1327,9 +1327,10 @@ CreateParentXText(SwDoc & rDoc, const SwPosition& rPos)
 const SwTextFootnote* pTextFootnote = rDoc.GetFootnoteIdxs()[ 
n ];
 const SwFormatFootnote& rFormatFootnote = 
pTextFootnote->GetFootnote();
 assert(pTextFootnote == rFormatFootnote.GetTextFootnote());
+assert(&pTextFootnote->GetStartNode()->GetNode() == 
pTextFootnote->GetStartNode()->GetNode().
+FindSttNodeByType(SwFootnoteStartNode));
 
-if (pSttNode == pTextFootnote->GetStartNode()->GetNode().
-FindSttNodeByType(SwFootnoteStartNode))
+if (pSttNode == &pTextFootnote->GetStartNode()->GetNode())
 {
 xParentText = SwXFootnote::CreateXFootnote(rDoc,
 &const_cast(rFormatFootnote));


Re: autosave errors

2024-03-22 Thread Ilmari Lauhakangas

On 22.3.2024 4.25, jax...@kabelmail.dk wrote:
When LibreOfficeWriter makes an automatic back-up save ... the text you 
write while this is happening, is lost. For most users, this might be a 
small problem, but when you, like me, work with rather large files and 
write relatively quickly, sometimes whole words end up missing that way 
... and I have to be extra careful reading afterwards to find these 
'holes' in the text.


Other word processing systems I have used so far have a buffer function, 
where the text that is written during auto-save is saved and then when 
the auto-save is over, inserted in the right place. I would think such a 
feature would be a great improvement for Libre.


Unfortunately, I don't know enough programming to fix the problem 
myself... but I saw a while ago that you asked for user feedback, so 
this is my contribution.


For anyone interested, the report for this is 
https://bugs.documentfoundation.org/show_bug.cgi?id=48416


Ilmari


core.git: Branch 'distro/collabora/co-24.04' - sfx2/source

2024-03-22 Thread Gökay Şatır (via logerrit)
 sfx2/source/control/unoctitm.cxx |   30 +-
 1 file changed, 29 insertions(+), 1 deletion(-)

New commits:
commit 38baaed9c11a65bda4079274a3d73bbd7035af7c
Author: Gökay Şatır 
AuthorDate: Fri Mar 22 13:34:38 2024 +0300
Commit: Gökay ŞATIR 
CommitDate: Fri Mar 22 12:37:57 2024 +0100

Allow more uno commands in readonly view mode.

So user can use keyboard for selection.

Signed-off-by: Gökay Şatır 
Change-Id: Ic7812c88110da9fbefe86d145f921e48360b4f34
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/165157
Reviewed-by: Michael Meeks 
Tested-by: Jenkins CollaboraOffice 

diff --git a/sfx2/source/control/unoctitm.cxx b/sfx2/source/control/unoctitm.cxx
index 59d51a8c3cf1..3e2a3f125cfd 100644
--- a/sfx2/source/control/unoctitm.cxx
+++ b/sfx2/source/control/unoctitm.cxx
@@ -547,7 +547,35 @@ static bool isCommandAllowedForViewType(const OUString& 
command)
 u"CopyHyperlinkLocation"_ustr,
 u"ExportDirectToPDF"_ustr,
 u"ExportToPDF"_ustr,
-u"ExportToEPUB"_ustr
+u"ExportToEPUB"_ustr,
+u"CharRightSel"_ustr,
+u"CharLeftSel"_ustr,
+u"WordRightSel"_ustr,
+u"WordLeftSel"_ustr,
+u"EndOfParaSel"_ustr,
+u"StartOfParaSel"_ustr,
+u"GoRight"_ustr,
+u"GoLeft"_ustr,
+u"GoToNextWord"_ustr,
+u"GoToPrevWord"_ustr,
+u"GoToNextPara"_ustr,
+u"GoToStartOfPara"_ustr,
+u"GoUp"_ustr,
+u"GoDown"_ustr,
+u"GoRightSel"_ustr,
+u"GoLeftSel"_ustr,
+u"GoUpSel"_ustr,
+u"GoDownSel"_ustr,
+u"GoLeftToStartOfData"_ustr,
+u"GoRightToEndOfData"_ustr,
+u"GoToStart"_ustr,
+u"GoToEndOfData"_ustr,
+u"GoUpToStartOfData"_ustr,
+u"GoDownToEndOfData"_ustr,
+u"GoLeftToStartOfDataSel"_ustr,
+u"GoRightToEndOfDataSel"_ustr,
+u"GoUpToStartOfDataSel"_ustr,
+u"GoDownToEndOfDataSel"_ustr
 };
 
 bool allowed = std::find(std::begin(allowedCommandList), 
std::end(allowedCommandList), command) != std::end(allowedCommandList);


core.git: sc/source

2024-03-22 Thread Heiko Tietze (via logerrit)
 sc/source/ui/app/rfindlst.cxx |   10 +-
 1 file changed, 9 insertions(+), 1 deletion(-)

New commits:
commit 9c8b240e7cad6ef74e16ad83d45957737389aa90
Author: Heiko Tietze 
AuthorDate: Thu Mar 21 11:50:40 2024 +0100
Commit: Heiko Tietze 
CommitDate: Fri Mar 22 13:06:37 2024 +0100

Resolves tdf#160282 - Ranges references text colors for dark backgrounds

Change-Id: I3d3bb22302ad5016c962d606e80c2e9942301fbd
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/165095
Tested-by: Jenkins
Reviewed-by: Heiko Tietze 

diff --git a/sc/source/ui/app/rfindlst.cxx b/sc/source/ui/app/rfindlst.cxx
index ba17bf006ea1..be521f65dea8 100644
--- a/sc/source/ui/app/rfindlst.cxx
+++ b/sc/source/ui/app/rfindlst.cxx
@@ -20,18 +20,25 @@
 #include 
 #include 
 #include 
+#include 
+#include 
 
 #define SC_RANGECOLORS  8
 
 const Color aColNames[SC_RANGECOLORS] =
 { COL_LIGHTBLUE, COL_LIGHTRED, COL_LIGHTMAGENTA, COL_GREEN,
 COL_BLUE, COL_RED, COL_MAGENTA, COL_BROWN };
+const Color aDarkColNames[SC_RANGECOLORS] =
+{ COL_LIGHTBLUE, COL_LIGHTRED, COL_LIGHTMAGENTA, COL_GREEN,
+Color(0xb4c7dc), Color(0xffa6a6), Color(0xffb66c), Color(0xafd095) }; 
//light blue/red/orange/green 3
+static bool bIsDark;
 
 ScRangeFindList::ScRangeFindList(OUString aName) :
 aDocName(std::move( aName )),
 bHidden( false ),
 nIndexColor( 0 )
 {
+bIsDark = 
SC_MOD()->GetColorConfig().GetColorValue(svtools::DOCCOLOR).nColor.IsDark();
 }
 
 Color ScRangeFindList::Insert( const ScRangeFindData &rNew )
@@ -48,7 +55,8 @@ Color ScRangeFindList::Insert( const ScRangeFindData &rNew )
 
 Color ScRangeFindList::GetColorName( const size_t nIndex )
 {
-return aColNames[nIndex % SC_RANGECOLORS];
+return bIsDark ? aDarkColNames[nIndex % SC_RANGECOLORS]
+   : aColNames[nIndex % SC_RANGECOLORS];
 }
 
 Color ScRangeFindList::FindColor( const ScRange& rRef, const size_t nIndex )


core.git: Branch 'distro/collabora/co-23.05' - sd/qa sfx2/source

2024-03-22 Thread Miklos Vajna (via logerrit)
 sd/qa/unit/tiledrendering/tiledrendering.cxx |   26 ++
 sfx2/source/sidebar/SidebarController.cxx|   18 --
 2 files changed, 34 insertions(+), 10 deletions(-)

New commits:
commit 7f7b1578dafc11705feb8d99f997041d84df5aee
Author: Miklos Vajna 
AuthorDate: Thu Mar 21 17:01:20 2024 +0100
Commit: Caolán McNamara 
CommitDate: Fri Mar 22 13:14:26 2024 +0100

cool#8278 sfx2 lok: fix lost hide notification on sidebar switch

Similar to commit 55feb670ca28e0a48ac82a65b5559598704d993e (cool#8278
sfx2 lok: fix unexpected non-json sidebar status update, 2024-03-21),
the trouble here was not around hiding the sidebar but around switching
between decks.

This went wrong in commit aaf6ce108e91b1504befe19afcee471e3316ae7a
(cool#7492 sfx2 lok: set language/locale on async sidebar update,
2024-01-11), where I didn't notice that
SidebarController::SwitchToDeck() may emit two callbacks, so the effort
to avoid code duplication went a bit too far: the hide+show case only
emitted a show callback.

Fix this by building a list of state changes to emit, so once se switch
decks, not only the new one is "on", but also the old one is "off".

(cherry picked from commit d8061151acf4e287b60a055a67b84c56989a37af)

(cherry picked from commit a521fc2917e8f887f4e53788bf31935998ba1ad1)

Conflicts:
sd/qa/unit/tiledrendering/tiledrendering.cxx

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

diff --git a/sd/qa/unit/tiledrendering/tiledrendering.cxx 
b/sd/qa/unit/tiledrendering/tiledrendering.cxx
index 236185d73c73..19a9ca350243 100644
--- a/sd/qa/unit/tiledrendering/tiledrendering.cxx
+++ b/sd/qa/unit/tiledrendering/tiledrendering.cxx
@@ -134,6 +134,7 @@ public:
 void testPasteUndo();
 void testShapeEditInMultipleViews();
 void testSidebarHide();
+void testSidebarSwitchDeck();
 void testGetViewRenderState();
 
 CPPUNIT_TEST_SUITE(SdTiledRenderingTest);
@@ -196,6 +197,7 @@ public:
 CPPUNIT_TEST(testPasteUndo);
 CPPUNIT_TEST(testShapeEditInMultipleViews);
 CPPUNIT_TEST(testSidebarHide);
+CPPUNIT_TEST(testSidebarSwitchDeck);
 CPPUNIT_TEST(testGetViewRenderState);
 CPPUNIT_TEST_SUITE_END();
 
@@ -3141,6 +3143,30 @@ void SdTiledRenderingTest::testSidebarHide()
 CPPUNIT_ASSERT(it != aView.m_aStateChanges.end());
 }
 
+void SdTiledRenderingTest::testSidebarSwitchDeck()
+{
+// Given an impress document, with a visible sidebar (ModifyPage deck):
+createDoc("dummy.odp");
+ViewCallback aView;
+sfx2::sidebar::Sidebar::Setup(u"");
+Scheduler::ProcessEventsToIdle();
+aView.m_aStateChanges.clear();
+
+// When switching to the MasterSlidesPanel deck:
+dispatchCommand(mxComponent, ".uno:MasterSlidesPanel", {});
+
+// Then make sure notifications are sent for both the old and the new 
decks:
+auto it = aView.m_aStateChanges.find(".uno:ModifyPage");
+// Without the accompanying fix in place, this test would have failed, the 
notification for the
+// old deck was missing.
+CPPUNIT_ASSERT(it != aView.m_aStateChanges.end());
+boost::property_tree::ptree aTree = it->second;
+CPPUNIT_ASSERT(aTree.get_child_optional("state").has_value());
+CPPUNIT_ASSERT_EQUAL(std::string("false"), 
aTree.get_child("state").get_value());
+it = aView.m_aStateChanges.find(".uno:MasterSlidesPanel");
+CPPUNIT_ASSERT(it != aView.m_aStateChanges.end());
+}
+
 CPPUNIT_TEST_SUITE_REGISTRATION(SdTiledRenderingTest);
 
 CPPUNIT_PLUGIN_IMPLEMENT();
diff --git a/sfx2/source/sidebar/SidebarController.cxx 
b/sfx2/source/sidebar/SidebarController.cxx
index 82dee4895f03..65e8957ff6b8 100644
--- a/sfx2/source/sidebar/SidebarController.cxx
+++ b/sfx2/source/sidebar/SidebarController.cxx
@@ -811,30 +811,28 @@ void SidebarController::SwitchToDeck (
 {
 if (const SfxViewShell* pViewShell = mpViewFrame->GetViewShell())
 {
-boost::property_tree::ptree aTree;
-aTree.put("locale", 
comphelper::LibreOfficeKit::getLocale().getBcp47());
-bool bStateChanged = false;
+std::vector> aStateChanges;
 if (msCurrentDeckId != rDeckDescriptor.msId)
 {
 const std::string hide = UnoNameFromDeckId(msCurrentDeckId, 
GetCurrentContext());
 if (!hide.empty())
 {
-aTree.put("commandName", hide);
-aTree.put("state", "false");
-bStateChanged = true;
+aStateChanges.push_back({hide, std::string("false")});
 }
 }
 
 const std::string show = UnoNameFromDeckId(rDeckDescriptor.msId, 
GetCurrentContext());
 if (!show.empty())
 {
- 

core.git: Branch 'libreoffice-24-2' - wizards/source

2024-03-22 Thread Jean-Pierre Ledure (via logerrit)
 wizards/source/scriptforge/SF_Session.xba |2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

New commits:
commit c826976b634596e476515a678ce415d9d16830c6
Author: Jean-Pierre Ledure 
AuthorDate: Thu Mar 21 15:54:55 2024 +0100
Commit: Xisco Fauli 
CommitDate: Fri Mar 22 13:18:53 2024 +0100

ScriptForge (session).RunApplication() crash fix tdf#160222

Use
 com.sun.star.system.SystemShellExecuteFlags.DEFAULTS
i.o.
 com.sun.star.system.SystemShellExecuteFlags.URIS_ONLY

as argument of
 com.sun.star.system.SystemShellExecute.execute()

Change-Id: I3919777cf9442387aec6ed694a2883519e4a7910
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/165105
Reviewed-by: Jean-Pierre Ledure 
Tested-by: Jenkins
(cherry picked from commit ec2d0fceedec8aa775940d496eb86c40f958a10c)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/165127

diff --git a/wizards/source/scriptforge/SF_Session.xba 
b/wizards/source/scriptforge/SF_Session.xba
index aeca1133e346..307fb7a8f4bf 100644
--- a/wizards/source/scriptforge/SF_Session.xba
+++ b/wizards/source/scriptforge/SF_Session.xba
@@ -587,7 +587,7 @@ Check:
 Try:
Set oShell = SF_Utils._GetUNOService("SystemShellExecute")
sCommand = SF_FileSystem._ConvertToUrl(Command)
-   oShell.execute(sCommand, Parameters, 
com.sun.star.system.SystemShellExecuteFlags.URIS_ONLY)
+   oShell.execute(sCommand, Parameters, 
com.sun.star.system.SystemShellExecuteFlags.DEFAULTS)
bReturn = True
 
 Finally:


core.git: Branch 'libreoffice-24-2' - svl/qa svl/source

2024-03-22 Thread Mike Kaganski (via logerrit)
 svl/qa/unit/svl.cxx|   20 
 svl/source/numbers/zformat.cxx |2 ++
 2 files changed, 22 insertions(+)

New commits:
commit 581b9c2752d6cedd5622c57cd38b1f8a36d53169
Author: Mike Kaganski 
AuthorDate: Thu Mar 21 22:46:26 2024 +0500
Commit: Xisco Fauli 
CommitDate: Fri Mar 22 13:24:25 2024 +0100

tdf#160306: make sure that SvNumberFormatter agrees with ROUND output

After commit 9eb9083ff2fdaeb96399a0830a4394de4e29ef64 (Use Dragonbox
to implement doubleTo*String*, 2022-02-18), the rounding that is used
in SvNumberFormatter became strictly more correct; however, it now
differed from what ROUND spreadsheet function returned, because the
latter uses rtl_math_round, which calls rtl::math::approxFloor.

To make the visual number representation consistent, this change uses
rtl_math_round in SvNumberformat::ImpGetNumberOutput.

Change-Id: I05b0bed7d3a6c73584a77adbae2835c95be249fa
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/165142
Tested-by: Jenkins
Reviewed-by: Mike Kaganski 
(cherry picked from commit 805dd6bee49164d9a77de4ea9e0d53b416daca7a)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/165124
Reviewed-by: Xisco Fauli 

diff --git a/svl/qa/unit/svl.cxx b/svl/qa/unit/svl.cxx
index 4fa56f4bccd4..969dfa166bae 100644
--- a/svl/qa/unit/svl.cxx
+++ b/svl/qa/unit/svl.cxx
@@ -1993,6 +1993,26 @@ CPPUNIT_TEST_FIXTURE(Test, testLanguageNone)
 CPPUNIT_ASSERT_EQUAL(OUString("dd.mm."), 
pFormat->GetMappedFormatstring(keywords, ldw));
 }
 
+CPPUNIT_TEST_FIXTURE(Test, testTdf160306)
+{
+// Check some cases, where the output of ROUND and of number formatter 
differed
+SvNumberFormatter aFormatter(m_xContext, LANGUAGE_ENGLISH_US);
+sal_uInt32 format = aFormatter.GetEntryKey(u"0.00", LANGUAGE_ENGLISH_US);
+CPPUNIT_ASSERT(format != NUMBERFORMAT_ENTRY_NOT_FOUND);
+OUString output;
+const Color* color;
+aFormatter.GetOutputString(2697.06496, format, output, &color);
+// Without the fix in place, this would fail with
+// - Expected: 2697.07
+// - Actual  : 2697.06
+CPPUNIT_ASSERT_EQUAL(u"2697.07"_ustr, output);
+aFormatter.GetOutputString(57.3749993, format, output, &color);
+// Without the fix in place, this would fail with
+// - Expected: 57.38
+// - Actual  : 57.37
+CPPUNIT_ASSERT_EQUAL(u"57.38"_ustr, output);
+}
+
 CPPUNIT_TEST_SUITE_REGISTRATION(Test);
 
 }
diff --git a/svl/source/numbers/zformat.cxx b/svl/source/numbers/zformat.cxx
index b5c8757ef2e6..313a59827947 100644
--- a/svl/source/numbers/zformat.cxx
+++ b/svl/source/numbers/zformat.cxx
@@ -4407,6 +4407,8 @@ bool SvNumberformat::ImpGetNumberOutput(double fNumber,
 {
 nPrecExp = 0;
 }
+// Make sure that Calc's ROUND and formatted output agree
+fNumber = rtl_math_round(fNumber, rInfo.nCntPost, 
rtl_math_RoundingMode_Corrected);
 if (rInfo.nCntPost) // Decimal places
 {
 if ((rInfo.nCntPost + nPrecExp) > 15 && nPrecExp < 15)


core.git: Branch 'libreoffice-7-6' - wizards/source

2024-03-22 Thread Jean-Pierre Ledure (via logerrit)
 wizards/source/scriptforge/SF_Session.xba |2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

New commits:
commit 2b168309d077e0685fe0d90d2f84981845153f7c
Author: Jean-Pierre Ledure 
AuthorDate: Thu Mar 21 15:54:55 2024 +0100
Commit: Jean-Pierre Ledure 
CommitDate: Fri Mar 22 15:06:05 2024 +0100

ScriptForge (session).RunApplication() crash fix tdf#160222

Use
 com.sun.star.system.SystemShellExecuteFlags.DEFAULTS
i.o.
 com.sun.star.system.SystemShellExecuteFlags.URIS_ONLY

as argument of
 com.sun.star.system.SystemShellExecute.execute()

Change-Id: I3919777cf9442387aec6ed694a2883519e4a7910
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/165105
Reviewed-by: Jean-Pierre Ledure 
Tested-by: Jenkins
(cherry picked from commit ec2d0fceedec8aa775940d496eb86c40f958a10c)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/165127
(cherry picked from commit c826976b634596e476515a678ce415d9d16830c6)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/165128
Tested-by: Jean-Pierre Ledure 

diff --git a/wizards/source/scriptforge/SF_Session.xba 
b/wizards/source/scriptforge/SF_Session.xba
index 2bde313194b1..6cd2dd714d2e 100644
--- a/wizards/source/scriptforge/SF_Session.xba
+++ b/wizards/source/scriptforge/SF_Session.xba
@@ -587,7 +587,7 @@ Check:
 Try:
Set oShell = SF_Utils._GetUNOService("SystemShellExecute")
sCommand = SF_FileSystem._ConvertToUrl(Command)
-   oShell.execute(sCommand, Parameters, 
com.sun.star.system.SystemShellExecuteFlags.URIS_ONLY)
+   oShell.execute(sCommand, Parameters, 
com.sun.star.system.SystemShellExecuteFlags.DEFAULTS)
bReturn = True
 
 Finally:


core.git: sw/qa sw/source

2024-03-22 Thread Michael Stahl (via logerrit)
 sw/qa/core/unocore/unocore.cxx   |   27 +++
 sw/source/core/unocore/unocrsrhelper.cxx |2 +-
 2 files changed, 28 insertions(+), 1 deletion(-)

New commits:
commit 8f2de92b3da99346f7282e623d47912f40f92b7b
Author: Michael Stahl 
AuthorDate: Fri Mar 22 12:28:43 2024 +0100
Commit: Michael Stahl 
CommitDate: Fri Mar 22 15:15:06 2024 +0100

sw: GetSelectableFromAny() broken for SwXTextRange

The function unnecessarily uses an intermediate XUnoTunnel variable to
handle SwXTextRange, but the implementation of XUnoTunnel was removed.

(regression from commit 635448a996714a81cb15b41ac4bb0c73cabfb74f)

Change-Id: I90dd7acbd259e8ca562a534ad0bc9a5b85356553
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/165162
Reviewed-by: Noel Grandin 
Tested-by: Jenkins
Reviewed-by: Michael Stahl 

diff --git a/sw/qa/core/unocore/unocore.cxx b/sw/qa/core/unocore/unocore.cxx
index 381fe0dab3e2..3e52b12a363c 100644
--- a/sw/qa/core/unocore/unocore.cxx
+++ b/sw/qa/core/unocore/unocore.cxx
@@ -78,6 +78,33 @@ CPPUNIT_TEST_FIXTURE(SwCoreUnocoreTest, testTdf119081)
 CPPUNIT_ASSERT_EQUAL(OUString("x"), 
pWrtShell->GetCurrentShellCursor().GetText());
 }
 
+CPPUNIT_TEST_FIXTURE(SwCoreUnocoreTest, selectTextRange)
+{
+createSwDoc();
+uno::Reference const xTD(mxComponent, 
uno::UNO_QUERY_THROW);
+uno::Reference const xText(xTD->getText());
+uno::Reference const xCursor(xText->createTextCursor());
+xText->insertString(xCursor, "test", /*bAbsorb=*/false);
+xCursor->gotoStart(false);
+xCursor->gotoEnd(true);
+CPPUNIT_ASSERT_EQUAL(OUString("test"), xCursor->getString());
+uno::Reference const xMSF(mxComponent, 
uno::UNO_QUERY_THROW);
+uno::Reference const xSection(
+xMSF->createInstance("com.sun.star.text.TextSection"), 
uno::UNO_QUERY_THROW);
+xText->insertTextContent(xCursor, xSection, true);
+uno::Reference const xAnchor(xSection->getAnchor());
+uno::Reference const 
xView(xTD->getCurrentController(),
+ uno::UNO_QUERY);
+CPPUNIT_ASSERT_EQUAL(OUString("test"), xAnchor->getString());
+CPPUNIT_ASSERT(xView->select(uno::Any(xAnchor)));
+uno::Reference xSel;
+CPPUNIT_ASSERT(xView->getSelection() >>= xSel);
+CPPUNIT_ASSERT_EQUAL(sal_Int32(1), xSel->getCount());
+uno::Reference xSelRange;
+CPPUNIT_ASSERT(xSel->getByIndex(0) >>= xSelRange);
+CPPUNIT_ASSERT_EQUAL(OUString("test"), xSelRange->getString());
+}
+
 CPPUNIT_TEST_FIXTURE(SwCoreUnocoreTest, flyAtParaAnchor)
 {
 createSwDoc();
diff --git a/sw/source/core/unocore/unocrsrhelper.cxx 
b/sw/source/core/unocore/unocrsrhelper.cxx
index 5f3c88f3511b..9821f9477c85 100644
--- a/sw/source/core/unocore/unocrsrhelper.cxx
+++ b/sw/source/core/unocore/unocrsrhelper.cxx
@@ -226,7 +226,7 @@ void GetSelectableFromAny(uno::Reference 
const& xIfc,
 return;
 }
 
-uno::Reference const xTextRange(xTunnel, UNO_QUERY);
+uno::Reference const xTextRange(xIfc, UNO_QUERY);
 if (xTextRange.is())
 {
 SwUnoInternalPaM aPam(rTargetDoc);


core.git: svx/inc svx/source

2024-03-22 Thread Attila Szűcs (via logerrit)
 svx/inc/sdr/primitive2d/sdrgrafprimitive2d.hxx|4 ++-
 svx/source/sdr/contact/viewcontactofgraphic.cxx   |3 +-
 svx/source/sdr/primitive2d/sdrgrafprimitive2d.cxx |   24 ++
 3 files changed, 25 insertions(+), 6 deletions(-)

New commits:
commit d323976fd6d560a9b91da3e7833dfbe9f6b78f39
Author: Attila Szűcs 
AuthorDate: Thu Mar 21 01:57:59 2024 +0100
Commit: Attila Szűcs 
CommitDate: Fri Mar 22 15:25:23 2024 +0100

tdf#159258 SD: SS: disable placeholdertext in image

Changed the text creation to use ExclusiveEditViewPrimitive2D
in case we are in a placeholder image.
Had to make a flag to send the information if we are in a
placeholderimage.. because this function also called on other
primitives.

Unfortunatelly we cannot do it in
CreateObjectSpecificViewObjectContact
as in case of the icon... because the Primitive2DContainer
that will (later) contain the text will also contain the rectangle
as well, and we want to display the rectange.

Follow-up to commit I307f4b0fe7f8faf98789787f216cac7be86a0515
"Provide tooling for EditView exclusive Primitives".

Change-Id: If24aaa330c7b0b6dbaa72c9900774959ef24da4f
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/165087
Tested-by: Jenkins
Reviewed-by: Attila Szűcs 

diff --git a/svx/inc/sdr/primitive2d/sdrgrafprimitive2d.hxx 
b/svx/inc/sdr/primitive2d/sdrgrafprimitive2d.hxx
index 91f1d9d2d4d8..3e19d5b6dce8 100644
--- a/svx/inc/sdr/primitive2d/sdrgrafprimitive2d.hxx
+++ b/svx/inc/sdr/primitive2d/sdrgrafprimitive2d.hxx
@@ -33,6 +33,7 @@ private:
 attribute::SdrLineFillEffectsTextAttribute maSdrLFSTAttribute;
 GraphicObject maGraphicObject;
 GraphicAttr maGraphicAttr;
+bool mbPlaceholderImage = false;
 
 // local decomposition.
 virtual Primitive2DReference
@@ -41,7 +42,8 @@ private:
 public:
 SdrGrafPrimitive2D(::basegfx::B2DHomMatrix aTransform,
const attribute::SdrLineFillEffectsTextAttribute& 
rSdrLFSTAttribute,
-   const GraphicObject& rGraphicObject, const GraphicAttr& 
rGraphicAttr);
+   const GraphicObject& rGraphicObject, const GraphicAttr& 
rGraphicAttr,
+   bool bPlaceholderImage = false);
 
 // data access
 const ::basegfx::B2DHomMatrix& getTransform() const { return maTransform; }
diff --git a/svx/source/sdr/contact/viewcontactofgraphic.cxx 
b/svx/source/sdr/contact/viewcontactofgraphic.cxx
index f3a18d8e6462..b9f7755b5a03 100644
--- a/svx/source/sdr/contact/viewcontactofgraphic.cxx
+++ b/svx/source/sdr/contact/viewcontactofgraphic.cxx
@@ -84,7 +84,8 @@ namespace sdr::contact
 rObjectMatrix,
 rAttribute,
 aEmptyGraphicObject,
-aEmptyGraphicAttr));
+aEmptyGraphicAttr,
+true));
 xRetval = drawinglayer::primitive2d::Primitive2DContainer { 
xReferenceA };
 
 // SdrGrafPrimitive2D with content (which is the preview graphic) 
scaled to smaller size and
diff --git a/svx/source/sdr/primitive2d/sdrgrafprimitive2d.cxx 
b/svx/source/sdr/primitive2d/sdrgrafprimitive2d.cxx
index ff91bc67462d..dadc8d06326e 100644
--- a/svx/source/sdr/primitive2d/sdrgrafprimitive2d.cxx
+++ b/svx/source/sdr/primitive2d/sdrgrafprimitive2d.cxx
@@ -20,6 +20,7 @@
 #include 
 #include 
 #include 
+#include 
 #include 
 #include 
 #include 
@@ -103,9 +104,22 @@ Primitive2DReference 
SdrGrafPrimitive2D::create2DDecomposition(
 // add text
 if (!getSdrLFSTAttribute().getText().isDefault())
 {
-
aRetval.push_back(createTextPrimitive(basegfx::B2DPolyPolygon(aUnitOutline), 
getTransform(),
-  getSdrLFSTAttribute().getText(),
-  getSdrLFSTAttribute().getLine(), 
false, false));
+const drawinglayer::primitive2d::Primitive2DReference xReferenceA = 
createTextPrimitive(
+basegfx::B2DPolyPolygon(aUnitOutline), getTransform(), 
getSdrLFSTAttribute().getText(),
+getSdrLFSTAttribute().getLine(), false, false);
+
+if (!mbPlaceholderImage)
+{
+aRetval.push_back(xReferenceA);
+}
+else
+{
+const drawinglayer::primitive2d::Primitive2DReference aEmbedded(
+new drawinglayer::primitive2d::ExclusiveEditViewPrimitive2D(
+drawinglayer::primitive2d::Primitive2DContainer{ 
xReferenceA }));
+
+aRetval.push_back(aEmbedded);
+}
 }
 
 // tdf#132199: put glow before shadow, to have shadow of the glow, not the 
opposite
@@ -128,11 +142,13 @@ Primitive2DReference 
SdrGrafPrimitive2D::create2DDecomposition(
 SdrGrafPrimitive2D::SdrGrafPrimitive2D(
 basegfx::B2DHomMatrix aTransform,
 const attribute::SdrLineFillEffectsTextAttribute& rSdrLFSTAttribute,
-const GraphicObject& rGraphicObject, const Grap

core.git: sd/CppunitTest_sd_tiledrendering2.mk sd/Module_sd.mk sd/qa

2024-03-22 Thread Miklos Vajna (via logerrit)
 sd/CppunitTest_sd_tiledrendering2.mk   |   71 +++
 sd/Module_sd.mk|1 
 sd/qa/unit/tiledrendering/tiledrendering.cxx   |   24 ---
 sd/qa/unit/tiledrendering2/data/dummy.odp  |binary
 sd/qa/unit/tiledrendering2/tiledrendering2.cxx |  159 +
 5 files changed, 231 insertions(+), 24 deletions(-)

New commits:
commit 14bc758fa1d275ef54499085bfdc72d372128ede
Author: Miklos Vajna 
AuthorDate: Fri Mar 22 14:23:28 2024 +0100
Commit: Miklos Vajna 
CommitDate: Fri Mar 22 15:38:28 2024 +0100

CppunitTest_sd_tiledrendering2: extract one test from the old, large suite

Not a split, to avoid too many conflicts while cherry-picking, but at
least create a new suite where next tests can be added without too much
build time after source code edits.

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

diff --git a/sd/CppunitTest_sd_tiledrendering2.mk 
b/sd/CppunitTest_sd_tiledrendering2.mk
new file mode 100644
index ..838f13fc3ece
--- /dev/null
+++ b/sd/CppunitTest_sd_tiledrendering2.mk
@@ -0,0 +1,71 @@
+# -*- Mode: makefile-gmake; tab-width: 4; indent-tabs-mode: t -*-
+#*
+#
+# This file is part of the LibreOffice project.
+#
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+#
+#*
+
+$(eval $(call gb_CppunitTest_CppunitTest,sd_tiledrendering2))
+
+$(eval $(call gb_CppunitTest_use_common_precompiled_header,sd_tiledrendering2))
+
+$(eval $(call gb_CppunitTest_add_exception_objects,sd_tiledrendering2, \
+sd/qa/unit/tiledrendering2/tiledrendering2 \
+))
+
+$(eval $(call gb_CppunitTest_use_libraries,sd_tiledrendering2, \
+comphelper \
+cppu \
+cppuhelper \
+drawinglayer \
+editeng \
+sal \
+sfx \
+subsequenttest \
+svl \
+svt \
+svxcore \
+sd \
+test \
+unotest \
+vcl \
+tl \
+utl \
+))
+
+$(eval $(call gb_CppunitTest_use_externals,sd_tiledrendering2,\
+boost_headers \
+libxml2 \
+))
+
+$(eval $(call gb_CppunitTest_set_include,sd_tiledrendering2,\
+-I$(SRCDIR)/sd/inc \
+-I$(SRCDIR)/sd/source/ui/inc \
+-I$(SRCDIR)/sd/qa/unit \
+$$(INCLUDE) \
+))
+
+$(eval $(call gb_CppunitTest_use_sdk_api,sd_tiledrendering2))
+
+$(eval $(call gb_CppunitTest_use_ure,sd_tiledrendering2))
+$(eval $(call gb_CppunitTest_use_vcl,sd_tiledrendering2))
+
+$(eval $(call gb_CppunitTest_use_rdb,sd_tiledrendering2,services))
+
+$(eval $(call gb_CppunitTest_use_configuration,sd_tiledrendering2))
+
+$(eval $(call gb_CppunitTest_use_uiconfigs,sd_tiledrendering2, \
+modules/simpress \
+svx \
+))
+
+
+$(eval $(call gb_CppunitTest_add_arguments,sd_tiledrendering2, \
+
-env:arg-env=$(gb_Helper_LIBRARY_PATH_VAR)"{$(gb_Helper_LIBRARY_PATH_VAR)+=$(gb_Helper_LIBRARY_PATH_VAR)}"
 \
+))
+
+# vim: set noet sw=4 ts=4:
diff --git a/sd/Module_sd.mk b/sd/Module_sd.mk
index b3a825254652..b606b8a56a9e 100644
--- a/sd/Module_sd.mk
+++ b/sd/Module_sd.mk
@@ -60,6 +60,7 @@ ifeq ($(OS),LINUX)
 $(eval $(call gb_Module_add_slowcheck_targets,sd,\
 CppunitTest_sd_svg_export_tests \
 CppunitTest_sd_tiledrendering \
+CppunitTest_sd_tiledrendering2 \
 ))
 endif
 endif
diff --git a/sd/qa/unit/tiledrendering/tiledrendering.cxx 
b/sd/qa/unit/tiledrendering/tiledrendering.cxx
index d270579e6c07..8f0fd9cfc4ae 100644
--- a/sd/qa/unit/tiledrendering/tiledrendering.cxx
+++ b/sd/qa/unit/tiledrendering/tiledrendering.cxx
@@ -2983,30 +2983,6 @@ CPPUNIT_TEST_FIXTURE(SdTiledRenderingTest, 
testSidebarHide)
 CPPUNIT_ASSERT(it != aView.m_aStateChanges.end());
 }
 
-CPPUNIT_TEST_FIXTURE(SdTiledRenderingTest, testSidebarSwitchDeck)
-{
-// Given an impress document, with a visible sidebar (ModifyPage deck):
-createDoc("dummy.odp");
-ViewCallback aView;
-sfx2::sidebar::Sidebar::Setup(u"");
-Scheduler::ProcessEventsToIdle();
-aView.m_aStateChanges.clear();
-
-// When switching to the MasterSlidesPanel deck:
-dispatchCommand(mxComponent, ".uno:MasterSlidesPanel", {});
-
-// Then make sure notifications are sent for both the old and the new 
decks:
-auto it = aView.m_aStateChanges.find(".uno:ModifyPage");
-// Without the accompanying fix in place, this test would have failed, the 
notification for the
-// old deck was missing.
-CPPUNIT_ASSERT(it != aView.m_aStateChanges.end());
-boost::property_tree::ptree aTree = it->second;
-CPPUNIT_ASSERT(aTree.get_child_optional("state").has_value());
-CPPUNIT_ASSERT_EQUAL(std::string("false"), 
aTree.get_child("state").get_value());
-it = aView.

dictionaries.git: hu_HU/hyph_hu_HU.dic hu_HU/README_hyph_hu_HU.txt

2024-03-22 Thread László Németh (via logerrit)
 hu_HU/README_hyph_hu_HU.txt |2 
 hu_HU/hyph_hu_HU.dic| 4614 +++-
 2 files changed, 4574 insertions(+), 42 deletions(-)

New commits:
commit 491736b0e775f7d4a0bfd9ed9ce94ec296e3e988
Author: László Németh 
AuthorDate: Fri Mar 22 15:07:48 2024 +0100
Commit: László Németh 
CommitDate: Fri Mar 22 15:47:59 2024 +0100

Updated Hungarian hyphenation dictionary to version v20240321

source: 
https://sourceforge.net/projects/magyarispell/files/OOo%20Huhyphn/v20240321-0.1/
Change-Id: If470f5854511cac6f0a355e4d006abf9e3976f90
Reviewed-on: https://gerrit.libreoffice.org/c/dictionaries/+/165166
Tested-by: László Németh 
Reviewed-by: László Németh 

diff --git a/hu_HU/README_hyph_hu_HU.txt b/hu_HU/README_hyph_hu_HU.txt
index 3f86548..bca57ed 100644
--- a/hu_HU/README_hyph_hu_HU.txt
+++ b/hu_HU/README_hyph_hu_HU.txt
@@ -1,6 +1,6 @@
 % Hungarian hyphenation patterns with non-standard hyphenation patch
 % --
-% Patch version: 2010-10-07
+% Patch version: 2024-03-21
 %
 % Language: Hungarian (hu HU)
 % Origin:   http://www.github.hu/bencenagy/huhyphn
diff --git a/hu_HU/hyph_hu_HU.dic b/hu_HU/hyph_hu_HU.dic
index d419ee1..0924dab 100644
--- a/hu_HU/hyph_hu_HU.dic
+++ b/hu_HU/hyph_hu_HU.dic
@@ -256,7 +256,6 @@ COMPOUNDRIGHTHYPHENMIN 3
 .ba2b1a2rá
 .1ba
 .b2abar
-.ba1ba
 .ba2bál
 .ba1bá
 .ba2b1e2
@@ -689,7 +688,6 @@ COMPOUNDRIGHTHYPHENMIN 3
 .fa1i
 .fa2leg
 .fa1le
-.fa2n1év
 .fa1né
 .fa2r1ont
 .fa1ro
@@ -75142,7 +75140,6 @@ s1s1zé
 össz1e1gye
 összeg2y
 1vi
-vis6sz3e6rek
 vis2s2z
 vis1s1ze
 vissze1re
@@ -91409,15 +91406,9 @@ expressz1ké
 .geron1to
 .geronto1fi
 .geron7t8ofil
-pszichog6ráfi1a
 pszi1c2h
 pszi1c1ho
 pszichog1rá
-pszichográ1fi
-pszichog8ráfi1a
-pszichográ1fi
-pszichog6ráfi1á
-pszichog8ráfi1á
 .tele6g7ráf
 .te1le
 .teleg1rá
@@ -91455,15 +91446,12 @@ c5cs2é./cs=,1,1
 c5cs2á./cs=,1,1
 c5cse2l./cs=,1,1
 c5csa2l./cs=,1,1
-.öc5c1sü/cs=,2,1
 .öc2c2s
 .öc5c1se/cs=,2,1
 .öc5c1sé/cs=,2,1
-aöc5c1sü/cs=,3,1
 aöc2c2s
 aöc5c1se/cs=,3,1
 aöc5c1sé/cs=,3,1
-söc5c1sü/cs=,3,1
 söc2c2s
 söc5c1se/cs=,3,1
 söc5c1sé/cs=,3,1
@@ -91486,7 +91474,6 @@ szkec5csem/cs=,5,1
 szkec5csen/cs=,5,1
 szkec5csed/cs=,5,1
 szkec5cs2e./cs=,5,1
-szkec5c1sü/cs=,5,1
 szkec5csetek/cs=,5,1
 szkeccse1te
 sztrec5cse2t./cs=,6,1
@@ -91501,7 +91488,6 @@ sztrec5csem/cs=,6,1
 sztrec5csen/cs=,6,1
 sztrec5csed/cs=,6,1
 sztrec5cs2e./cs=,6,1
-sztrec5c1sü/cs=,6,1
 sztrec5csetek/cs=,6,1
 sztreccse1te
 rec5c1se/cs=,3,1
@@ -91511,12 +91497,8 @@ puc2c2s
 puc1c1sa
 puc5c1so/cs=,3,1
 puc5c1su/cs=,3,1
-puc5c1si/cs=,3,1
-puc5c1sé/cs=,3,1
 pric5c1se/cs=,4,1
 pric5c1sé/cs=,4,1
-pric5c1si/cs=,4,1
-pric5c1sü/cs=,4,1
 fröc5csök/cs=,4,1
 fröc2c2s
 fröc1c1sö
@@ -91539,41 +91521,28 @@ fröc5csös/cs=,4,1
 ffröc5csös/cs=,4,1
 fröc5csöz/cs=,4,1
 ffröc5csöz/cs=,4,1
-fröc5c1sü/cs=,4,1
-ffröc5c1sü/cs=,4,1
 fröc5csen/cs=,4,1
 fröc1c1se
 ffröc5csen/cs=,4,1
 ffröc1c1se
 fröc5c1sé/cs=,4,1
 ffröc5c1sé/cs=,4,1
-fröc5c1s1i/cs=,4,1
-ffröc5c1s1i/cs=,4,1
 mec5cse2t./cs=,3,1
 mec2c2s
 mec1c1se
-mec5c1sé/cs=,3,1
 mec5csér2t./cs=,3,1
 mec5csi2g./cs=,3,1
 mec1c1si
-mec5csem/cs=,3,1
-mec5csen/cs=,3,1
-mec5csed/cs=,3,1
 mec5cs2e./cs=,3,1
 mec5csek/cs=,3,1
 mec5cse1i/cs=,3,1
-mec5csét/cs=,3,1
 mec5cséb/cs=,3,1
 mec5csérő2l./cs=,3,1
 meccsé1rő
 mec5csér2e./cs=,3,1
 meccsé1re
-mec5cséh/cs=,3,1
 mec5csé1i/cs=,3,1
-mec5csén/cs=,3,1
-mec5csév/cs=,3,1
 mec5cses/cs=,3,1
-mec5c1sü/cs=,3,1
 mec5csetek/cs=,3,1
 meccse1te
 nuc5c1se/cs=,3,1
@@ -91582,14 +91551,11 @@ glec5cser/cs=,4,1
 g2lecc
 glec2c2s
 glec1c1se
-gic5c1se/cs=,3,1
 gic5cse2t./cs=,3,1
 gic2c2s
-gic5c1sé/cs=,3,1
 gic5csér2t./cs=,3,1
 gic5csi2g./cs=,3,1
 gic1c1si
-gic5c1sü/cs=,3,1
 fuc5c1so/cs=,3,1
 fuc2c2s
 ffuc5c1so/cs=,3,1
@@ -95870,7 +95836,6 @@ jes5szus/sz=,3,1
 jes2s2z
 jes1s1zu
 dres5s1zú/sz=,4,1
-dres5s1zi/sz=,4,1
 dos5szi1é/sz=,3,1
 dos2s2z
 dos1s1zi
@@ -95945,7 +95910,6 @@ asszis2z
 dres5s1zé/sz=,4,1
 dres5sz2i2g./sz=,4,1
 as5szonn/sz=,2,1
-proces5szor/sz=,6,1
 proces2s2z
 proces1s1zo
 szeces5s1zi/sz=,6,1
@@ -95953,7 +95917,6 @@ s2ze1ce
 s2zeces2s2z
 stres5szek/sz=,5,1
 stres1s1ze
-stres5sze2l./sz=,5,1
 stres5szelt/sz=,5,1
 stres5szeln/sz=,5,1
 stres5sze1lé/sz=,5,1
@@ -96022,7 +95985,6 @@ fos1s1zí
 ffos1s1zí
 pres5s1zé/sz=,4,1
 dis5s1zo/sz=,3,1
-pres5s1zo/sz=,4,1
 pres5s1zó/sz=,4,1
 bas5s1zi/sz=,3,1
 as5szonán/sz=,2,1
@@ -96121,9 +96083,7 @@ ps5sze2l./sz=,2,1
 ps1s1ze
 rs5sz2á./sz=,2,1
 rs5sza2l./sz=,2,1
-rs5sz2é./sz=,2,1
 rs1s1zé
-rs5sze2l./sz=,2,1
 ús5sz2á./sz=,2,1
 ús5sza2l./sz=,2,1
 üs5sz2é./sz=,2,1
@@ -97294,7 +97254,6 @@ ra2ó1fi
 ős3sz1fi
 ős3sz1fl
 2v1e2lefl
-.rén3szarvas7szán
 íz1p1fi
 2z1átfl
 fly1átfl
@@ -97723,3 +97682,4576 @@ r2t1á1fi
 2b1ujj1fi
 r2t1ofl
 y1év1fi
+.rep8i7k8öltség
+.hős1t2r
+.cé1dé
+.versenye1ge
+.mikrotra1u
+.brin2g1a2u
+.bóra1cé
+.als2ká
+.euros1po
+.bőrpig1me
+.to1a
+.zse2ba
+.tejelő1á
+.bringau2tat
+.zuha1nó
+.virá8g7g8y8ant
+.pszeudosz1fé
+.hip1ho
+.menses1p2robl
+.makrogerinc1te
+.emlé8k7u8t

core.git: dictionaries

2024-03-22 Thread László Németh (via logerrit)
 dictionaries |2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

New commits:
commit cfd84d8a2add8b5c121d027458ac7692d90b5c7a
Author: László Németh 
AuthorDate: Fri Mar 22 15:47:59 2024 +0100
Commit: Gerrit Code Review 
CommitDate: Fri Mar 22 15:47:59 2024 +0100

Update git submodules

* Update dictionaries from branch 'master'
  to 491736b0e775f7d4a0bfd9ed9ce94ec296e3e988
  - Updated Hungarian hyphenation dictionary to version v20240321

source: 
https://sourceforge.net/projects/magyarispell/files/OOo%20Huhyphn/v20240321-0.1/
Change-Id: If470f5854511cac6f0a355e4d006abf9e3976f90
Reviewed-on: https://gerrit.libreoffice.org/c/dictionaries/+/165166
Tested-by: László Németh 
Reviewed-by: László Németh 

diff --git a/dictionaries b/dictionaries
index 5da9e11ea767..491736b0e775 16
--- a/dictionaries
+++ b/dictionaries
@@ -1 +1 @@
-Subproject commit 5da9e11ea767529d55630a96fb11d58a3e2b0694
+Subproject commit 491736b0e775f7d4a0bfd9ed9ce94ec296e3e988


core.git: Branch 'distro/collabora/co-23.05' - postprocess/Module_postprocess.mk

2024-03-22 Thread Andras Timar (via logerrit)
 postprocess/Module_postprocess.mk |   11 ++-
 1 file changed, 6 insertions(+), 5 deletions(-)

New commits:
commit 854e7d9c3241f6becf5baa471fd1e0ffc58cb0ae
Author: Andras Timar 
AuthorDate: Fri Mar 22 15:51:36 2024 +0100
Commit: Andras Timar 
CommitDate: Fri Mar 22 15:51:44 2024 +0100

[cp] Do not sign individual EXE/DLL files

Change-Id: I3137b3e3318dfade3dd8318fae2af94cc290d2d1

diff --git a/postprocess/Module_postprocess.mk 
b/postprocess/Module_postprocess.mk
index 0fbede6a9f2b..56ecd75db150 100644
--- a/postprocess/Module_postprocess.mk
+++ b/postprocess/Module_postprocess.mk
@@ -28,11 +28,12 @@ $(eval $(call gb_Module_add_l10n_targets,postprocess,\
Package_registry \
 ))
 
-ifeq ($(WINDOWS_BUILD_SIGNING),TRUE)
-$(eval $(call gb_Module_add_targets,postprocess,\
-   CustomTarget_signing \
-))
-endif
+# Do not sign individual EXE/DLL files
+# ifeq ($(WINDOWS_BUILD_SIGNING),TRUE)
+# $(eval $(call gb_Module_add_targets,postprocess,\
+#  CustomTarget_signing \
+# ))
+# endif
 
 # For configurations that use fontconfig (cf. inclusion of
 # vcl/unx/generic/fontmanager/fontconfig.cxx in Library_vcl), add


core.git: Branch 'distro/collabora/co-24.04' - postprocess/Module_postprocess.mk

2024-03-22 Thread Andras Timar (via logerrit)
 postprocess/Module_postprocess.mk |   11 ++-
 1 file changed, 6 insertions(+), 5 deletions(-)

New commits:
commit 50e324d2101253ce08d6ce1032d65afdb7ffa74d
Author: Andras Timar 
AuthorDate: Fri Mar 22 15:51:36 2024 +0100
Commit: Andras Timar 
CommitDate: Fri Mar 22 15:54:01 2024 +0100

[cp] Do not sign individual EXE/DLL files

Change-Id: I3137b3e3318dfade3dd8318fae2af94cc290d2d1

diff --git a/postprocess/Module_postprocess.mk 
b/postprocess/Module_postprocess.mk
index 0fbede6a9f2b..56ecd75db150 100644
--- a/postprocess/Module_postprocess.mk
+++ b/postprocess/Module_postprocess.mk
@@ -28,11 +28,12 @@ $(eval $(call gb_Module_add_l10n_targets,postprocess,\
Package_registry \
 ))
 
-ifeq ($(WINDOWS_BUILD_SIGNING),TRUE)
-$(eval $(call gb_Module_add_targets,postprocess,\
-   CustomTarget_signing \
-))
-endif
+# Do not sign individual EXE/DLL files
+# ifeq ($(WINDOWS_BUILD_SIGNING),TRUE)
+# $(eval $(call gb_Module_add_targets,postprocess,\
+#  CustomTarget_signing \
+# ))
+# endif
 
 # For configurations that use fontconfig (cf. inclusion of
 # vcl/unx/generic/fontmanager/fontconfig.cxx in Library_vcl), add


core.git: download.lst external/expat

2024-03-22 Thread Taichi Haradaguchi (via logerrit)
 download.lst|4 +-
 external/expat/0001-Fix-compiler-warnings.patch |   47 
 external/expat/UnpackedTarball_expat.mk |3 -
 3 files changed, 2 insertions(+), 52 deletions(-)

New commits:
commit 370ca73a45b291e172918b4c8fcbc37ccaa434cf
Author: Taichi Haradaguchi <20001...@ymail.ne.jp>
AuthorDate: Fri Mar 22 13:43:14 2024 +0100
Commit: Taichi Haradaguchi <20001...@ymail.ne.jp>
CommitDate: Fri Mar 22 15:57:29 2024 +0100

Expat: upgrade to release 2.6.2

Fixes CVE-2024-28757

Change-Id: Id85044fa9d8eda922425e580e9d6979f6563e98a
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/165129
Tested-by: Taichi Haradaguchi <20001...@ymail.ne.jp>
Reviewed-by: Taichi Haradaguchi <20001...@ymail.ne.jp>

diff --git a/download.lst b/download.lst
index 276d67276c07..643e9cc7f3f3 100644
--- a/download.lst
+++ b/download.lst
@@ -111,8 +111,8 @@ ETONYEK_TARBALL := 
libetonyek-0.1.$(ETONYEK_VERSION_MICRO).tar.xz
 # three static lines
 # so that git cherry-pick
 # will not run into conflicts
-EXPAT_SHA256SUM := 
cb5f5a8ea211e1cabd59be0a933a52e3c02cc326e86a4d387d8d218e7ee47a3e
-EXPAT_TARBALL := expat-2.6.0.tar.xz
+EXPAT_SHA256SUM := 
ee14b4c5d8908b1bec37ad937607eab183d4d9806a08adee472c3c3121d27364
+EXPAT_TARBALL := expat-2.6.2.tar.xz
 # three static lines
 # so that git cherry-pick
 # will not run into conflicts
diff --git a/external/expat/0001-Fix-compiler-warnings.patch 
b/external/expat/0001-Fix-compiler-warnings.patch
deleted file mode 100644
index adec5ed0d9be..
--- a/external/expat/0001-Fix-compiler-warnings.patch
+++ /dev/null
@@ -1,47 +0,0 @@
-From 3f60a47cb5716bb810789a12ef6024c1dc448164 Mon Sep 17 00:00:00 2001
-From: Taichi Haradaguchi <20001...@ymail.ne.jp>
-Date: Fri, 9 Feb 2024 19:28:35 +0900
-Subject: [PATCH] Fix compiler warnings
-
-> In file included from ./../lib/internal.h:149,
->  from codepage.c:38:
-> ./../lib/expat.h:1045:5: warning: "XML_GE" is not defined, evaluates to 0 
[-Wundef]
->  1045 | #if XML_GE == 1
->   | ^~
-> ./../lib/internal.h:158:5: warning: "XML_GE" is not defined, evaluates to 0 
[-Wundef]
->   158 | #if XML_GE == 1
->   | ^~

- expat/lib/expat.h| 2 +-
- expat/lib/internal.h | 2 +-
- 2 files changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/expat/lib/expat.h b/expat/lib/expat.h
-index 95464b0d..79bbfb61 100644
 a/expat/lib/expat.h
-+++ b/expat/lib/expat.h
-@@ -1042,7 +1042,7 @@ typedef struct {
- XMLPARSEAPI(const XML_Feature *)
- XML_GetFeatureList(void);
- 
--#if XML_GE == 1
-+#if defined(XML_GE) && XML_GE == 1
- /* Added in Expat 2.4.0 for XML_DTD defined and
-  * added in Expat 2.6.0 for XML_GE == 1. */
- XMLPARSEAPI(XML_Bool)
-diff --git a/expat/lib/internal.h b/expat/lib/internal.h
-index cce71e4c..208c6b67 100644
 a/expat/lib/internal.h
-+++ b/expat/lib/internal.h
-@@ -155,7 +155,7 @@ extern "C" {
- void _INTERNAL_trim_to_complete_utf8_characters(const char *from,
- const char **fromLimRef);
- 
--#if XML_GE == 1
-+#if defined(XML_GE) && XML_GE == 1
- unsigned long long testingAccountingGetCountBytesDirect(XML_Parser parser);
- unsigned long long testingAccountingGetCountBytesIndirect(XML_Parser parser);
- const char *unsignedCharToPrintable(unsigned char c);
--- 
-2.43.1
-
diff --git a/external/expat/UnpackedTarball_expat.mk 
b/external/expat/UnpackedTarball_expat.mk
index 465105f2ca8c..5d4f41f6d147 100644
--- a/external/expat/UnpackedTarball_expat.mk
+++ b/external/expat/UnpackedTarball_expat.mk
@@ -13,10 +13,7 @@ $(eval $(call 
gb_UnpackedTarball_set_tarball,expat,$(EXPAT_TARBALL)))
 
 $(eval $(call gb_UnpackedTarball_update_autoconf_configs,expat,conftools))
 
-# * external/expat/0001-Fix-compiler-warnings.patch was sent to upstream as
-#    "Fix compiler warnings":
 $(eval $(call gb_UnpackedTarball_add_patches,expat,\
-   external/expat/0001-Fix-compiler-warnings.patch \
external/expat/expat-winapi.patch \
 ))
 


core.git: sw/source

2024-03-22 Thread Michael Stahl (via logerrit)
 sw/source/core/docnode/ndtbl.cxx |   15 +--
 1 file changed, 9 insertions(+), 6 deletions(-)

New commits:
commit df6fdb0041f8bfd251a4b03030b8bc47f0614c36
Author: Michael Stahl 
AuthorDate: Fri Mar 22 14:27:01 2024 +0100
Commit: Michael Stahl 
CommitDate: Fri Mar 22 16:06:20 2024 +0100

tdf#157241 sw: assert when importing ToX in table in rhbz589883-2.docx

ndtbl.cxx:1417: SwNodes::TextToTable(): Assertion `!rNode.IsSectionNode()' 
failed.

(regression from commit 62cb3b8b8d6106c6aeb073b12d84973a107182ef)

Change-Id: Iec12282573cb914d1924f4da4a28e26e01b866df
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/165164
Tested-by: Michael Stahl 
Reviewed-by: Michael Stahl 

diff --git a/sw/source/core/docnode/ndtbl.cxx b/sw/source/core/docnode/ndtbl.cxx
index 00698a0c91c7..7cb12d996ef9 100644
--- a/sw/source/core/docnode/ndtbl.cxx
+++ b/sw/source/core/docnode/ndtbl.cxx
@@ -1413,16 +1413,19 @@ SwTableNode* SwNodes::TextToTable( const 
SwNodes::TableRanges_t & rTableNodes,
 // delete frames of all contained content nodes
 for( nLines = 0; aNodeIndex <= rTableNodes.rbegin()->rbegin()->aEnd; 
++aNodeIndex,++nLines )
 {
-SwNode& rNode = aNodeIndex.GetNode();
-assert(!rNode.IsSectionNode()); // not possible in writerfilter import
-if (rNode.IsTableNode())
+SwNode* pNode(&aNodeIndex.GetNode());
+while (pNode->IsSectionNode()) // could be ToX field in table
 {
-lcl_RemoveBreaksTable(static_cast(rNode),
+pNode = pNode->GetNodes()[pNode->GetIndex()+1];
+}
+if (pNode->IsTableNode())
+{
+lcl_RemoveBreaksTable(static_cast(*pNode),
 (0 == nLines) ? pTableFormat : nullptr);
 }
-else if (rNode.IsContentNode())
+else if (pNode->IsContentNode())
 {
-lcl_RemoveBreaks(static_cast(rNode),
+lcl_RemoveBreaks(static_cast(*pNode),
 (0 == nLines) ? pTableFormat : nullptr);
 }
 }


core.git: external/gpgmepp

2024-03-22 Thread Patrick Luby (via logerrit)
 external/gpgmepp/macos-tdf152524.patch |2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

New commits:
commit b499f32c44babe8f60a6eef51bda6adb9b1cf54d
Author: Patrick Luby 
AuthorDate: Fri Mar 22 09:40:03 2024 -0400
Commit: Patrick Luby 
CommitDate: Fri Mar 22 16:46:48 2024 +0100

Clean up path in diff header line

Change-Id: I181c8c0f41bd4367c622352797f4c493e16c02c7
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/165165
Tested-by: Jenkins
Reviewed-by: Patrick Luby 

diff --git a/external/gpgmepp/macos-tdf152524.patch 
b/external/gpgmepp/macos-tdf152524.patch
index 2d328e4bde7d..c1cdd047dba8 100644
--- a/external/gpgmepp/macos-tdf152524.patch
+++ b/external/gpgmepp/macos-tdf152524.patch
@@ -1,5 +1,5 @@
 --- src/posix-io.c 2023-02-01 11:50:48
-+++ /Users/pluby/posix-io.c2024-03-21 09:50:24
 src/posix-io.c 2024-03-21 09:50:24
 @@ -67,6 +67,13 @@
  #include "priv-io.h"
  #include "sema.h"


core.git: sw/qa

2024-03-22 Thread Noel Grandin (via logerrit)
 sw/qa/extras/htmlexport/htmlexport.cxx |   12 
 sw/qa/extras/htmlimport/htmlimport.cxx |8 
 sw/qa/extras/uiwriter/uiwriter8.cxx|4 
 3 files changed, 24 insertions(+)

New commits:
commit c469e786be9345fc76e5cc62fd23dd317db53c02
Author: Noel Grandin 
AuthorDate: Fri Mar 22 13:15:00 2024 +0200
Commit: Noel Grandin 
CommitDate: Fri Mar 22 17:45:46 2024 +0100

skip more tests on hi-dpi windows

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

diff --git a/sw/qa/extras/htmlexport/htmlexport.cxx 
b/sw/qa/extras/htmlexport/htmlexport.cxx
index 54b803fc6fbb..b26bf2eb7415 100644
--- a/sw/qa/extras/htmlexport/htmlexport.cxx
+++ b/sw/qa/extras/htmlexport/htmlexport.cxx
@@ -687,6 +687,10 @@ CPPUNIT_TEST_FIXTURE(HtmlExportTest, testReqIfOleData)
 
 CPPUNIT_TEST_FIXTURE(HtmlExportTest, testReqIfOleImg)
 {
+// FIXME: the DPI check should be removed when either (1) the test is 
fixed to work with
+// non-default DPI; or (2) unit tests on Windows are made to use svp VCL 
plugin.
+if (!IsDefaultDPI())
+return;
 auto verify = [this]() {
 uno::Reference 
xSupplier(mxComponent, uno::UNO_QUERY);
 uno::Reference 
xObjects(xSupplier->getEmbeddedObjects(),
@@ -1836,6 +1840,10 @@ CPPUNIT_TEST_FIXTURE(SwHtmlDomExportTest, 
testReqifEmbedPNGShapeAsOLE)
 
 CPPUNIT_TEST_FIXTURE(SwHtmlDomExportTest, testReqifEmbedShapeAsPNG)
 {
+// FIXME: the DPI check should be removed when either (1) the test is 
fixed to work with
+// non-default DPI; or (2) unit tests on Windows are made to use svp VCL 
plugin.
+if (!IsDefaultDPI())
+return;
 // Given a document with a shape:
 createSwDoc();
 uno::Reference xFactory(mxComponent, 
uno::UNO_QUERY);
@@ -1917,6 +1925,10 @@ CPPUNIT_TEST_FIXTURE(SwHtmlDomExportTest, testJson)
 
 CPPUNIT_TEST_FIXTURE(SwHtmlDomExportTest, testReqifEmbedShapeAsPNGCustomDPI)
 {
+// FIXME: the DPI check should be removed when either (1) the test is 
fixed to work with
+// non-default DPI; or (2) unit tests on Windows are made to use svp VCL 
plugin.
+if (!IsDefaultDPI())
+return;
 // Given a document with a shape:
 createSwDoc();
 uno::Reference xFactory(mxComponent, 
uno::UNO_QUERY);
diff --git a/sw/qa/extras/htmlimport/htmlimport.cxx 
b/sw/qa/extras/htmlimport/htmlimport.cxx
index 10a886c27388..e0859b872f91 100644
--- a/sw/qa/extras/htmlimport/htmlimport.cxx
+++ b/sw/qa/extras/htmlimport/htmlimport.cxx
@@ -367,6 +367,10 @@ CPPUNIT_TEST_FIXTURE(HtmlImportTest, testReqIfTable)
 
 CPPUNIT_TEST_FIXTURE(HtmlImportTest, testImageSize)
 {
+// FIXME: the DPI check should be removed when either (1) the test is 
fixed to work with
+// non-default DPI; or (2) unit tests on Windows are made to use svp VCL 
plugin.
+if (!IsDefaultDPI())
+return;
 createSwWebDoc("image-size.html");
 awt::Size aSize = getShape(1)->getSize();
 OutputDevice* pDevice = Application::GetDefaultDevice();
@@ -381,6 +385,10 @@ CPPUNIT_TEST_FIXTURE(HtmlImportTest, testImageSize)
 
 CPPUNIT_TEST_FIXTURE(HtmlImportTest, testTdf142781)
 {
+// FIXME: the DPI check should be removed when either (1) the test is 
fixed to work with
+// non-default DPI; or (2) unit tests on Windows are made to use svp VCL 
plugin.
+if (!IsDefaultDPI())
+return;
 createSwWebDoc("tdf142781.html");
 OutputDevice* pDevice = Application::GetDefaultDevice();
 Size aPixelSize(672, 480);
diff --git a/sw/qa/extras/uiwriter/uiwriter8.cxx 
b/sw/qa/extras/uiwriter/uiwriter8.cxx
index 278c593b754d..ff06611b46fd 100644
--- a/sw/qa/extras/uiwriter/uiwriter8.cxx
+++ b/sw/qa/extras/uiwriter/uiwriter8.cxx
@@ -742,6 +742,10 @@ CPPUNIT_TEST_FIXTURE(SwUiWriterTest8, testTdf145584)
 
 CPPUNIT_TEST_FIXTURE(SwUiWriterTest8, testTdf152575)
 {
+// FIXME: the DPI check should be removed when either (1) the test is 
fixed to work with
+// non-default DPI; or (2) unit tests on Windows are made to use svp VCL 
plugin.
+if (!IsDefaultDPI())
+return;
 std::shared_ptr pPDFium = vcl::pdf::PDFiumLibrary::get();
 if (!pPDFium)
 return;


core.git: Branch 'libreoffice-24-2' - sw/source

2024-03-22 Thread Michael Stahl (via logerrit)
 sw/source/core/docnode/ndtbl.cxx |   15 +--
 1 file changed, 9 insertions(+), 6 deletions(-)

New commits:
commit 6c155583c83eb19c3520084c90df51eca725da00
Author: Michael Stahl 
AuthorDate: Fri Mar 22 14:27:01 2024 +0100
Commit: Xisco Fauli 
CommitDate: Fri Mar 22 17:48:23 2024 +0100

tdf#157241 sw: assert when importing ToX in table in rhbz589883-2.docx

ndtbl.cxx:1417: SwNodes::TextToTable(): Assertion `!rNode.IsSectionNode()' 
failed.

(regression from commit 62cb3b8b8d6106c6aeb073b12d84973a107182ef)

Change-Id: Iec12282573cb914d1924f4da4a28e26e01b866df
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/165164
Tested-by: Michael Stahl 
Reviewed-by: Michael Stahl 
(cherry picked from commit df6fdb0041f8bfd251a4b03030b8bc47f0614c36)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/165173
Tested-by: Jenkins
Reviewed-by: Xisco Fauli 

diff --git a/sw/source/core/docnode/ndtbl.cxx b/sw/source/core/docnode/ndtbl.cxx
index d052ed7eda4b..f3b3a07d63b5 100644
--- a/sw/source/core/docnode/ndtbl.cxx
+++ b/sw/source/core/docnode/ndtbl.cxx
@@ -1413,16 +1413,19 @@ SwTableNode* SwNodes::TextToTable( const 
SwNodes::TableRanges_t & rTableNodes,
 // delete frames of all contained content nodes
 for( nLines = 0; aNodeIndex <= rTableNodes.rbegin()->rbegin()->aEnd; 
++aNodeIndex,++nLines )
 {
-SwNode& rNode = aNodeIndex.GetNode();
-assert(!rNode.IsSectionNode()); // not possible in writerfilter import
-if (rNode.IsTableNode())
+SwNode* pNode(&aNodeIndex.GetNode());
+while (pNode->IsSectionNode()) // could be ToX field in table
 {
-lcl_RemoveBreaksTable(static_cast(rNode),
+pNode = pNode->GetNodes()[pNode->GetIndex()+1];
+}
+if (pNode->IsTableNode())
+{
+lcl_RemoveBreaksTable(static_cast(*pNode),
 (0 == nLines) ? pTableFormat : nullptr);
 }
-else if (rNode.IsContentNode())
+else if (pNode->IsContentNode())
 {
-lcl_RemoveBreaks(static_cast(rNode),
+lcl_RemoveBreaks(static_cast(*pNode),
 (0 == nLines) ? pTableFormat : nullptr);
 }
 }


core.git: Branch 'libreoffice-24-2' - download.lst external/expat

2024-03-22 Thread Taichi Haradaguchi (via logerrit)
 download.lst|4 +-
 external/expat/0001-Fix-compiler-warnings.patch |   47 
 external/expat/UnpackedTarball_expat.mk |3 -
 3 files changed, 2 insertions(+), 52 deletions(-)

New commits:
commit b4622a2a5bc4472658b203025524ac5e11fc3c2e
Author: Taichi Haradaguchi <20001...@ymail.ne.jp>
AuthorDate: Fri Mar 22 13:43:14 2024 +0100
Commit: Xisco Fauli 
CommitDate: Fri Mar 22 18:04:53 2024 +0100

Expat: upgrade to release 2.6.2

Fixes CVE-2024-28757

Change-Id: Id85044fa9d8eda922425e580e9d6979f6563e98a
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/165129
Tested-by: Taichi Haradaguchi <20001...@ymail.ne.jp>
Reviewed-by: Taichi Haradaguchi <20001...@ymail.ne.jp>
(cherry picked from commit 370ca73a45b291e172918b4c8fcbc37ccaa434cf)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/165175
Tested-by: Jenkins
Reviewed-by: Xisco Fauli 

diff --git a/download.lst b/download.lst
index f64d3702d481..438359f38b65 100644
--- a/download.lst
+++ b/download.lst
@@ -111,8 +111,8 @@ ETONYEK_TARBALL := 
libetonyek-0.1.$(ETONYEK_VERSION_MICRO).tar.xz
 # three static lines
 # so that git cherry-pick
 # will not run into conflicts
-EXPAT_SHA256SUM := 
cb5f5a8ea211e1cabd59be0a933a52e3c02cc326e86a4d387d8d218e7ee47a3e
-EXPAT_TARBALL := expat-2.6.0.tar.xz
+EXPAT_SHA256SUM := 
ee14b4c5d8908b1bec37ad937607eab183d4d9806a08adee472c3c3121d27364
+EXPAT_TARBALL := expat-2.6.2.tar.xz
 # three static lines
 # so that git cherry-pick
 # will not run into conflicts
diff --git a/external/expat/0001-Fix-compiler-warnings.patch 
b/external/expat/0001-Fix-compiler-warnings.patch
deleted file mode 100644
index adec5ed0d9be..
--- a/external/expat/0001-Fix-compiler-warnings.patch
+++ /dev/null
@@ -1,47 +0,0 @@
-From 3f60a47cb5716bb810789a12ef6024c1dc448164 Mon Sep 17 00:00:00 2001
-From: Taichi Haradaguchi <20001...@ymail.ne.jp>
-Date: Fri, 9 Feb 2024 19:28:35 +0900
-Subject: [PATCH] Fix compiler warnings
-
-> In file included from ./../lib/internal.h:149,
->  from codepage.c:38:
-> ./../lib/expat.h:1045:5: warning: "XML_GE" is not defined, evaluates to 0 
[-Wundef]
->  1045 | #if XML_GE == 1
->   | ^~
-> ./../lib/internal.h:158:5: warning: "XML_GE" is not defined, evaluates to 0 
[-Wundef]
->   158 | #if XML_GE == 1
->   | ^~

- expat/lib/expat.h| 2 +-
- expat/lib/internal.h | 2 +-
- 2 files changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/expat/lib/expat.h b/expat/lib/expat.h
-index 95464b0d..79bbfb61 100644
 a/expat/lib/expat.h
-+++ b/expat/lib/expat.h
-@@ -1042,7 +1042,7 @@ typedef struct {
- XMLPARSEAPI(const XML_Feature *)
- XML_GetFeatureList(void);
- 
--#if XML_GE == 1
-+#if defined(XML_GE) && XML_GE == 1
- /* Added in Expat 2.4.0 for XML_DTD defined and
-  * added in Expat 2.6.0 for XML_GE == 1. */
- XMLPARSEAPI(XML_Bool)
-diff --git a/expat/lib/internal.h b/expat/lib/internal.h
-index cce71e4c..208c6b67 100644
 a/expat/lib/internal.h
-+++ b/expat/lib/internal.h
-@@ -155,7 +155,7 @@ extern "C" {
- void _INTERNAL_trim_to_complete_utf8_characters(const char *from,
- const char **fromLimRef);
- 
--#if XML_GE == 1
-+#if defined(XML_GE) && XML_GE == 1
- unsigned long long testingAccountingGetCountBytesDirect(XML_Parser parser);
- unsigned long long testingAccountingGetCountBytesIndirect(XML_Parser parser);
- const char *unsignedCharToPrintable(unsigned char c);
--- 
-2.43.1
-
diff --git a/external/expat/UnpackedTarball_expat.mk 
b/external/expat/UnpackedTarball_expat.mk
index 465105f2ca8c..5d4f41f6d147 100644
--- a/external/expat/UnpackedTarball_expat.mk
+++ b/external/expat/UnpackedTarball_expat.mk
@@ -13,10 +13,7 @@ $(eval $(call 
gb_UnpackedTarball_set_tarball,expat,$(EXPAT_TARBALL)))
 
 $(eval $(call gb_UnpackedTarball_update_autoconf_configs,expat,conftools))
 
-# * external/expat/0001-Fix-compiler-warnings.patch was sent to upstream as
-#    "Fix compiler warnings":
 $(eval $(call gb_UnpackedTarball_add_patches,expat,\
-   external/expat/0001-Fix-compiler-warnings.patch \
external/expat/expat-winapi.patch \
 ))
 


core.git: Branch 'libreoffice-7-6' - sw/qa sw/source

2024-03-22 Thread Michael Stahl (via logerrit)
 sw/qa/core/unocore/unocore.cxx   |   27 +++
 sw/source/core/unocore/unocrsrhelper.cxx |2 +-
 2 files changed, 28 insertions(+), 1 deletion(-)

New commits:
commit e41212466ef6b52c8890dcf0b071fac3fec11c9d
Author: Michael Stahl 
AuthorDate: Fri Mar 22 12:28:43 2024 +0100
Commit: Xisco Fauli 
CommitDate: Fri Mar 22 18:05:10 2024 +0100

sw: GetSelectableFromAny() broken for SwXTextRange

The function unnecessarily uses an intermediate XUnoTunnel variable to
handle SwXTextRange, but the implementation of XUnoTunnel was removed.

(regression from commit 635448a996714a81cb15b41ac4bb0c73cabfb74f)

Change-Id: I90dd7acbd259e8ca562a534ad0bc9a5b85356553
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/165162
Reviewed-by: Noel Grandin 
Tested-by: Jenkins
Reviewed-by: Michael Stahl 
(cherry picked from commit 8f2de92b3da99346f7282e623d47912f40f92b7b)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/165171
Reviewed-by: Xisco Fauli 

diff --git a/sw/qa/core/unocore/unocore.cxx b/sw/qa/core/unocore/unocore.cxx
index cb6f52d0fdbb..3d759e467000 100644
--- a/sw/qa/core/unocore/unocore.cxx
+++ b/sw/qa/core/unocore/unocore.cxx
@@ -77,6 +77,33 @@ CPPUNIT_TEST_FIXTURE(SwCoreUnocoreTest, testTdf119081)
 CPPUNIT_ASSERT_EQUAL(OUString("x"), 
pWrtShell->GetCurrentShellCursor().GetText());
 }
 
+CPPUNIT_TEST_FIXTURE(SwCoreUnocoreTest, selectTextRange)
+{
+createSwDoc();
+uno::Reference const xTD(mxComponent, 
uno::UNO_QUERY_THROW);
+uno::Reference const xText(xTD->getText());
+uno::Reference const xCursor(xText->createTextCursor());
+xText->insertString(xCursor, "test", /*bAbsorb=*/false);
+xCursor->gotoStart(false);
+xCursor->gotoEnd(true);
+CPPUNIT_ASSERT_EQUAL(OUString("test"), xCursor->getString());
+uno::Reference const xMSF(mxComponent, 
uno::UNO_QUERY_THROW);
+uno::Reference const xSection(
+xMSF->createInstance("com.sun.star.text.TextSection"), 
uno::UNO_QUERY_THROW);
+xText->insertTextContent(xCursor, xSection, true);
+uno::Reference const xAnchor(xSection->getAnchor());
+uno::Reference const 
xView(xTD->getCurrentController(),
+ uno::UNO_QUERY);
+CPPUNIT_ASSERT_EQUAL(OUString("test"), xAnchor->getString());
+CPPUNIT_ASSERT(xView->select(uno::Any(xAnchor)));
+uno::Reference xSel;
+CPPUNIT_ASSERT(xView->getSelection() >>= xSel);
+CPPUNIT_ASSERT_EQUAL(sal_Int32(1), xSel->getCount());
+uno::Reference xSelRange;
+CPPUNIT_ASSERT(xSel->getByIndex(0) >>= xSelRange);
+CPPUNIT_ASSERT_EQUAL(OUString("test"), xSelRange->getString());
+}
+
 CPPUNIT_TEST_FIXTURE(SwCoreUnocoreTest, flyAtParaAnchor)
 {
 createSwDoc();
diff --git a/sw/source/core/unocore/unocrsrhelper.cxx 
b/sw/source/core/unocore/unocrsrhelper.cxx
index 831cffd5ac1d..de1927aafb31 100644
--- a/sw/source/core/unocore/unocrsrhelper.cxx
+++ b/sw/source/core/unocore/unocrsrhelper.cxx
@@ -232,7 +232,7 @@ void GetSelectableFromAny(uno::Reference 
const& xIfc,
 return;
 }
 
-uno::Reference const xTextRange(xTunnel, UNO_QUERY);
+uno::Reference const xTextRange(xIfc, UNO_QUERY);
 if (xTextRange.is())
 {
 SwUnoInternalPaM aPam(rTargetDoc);


core.git: Branch 'libreoffice-7-6' - sw/qa sw/source

2024-03-22 Thread Mike Kaganski (via logerrit)
 sw/qa/extras/unowriter/unowriter.cxx |   21 +
 sw/source/core/unocore/unoobj.cxx|   12 +---
 2 files changed, 30 insertions(+), 3 deletions(-)

New commits:
commit 7b1fc707b56463d64585b2437f8531f9c1d71f75
Author: Mike Kaganski 
AuthorDate: Wed Mar 20 16:24:07 2024 +0500
Commit: Xisco Fauli 
CommitDate: Fri Mar 22 18:09:43 2024 +0100

tdf#160278: restore cursor bounds properly

The passed string length is not a correct measure of how many steps
should the selection expand in the resulting text: the cursor goes
over glyphs, not over UTF-16 code units. Thus, it's easier to store
the position prior to insertion, and restore it from the indexes.

Change-Id: I1d592ff30199007ba3a99d7e1a6d2db2da35f1cb
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/165056
Tested-by: Jenkins
Reviewed-by: Mike Kaganski 
Signed-off-by: Xisco Fauli 
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/165125

diff --git a/sw/qa/extras/unowriter/unowriter.cxx 
b/sw/qa/extras/unowriter/unowriter.cxx
index 61b9b524b399..4e0b1104f317 100644
--- a/sw/qa/extras/unowriter/unowriter.cxx
+++ b/sw/qa/extras/unowriter/unowriter.cxx
@@ -1201,6 +1201,27 @@ CPPUNIT_TEST_FIXTURE(SwUnoWriter, testTdf129841)
 CPPUNIT_ASSERT_EQUAL(aRefColor, aColor);
 }
 
+CPPUNIT_TEST_FIXTURE(SwUnoWriter, testTdf160278)
+{
+createSwDoc();
+auto xTextDocument(mxComponent.queryThrow());
+auto xText(xTextDocument->getText());
+xText->setString("123");
+CPPUNIT_ASSERT_EQUAL(OUString("123"), xText->getString());
+auto xCursor = xText->createTextCursorByRange(xText->getEnd());
+xCursor->goLeft(1, true);
+CPPUNIT_ASSERT_EQUAL(OUString("3"), xCursor->getString());
+// Insert an SMP character U+1f702 (so it's two UTF-16 code units, 0xd83d 
0xdf02):
+xCursor->setString(u"🜂");
+// Without the fix, the replacement would expand the cursor one too many 
characters to the left,
+// and the cursor text would become "2🜂", failing the next test:
+CPPUNIT_ASSERT_EQUAL(OUString(u"🜂"), xCursor->getString());
+xCursor->setString("test");
+CPPUNIT_ASSERT_EQUAL(OUString(u"test"), xCursor->getString());
+// This test would fail, too; the text would be "1test":
+CPPUNIT_ASSERT_EQUAL(OUString(u"12test"), xText->getString());
+}
+
 CPPUNIT_PLUGIN_IMPLEMENT();
 
 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/sw/source/core/unocore/unoobj.cxx 
b/sw/source/core/unocore/unoobj.cxx
index ec5e3e27170a..d9d7ad01956e 100644
--- a/sw/source/core/unocore/unoobj.cxx
+++ b/sw/source/core/unocore/unoobj.cxx
@@ -751,13 +751,19 @@ void SwXTextCursor::DeleteAndInsert(std::u16string_view 
aText,
 }
 if(nTextLen)
 {
+// Store node and content indexes prior to insertion: to select 
the inserted text,
+// we need to account for possible surrogate pairs, combining 
characters, etc.; it
+// is easier to just restore the correct position from the indexes.
+const auto start = pCurrent->Start();
+const auto nodeIndex = start->GetNodeIndex();
+const auto contentIndex = start->GetContentIndex();
 const bool bSuccess(
 SwUnoCursorHelper::DocInsertStringSplitCR(
-rDoc, *pCurrent, aText, bool(eMode & 
::sw::DeleteAndInsertMode::ForceExpandHints)));
+rDoc, SwPaM(*start, pCurrent), aText, bool(eMode & 
::sw::DeleteAndInsertMode::ForceExpandHints)));
 OSL_ENSURE( bSuccess, "Doc->Insert(Str) failed." );
 
-SwUnoCursorHelper::SelectPam(*pUnoCursor, true);
-pCurrent->Left(aText.size());
+pCurrent->SetMark();
+pCurrent->GetPoint()->Assign(nodeIndex, contentIndex);
 }
 pCurrent = pCurrent->GetNext();
 } while (pCurrent != pUnoCursor);


core.git: Branch 'libreoffice-7-6' - 2 commits - sw/source

2024-03-22 Thread Michael Stahl (via logerrit)
 sw/source/core/docnode/ndtbl.cxx |   43 ---
 1 file changed, 40 insertions(+), 3 deletions(-)

New commits:
commit 921abac0a5a0caa46875db640e3432379a5bcfa7
Author: Michael Stahl 
AuthorDate: Fri Mar 22 14:27:01 2024 +0100
Commit: Xisco Fauli 
CommitDate: Fri Mar 22 18:13:43 2024 +0100

tdf#157241 sw: assert when importing ToX in table in rhbz589883-2.docx

ndtbl.cxx:1417: SwNodes::TextToTable(): Assertion `!rNode.IsSectionNode()' 
failed.

(regression from commit 62cb3b8b8d6106c6aeb073b12d84973a107182ef)

Change-Id: Iec12282573cb914d1924f4da4a28e26e01b866df
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/165164
Tested-by: Michael Stahl 
Reviewed-by: Michael Stahl 
(cherry picked from commit df6fdb0041f8bfd251a4b03030b8bc47f0614c36)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/165172
Tested-by: Jenkins
Reviewed-by: Xisco Fauli 

diff --git a/sw/source/core/docnode/ndtbl.cxx b/sw/source/core/docnode/ndtbl.cxx
index faabbf1d4953..b913f0c48a21 100644
--- a/sw/source/core/docnode/ndtbl.cxx
+++ b/sw/source/core/docnode/ndtbl.cxx
@@ -1413,16 +1413,19 @@ SwTableNode* SwNodes::TextToTable( const 
SwNodes::TableRanges_t & rTableNodes,
 // delete frames of all contained content nodes
 for( nLines = 0; aNodeIndex <= rTableNodes.rbegin()->rbegin()->aEnd; 
++aNodeIndex,++nLines )
 {
-SwNode& rNode = aNodeIndex.GetNode();
-assert(!rNode.IsSectionNode()); // not possible in writerfilter import
-if (rNode.IsTableNode())
+SwNode* pNode(&aNodeIndex.GetNode());
+while (pNode->IsSectionNode()) // could be ToX field in table
 {
-lcl_RemoveBreaksTable(static_cast(rNode),
+pNode = pNode->GetNodes()[pNode->GetIndex()+1];
+}
+if (pNode->IsTableNode())
+{
+lcl_RemoveBreaksTable(static_cast(*pNode),
 (0 == nLines) ? pTableFormat : nullptr);
 }
-else if (rNode.IsContentNode())
+else if (pNode->IsContentNode())
 {
-lcl_RemoveBreaks(static_cast(rNode),
+lcl_RemoveBreaks(static_cast(*pNode),
 (0 == nLines) ? pTableFormat : nullptr);
 }
 }
commit 56676a8cb6899f376d9893392700e096ad589bed
Author: Michael Stahl 
AuthorDate: Wed Mar 13 18:57:21 2024 +0100
Commit: Xisco Fauli 
CommitDate: Fri Mar 22 18:13:38 2024 +0100

tdf#157241 sw: fix crash on RTF paste or insert of nested tables

The problem is that there are tables with only empty cell frames in the
layout, which causes a crash in IsAllHiddenCell() added in commit
ab7893544dc6be6dc192dffefd57cd5ddd421c35.

This happens because first inner tables are created, with layout frames
because the layout already exists.

Then when SwNodes::TextToTable() is called for the outer table, it
deletes the SwTextFrames, but not the SwTabFrames/SwCellFrames, so they
remain uselessly in the layout.

Delete these too, they will be recreated when the frame for the outer
table is created.

Also the transfer of any existing break to the outer table was missing.

Change-Id: Idc2bc1d4c6572702510ae4355e4015c42770eb3e
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/164788
Tested-by: Jenkins
Reviewed-by: Michael Stahl 
(cherry picked from commit 62cb3b8b8d6106c6aeb073b12d84973a107182ef)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/164814
Reviewed-by: Xisco Fauli 

diff --git a/sw/source/core/docnode/ndtbl.cxx b/sw/source/core/docnode/ndtbl.cxx
index cec3e7df57c4..faabbf1d4953 100644
--- a/sw/source/core/docnode/ndtbl.cxx
+++ b/sw/source/core/docnode/ndtbl.cxx
@@ -888,6 +888,34 @@ const SwTable* SwDoc::TextToTable( const 
SwInsertTableOptions& rInsTableOpts,
 return &rNdTable;
 }
 
+static void lcl_RemoveBreaksTable(SwTableNode & rNode, SwTableFormat *const 
pTableFormat)
+{
+// delete old layout frames, new ones need to be created...
+rNode.DelFrames(nullptr);
+
+// remove PageBreaks/PageDesc/ColBreak
+SwFrameFormat & rFormat(*rNode.GetTable().GetFrameFormat());
+
+if (const SvxFormatBreakItem* pItem = rFormat.GetItemIfSet(RES_BREAK, 
false))
+{
+if (pTableFormat)
+{
+pTableFormat->SetFormatAttr(*pItem);
+}
+rFormat.ResetFormatAttr(RES_BREAK);
+}
+
+SwFormatPageDesc const*const 
pPageDescItem(rFormat.GetItemIfSet(RES_PAGEDESC, false));
+if (pPageDescItem && pPageDescItem->GetPageDesc())
+{
+if (pTableFormat)
+{
+pTableFormat->SetFormatAttr(*pPageDescItem);
+}
+rFormat.ResetFormatAttr(RES_PAGEDESC);
+}
+}
+
 static void lcl_RemoveBreaks(SwContentNode & rNode, SwTableFormat *const 
pTableFormat)
 {
 // delete old layout frames, new ones need to be created...
@@ -1386,7 +1414,13 @@ SwTableNode* SwNodes::TextToTable( const 
SwN

Re: Official support for windows-arm64

2024-03-22 Thread Thorsten Behrens
Hi Pierrick,

Pierrick Bouvier wrote:
> Does any one of you has this responsibility in the project?
> Or can you point me someone to contact?
> 
If nobody else wants to jump in - we're happy to host a box (details
TBD, but in any case Stephan will need more or less direct access).

There's also the option that TDF hosts machines, but depending on
whether they're rack-mountable & have iLO, perhaps having them
physically sitting on the developer desk has a number of upsides... ;)

So if that's fine for you (and there's no concerns from the project),
let's discuss further details for such a loan 1:1?

Cheers, Thorsten

-- 

Thorsten Behrens

Managing Director
–––
allotropia software GmbH
Versmannstr. 4
20457 Hamburg
Germany
–––
https://www.allotropia.de
–––
Registered office: Hamburg, Germany
Registration court Hamburg, HRB 165405
Managing director: Thorsten Behrens
VAT-ID: DE 335606919
–––


signature.asc
Description: PGP signature


core.git: writerfilter/qa writerfilter/source

2024-03-22 Thread Miklos Vajna (via logerrit)
 writerfilter/qa/cppunittests/dmapper/PropertyMap.cxx |   40 +++
 writerfilter/source/dmapper/PropertyMap.cxx  |2 
 2 files changed, 41 insertions(+), 1 deletion(-)

New commits:
commit c900850742efd4e1fb7c79c13c1b9a17fcd4981d
Author: Miklos Vajna 
AuthorDate: Fri Mar 22 16:47:23 2024 +0100
Commit: Miklos Vajna 
CommitDate: Fri Mar 22 19:35:40 2024 +0100

Relatted: tdf#160139 RTF paste: don't turn off headers/footers

Regression from commit d918beda2ab42668014b0dd42996b6ccc97e8c3a
(tdf#158814 DOCX import: fix unwanted header with type="first" & no
titlePg, 2024-02-05), pasting shape text into the body text of Writer
turned off the header, which was not intentional.

The original use-case was DOCX/RTF import, and the paste case was just
not considered.

Fix the problem by leaving the paste alone: we already omit a number of
actions in this case (e.g. not overwrite styles), don't turn off
headers, either.

Note that the original problem is wider: we would probably need to track
what page styles are created and only touch those, or something similar.

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

diff --git a/writerfilter/qa/cppunittests/dmapper/PropertyMap.cxx 
b/writerfilter/qa/cppunittests/dmapper/PropertyMap.cxx
index dae6e387ee64..2952f1f93302 100644
--- a/writerfilter/qa/cppunittests/dmapper/PropertyMap.cxx
+++ b/writerfilter/qa/cppunittests/dmapper/PropertyMap.cxx
@@ -15,6 +15,12 @@
 #include 
 #include 
 #include 
+#include 
+#include 
+#include 
+
+#include 
+#include 
 
 using namespace ::com::sun::star;
 
@@ -135,6 +141,40 @@ CPPUNIT_TEST_FIXTURE(Test, testNegativePageBorderNoMargin)
 // i.e. the border negative distance was lost.
 CPPUNIT_ASSERT_EQUAL(static_cast(-1147), nTopBorderDistance);
 }
+
+CPPUNIT_TEST_FIXTURE(Test, testPasteHeaderDisable)
+{
+// Given an empty document with a turned on header:
+mxComponent = loadFromDesktop("private:factory/swriter", 
"com.sun.star.text.TextDocument");
+uno::Reference 
xStyleFamiliesSupplier(mxComponent,
+ 
uno::UNO_QUERY);
+uno::Reference xStyleFamilies
+= xStyleFamiliesSupplier->getStyleFamilies();
+uno::Reference 
xStyleFamily(xStyleFamilies->getByName("PageStyles"),
+uno::UNO_QUERY);
+uno::Reference 
xStyle(xStyleFamily->getByName("Standard"), uno::UNO_QUERY);
+xStyle->setPropertyValue("HeaderIsOn", uno::Any(true));
+
+// When pasting RTF content:
+uno::Reference xTextDocument(mxComponent, 
uno::UNO_QUERY);
+uno::Reference xText = xTextDocument->getText();
+uno::Reference xBodyEnd = xText->getEnd();
+uno::Reference xFilter(
+m_xSFactory->createInstance("com.sun.star.comp.Writer.RtfFilter"), 
uno::UNO_QUERY);
+uno::Reference xImporter(xFilter, uno::UNO_QUERY);
+xImporter->setTargetDocument(mxComponent);
+std::unique_ptr pStream(new SvMemoryStream);
+pStream->WriteOString("{\rtf1 paste}");
+pStream->Seek(0);
+uno::Reference xStream(new 
utl::OStreamWrapper(std::move(pStream)));
+uno::Sequence aDescriptor{ comphelper::makePropertyValue("InputStream", 
xStream),
+   comphelper::makePropertyValue("InsertMode", 
true),
+   
comphelper::makePropertyValue("TextInsertModeRange", xBodyEnd) };
+CPPUNIT_ASSERT(xFilter->filter(aDescriptor));
+
+// Then make sure the header stays on:
+CPPUNIT_ASSERT(xStyle->getPropertyValue("HeaderIsOn").get());
+}
 }
 
 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/writerfilter/source/dmapper/PropertyMap.cxx 
b/writerfilter/source/dmapper/PropertyMap.cxx
index 2301bc24893a..3e836f831e63 100644
--- a/writerfilter/source/dmapper/PropertyMap.cxx
+++ b/writerfilter/source/dmapper/PropertyMap.cxx
@@ -574,7 +574,7 @@ void 
SectionPropertyMap::setHeaderFooterProperties(DomainMapper_Impl& rDM_Impl)
 m_aPageStyle->setPropertyValue(getPropertyName(PROP_FIRST_IS_SHARED), 
uno::Any(!m_bTitlePage));
 
 bool bHadFirstHeader = m_bHadFirstHeader && m_bTitlePage;
-if (bHasHeader && !bHadFirstHeader && !m_bHadLeftHeader && 
!m_bHadRightHeader)
+if (bHasHeader && !bHadFirstHeader && !m_bHadLeftHeader && 
!m_bHadRightHeader && rDM_Impl.IsNewDoc())
 {
 m_aPageStyle->setPropertyValue(sHeaderIsOn, uno::Any(false));
 }


core.git: Branch 'libreoffice-24-2-2' - vcl/qt5

2024-03-22 Thread Michael Weghorn (via logerrit)
 vcl/qt5/QtInstance.cxx |5 +
 1 file changed, 5 insertions(+)

New commits:
commit 17fe161389df04b16a4c61bf089a3ce113ea22e7
Author: Michael Weghorn 
AuthorDate: Wed Mar 13 12:27:12 2024 +0100
Commit: Christian Lohmaier 
CommitDate: Fri Mar 22 19:36:20 2024 +0100

tdf#159915 qt: Force Qt::HighDpiScaleFactorRoundingPolicy::Round

For now, force `Qt::HighDpiScaleFactorRoundingPolicy::Round`
for the HighDPI-scale factor rounding policy [1], which is the default
for Qt 5, while Qt 6 defaults to 
`Qt::HighDpiScaleFactorRoundingPolicy::PassThrough`
(see [2]), which resulted in broken rendering (e.g. "Help" -> "About"
dialog not showing the whole content) when fractional display scaling like 
150 %
is configured in the KDE Plasma display settings (in contrast to manually 
setting the
`QT_SCALE_FACTOR=1.5` env variable to apply scaling, which was working
fine).

Quoting from [3]:

> The two principal options are whether fractional scale factors should be
> rounded to an integer or not. Keeping the scale factor as-is will make
> the user interface size match the OS setting exactly, but may cause
> painting errors, for example with the Windows style.

Manually setting the env variable `QT_SCALE_FACTOR_ROUNDING_POLICY="Round"`
has the same effect (and can be used with LO versions not yet
containing this fix).

(There might be a way to adjust the way that scaling happens
to make other policies work, but for now, just hard-code to
the policy that is known to work.)

[1] https://doc.qt.io/qt-6/qt.html#HighDpiScaleFactorRoundingPolicy-enum
[2] https://doc.qt.io/qt-6/highdpi.html#environment-variable-reference
[3] 
https://doc.qt.io/qt-6/qguiapplication.html#setHighDpiScaleFactorRoundingPolicy

Change-Id: I8eb6911d4dd5faf00912b8f15a58e0bdace1995a
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/164768
Tested-by: Jenkins
Reviewed-by: Michael Weghorn 
(cherry picked from commit 07688e864c913e005dcae366cf10702404a73d80)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/164744
Reviewed-by: Adolfo Jayme Barrientos 
(cherry picked from commit 7989a04cee3b614d493a5acbd1ff0363596efc00)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/164816
Reviewed-by: Xisco Fauli 
Tested-by: Christian Lohmaier 
Reviewed-by: Christian Lohmaier 

diff --git a/vcl/qt5/QtInstance.cxx b/vcl/qt5/QtInstance.cxx
index 4880c1bdec55..f87cdef9348e 100644
--- a/vcl/qt5/QtInstance.cxx
+++ b/vcl/qt5/QtInstance.cxx
@@ -708,6 +708,11 @@ std::unique_ptr 
QtInstance::CreateQApplication(int& nArgc, char**
 // for scaled icons in the native menus
 QApplication::setAttribute(Qt::AA_UseHighDpiPixmaps);
 #endif
+// force Qt::HighDpiScaleFactorRoundingPolicy::Round, which is the Qt 5 
default
+// policy and prevents incorrect rendering with the Qt 6 default policy
+// Qt::HighDpiScaleFactorRoundingPolicy::PassThrough (tdf#159915)
+QGuiApplication::setHighDpiScaleFactorRoundingPolicy(
+Qt::HighDpiScaleFactorRoundingPolicy::Round);
 
 FreeableCStr session_manager;
 if (getenv("SESSION_MANAGER") != nullptr)


core.git: Branch 'libreoffice-24-2-2' - sw/source

2024-03-22 Thread Armin Le Grand (allotropia) (via logerrit)
 sw/source/core/tox/tox.cxx|8 +++-
 sw/source/ui/index/swuiidxmrk.cxx |   37 -
 sw/source/uibase/index/toxmgr.cxx |3 ++-
 3 files changed, 29 insertions(+), 19 deletions(-)

New commits:
commit c5b878a7c55f7e6f8d3a66fa9728c8fca5d0e13b
Author: Armin Le Grand (allotropia) 
AuthorDate: Fri Jan 12 11:22:04 2024 +0100
Commit: Christian Lohmaier 
CommitDate: Fri Mar 22 19:37:37 2024 +0100

tdf#158783 Correct compares of SwTOXMark Items

That item was never 'pooled', so operator== was not really
ever used. It just compared the 'type', so pretty many
instances were assumed to be equal, what is wrong.
We discussed to implement it (there is quite some content),
but we came to the point that it's only safe to say
instances are equal when same instance -> fallback to ptr
compare.
This came into play since I identified/changed many (160?)
places where SfxPoolItems were ptr-compared when doing that
paradigm change in Items. This leads to the two methods
'areSfxPoolItemPtrsEqual' which just makes ptr compare and
'SfxPoolItem::areSame' which also will use op==. For the
initial adaption I chose the wrong function adapting
places where SwTOXMark were involved.

Change-Id: I7df029ad4542719681b1455de17ed5990d248395
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/161963
Reviewed-by: Michael Stahl 
Tested-by: Armin Le Grand 
(cherry picked from commit d22a86089edfcadbef5231525a2947b954f4784e)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/164996
Tested-by: Jenkins
Reviewed-by: Adolfo Jayme Barrientos 
(cherry picked from commit a48ee46a085abfa04779ece38c08dddb5bf017ea)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/165004
Reviewed-by: Xisco Fauli 
Tested-by: Christian Lohmaier 
Reviewed-by: Christian Lohmaier 

diff --git a/sw/source/core/tox/tox.cxx b/sw/source/core/tox/tox.cxx
index 04f43e5d41f8..b29bafde11f6 100644
--- a/sw/source/core/tox/tox.cxx
+++ b/sw/source/core/tox/tox.cxx
@@ -148,7 +148,13 @@ void SwTOXMark::RegisterToTOXType(SwTOXType& rType)
 bool SwTOXMark::operator==( const SfxPoolItem& rAttr ) const
 {
 assert(SfxPoolItem::operator==(rAttr));
-return m_pType == static_cast(rAttr).m_pType;
+// tdf#158783 this item was never 'pooled', so operator== was not really
+// ever used. We discussed to implement it (there is quite some
+// content), but we came to the point that it's only safe to say
+// instances are equal when same instance -> fallback to ptr compare.
+// NOTE: Do *not* use areSfxPoolItemPtrsEqual here, with DBG_UTIL
+//   active the contol/test code there would again call operator==
+return this == &rAttr;
 }
 
 SwTOXMark* SwTOXMark::Clone( SfxItemPool* ) const
diff --git a/sw/source/ui/index/swuiidxmrk.cxx 
b/sw/source/ui/index/swuiidxmrk.cxx
index 39443f7e7b04..8a6f74b86ee8 100644
--- a/sw/source/ui/index/swuiidxmrk.cxx
+++ b/sw/source/ui/index/swuiidxmrk.cxx
@@ -287,19 +287,20 @@ void SwIndexMarkPane::InitControls()
 bool bShow = false;
 
 pMoveMark = &m_pSh->GotoTOXMark( *pMark, TOX_PRV );
-if (!SfxPoolItem::areSame( pMoveMark, pMark ))
+// tdf#158783 ptr compare OK for SwTOXMark (more below)
+if (!areSfxPoolItemPtrsEqual( pMoveMark, pMark ))
 {
 m_pSh->GotoTOXMark( *pMoveMark, TOX_NXT );
 bShow = true;
 }
-m_xPrevBT->set_sensitive(!SfxPoolItem::areSame(pMoveMark, pMark));
+m_xPrevBT->set_sensitive(!areSfxPoolItemPtrsEqual(pMoveMark, pMark));
 pMoveMark = &m_pSh->GotoTOXMark( *pMark, TOX_NXT );
-if (!SfxPoolItem::areSame( pMoveMark, pMark ))
+if (!areSfxPoolItemPtrsEqual( pMoveMark, pMark ))
 {
 m_pSh->GotoTOXMark( *pMoveMark, TOX_PRV );
 bShow = true;
 }
-m_xNextBT->set_sensitive(!SfxPoolItem::areSame(pMoveMark, pMark));
+m_xNextBT->set_sensitive(!areSfxPoolItemPtrsEqual(pMoveMark, pMark));
 if( bShow )
 {
 m_xPrevBT->show();
@@ -308,19 +309,19 @@ void SwIndexMarkPane::InitControls()
 }
 
 pMoveMark = &m_pSh->GotoTOXMark( *pMark, TOX_SAME_PRV );
-if (!SfxPoolItem::areSame( pMoveMark, pMark ))
+if (!areSfxPoolItemPtrsEqual( pMoveMark, pMark ))
 {
 m_pSh->GotoTOXMark( *pMoveMark, TOX_SAME_NXT );
 bShow = true;
 }
-m_xPrevSameBT->set_sensitive(!SfxPoolItem::areSame(pMoveMark, pMark));
+m_xPrevSameBT->set_sensitive(!areSfxPoolItemPtrsEqual(pMoveMark, 
pMark));
 pMoveMark = &m_pSh->GotoTOXMark( *pMark, TOX_SAME_NXT );
-if (!SfxPoolItem::areSame( pMoveMark, pMark ))
+if (!areSfxPoolItemPtrsEqual( pMoveMark, pMark ))
 {
 m_pSh->GotoTOXMark( *pMoveMark, TOX_SAME_PRV );
 bShow = true;
 }
-m_xNextSameBT->set_sensitive(

core.git: Branch 'libreoffice-24-2-2' - configure.ac download.lst

2024-03-22 Thread Michael Stahl (via logerrit)
 configure.ac |2 +-
 download.lst |4 ++--
 2 files changed, 3 insertions(+), 3 deletions(-)

New commits:
commit 7eeaa3f188f8a3c24d2c7a5fe90d97de4708bfc8
Author: Michael Stahl 
AuthorDate: Wed Mar 20 10:52:09 2024 +0100
Commit: Christian Lohmaier 
CommitDate: Fri Mar 22 19:38:13 2024 +0100

python3: upgrade to release 3.8.19

Fixes CVE-2023-6597 and also CVE-2024-0450

Change-Id: Iebca2608e16a966356736201c63f1be5185430d4
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/165053
Tested-by: Jenkins
Reviewed-by: Michael Stahl 
(cherry picked from commit 0633e4b4205334dd65ec64d7f3e306ee125e31be)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/165111
Reviewed-by: Xisco Fauli 
Tested-by: Christian Lohmaier 
Reviewed-by: Christian Lohmaier 

diff --git a/configure.ac b/configure.ac
index 758e160400ba..30cf1ea77625 100644
--- a/configure.ac
+++ b/configure.ac
@@ -10044,7 +10044,7 @@ if test \( "$cross_compiling" = yes -a -z 
"$PYTHON_FOR_BUILD" \) -o "$enable_pyt
 SYSTEM_PYTHON=
 PYTHON_VERSION_MAJOR=3
 PYTHON_VERSION_MINOR=8
-PYTHON_VERSION=${PYTHON_VERSION_MAJOR}.${PYTHON_VERSION_MINOR}.18
+PYTHON_VERSION=${PYTHON_VERSION_MAJOR}.${PYTHON_VERSION_MINOR}.19
 if ! grep -q -i python.*${PYTHON_VERSION} ${SRC_ROOT}/download.lst; then
 AC_MSG_ERROR([PYTHON_VERSION ${PYTHON_VERSION} but no matching file in 
download.lst])
 fi
diff --git a/download.lst b/download.lst
index b65f8a067340..f64d3702d481 100644
--- a/download.lst
+++ b/download.lst
@@ -555,8 +555,8 @@ POSTGRESQL_TARBALL := postgresql-13.11.tar.bz2
 # three static lines
 # so that git cherry-pick
 # will not run into conflicts
-PYTHON_SHA256SUM := 
3ffb71cd349a326ba7b2fadc7e7df86ba577dd9c4917e52a8401adbda7405e3f
-PYTHON_TARBALL := Python-3.8.18.tar.xz
+PYTHON_SHA256SUM := 
d2807ac69f69b84fd46a0b93bbd02a4fa48d3e70f4b2835ff0f72a2885040076
+PYTHON_TARBALL := Python-3.8.19.tar.xz
 # three static lines
 # so that git cherry-pick
 # will not run into conflicts


core.git: Branch 'libreoffice-24-2-2' - writerfilter/source

2024-03-22 Thread Oliver Specht (via logerrit)
 writerfilter/source/dmapper/DomainMapper.cxx |3 ---
 writerfilter/source/dmapper/PropertyIds.cxx  |1 -
 writerfilter/source/dmapper/PropertyIds.hxx  |1 -
 3 files changed, 5 deletions(-)

New commits:
commit 67e35d0159d30829c7672f3d4d33de2e85cd6626
Author: Oliver Specht 
AuthorDate: Wed Mar 20 16:25:17 2024 +0100
Commit: Christian Lohmaier 
CommitDate: Fri Mar 22 19:42:17 2024 +0100

Revert "tdf#159730 add compatibility option in RTF import"

This reverts commit 3b04e74503ec6d07dc4befdb756e6abdc3de4e58.

Reason for revert: The compatibility option is the wrong approach. This 
results in wrong line calculation as seen in tdf#159730#c6.
The problem that really needs to be fixed is the 9pt attribute of the 
hidden line breaks in the first paragraph that are used to calculate the height 
of the first paragraph.
Only the 1pt font attribute of the remaining visible space should define 
the line height.

Change-Id: I6e0a1a499adaf2df9f68afbcfd6afcd6677e8f76
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/165006
Tested-by: Jenkins
Reviewed-by: Michael Stahl 
(cherry picked from commit 44e4ada23dfc8655ec7ddccfd027f02d22684d60)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/165119
Reviewed-by: Xisco Fauli 
Tested-by: Christian Lohmaier 
Reviewed-by: Christian Lohmaier 

diff --git a/writerfilter/source/dmapper/DomainMapper.cxx 
b/writerfilter/source/dmapper/DomainMapper.cxx
index bbeafa942de4..7e4eeda7d3d9 100644
--- a/writerfilter/source/dmapper/DomainMapper.cxx
+++ b/writerfilter/source/dmapper/DomainMapper.cxx
@@ -129,9 +129,6 @@ DomainMapper::DomainMapper( const uno::Reference< 
uno::XComponentContext >& xCon
 m_pImpl->SetDocumentSettingsProperty(
 getPropertyName(PROP_APPLY_PARAGRAPH_MARK_FORMAT_TO_NUMBERING),
 uno::Any(true));
-m_pImpl->SetDocumentSettingsProperty(
-getPropertyName(PROP_TABS_AND_BLANKS_FOR_LINE_CALCULATION),
-uno::Any(true));
 
 // Don't load the default style definitions to avoid weird mix
 m_pImpl->SetDocumentSettingsProperty("StylesNoDefault", 
uno::Any(true));
diff --git a/writerfilter/source/dmapper/PropertyIds.cxx 
b/writerfilter/source/dmapper/PropertyIds.cxx
index 8a83ca0bb064..b8b4efc06222 100644
--- a/writerfilter/source/dmapper/PropertyIds.cxx
+++ b/writerfilter/source/dmapper/PropertyIds.cxx
@@ -384,7 +384,6 @@ namespace
 { PROP_PARA_CONNECT_BORDERS, u"ParaIsConnectBorder"},
 { PROP_DECORATIVE, u"Decorative"},
 { PROP_PAPER_TRAY, u"PrinterPaperTray"},
-{ PROP_TABS_AND_BLANKS_FOR_LINE_CALCULATION, 
u"IgnoreTabsAndBlanksForLineCalculation"},
 });
 } // end anonymous ns
 
diff --git a/writerfilter/source/dmapper/PropertyIds.hxx 
b/writerfilter/source/dmapper/PropertyIds.hxx
index bb2fb833516c..b39fcd24fa49 100644
--- a/writerfilter/source/dmapper/PropertyIds.hxx
+++ b/writerfilter/source/dmapper/PropertyIds.hxx
@@ -383,7 +383,6 @@ enum PropertyIds
 ,PROP_RTL_GUTTER
 ,PROP_CURSOR_NOT_IGNORE_TABLES_IN_HF
 ,PROP_PARA_CONNECT_BORDERS
-,PROP_TABS_AND_BLANKS_FOR_LINE_CALCULATION
 };
 
 //Returns the UNO string equivalent to eId.


core.git: Branch 'libreoffice-24-2-2' - download.lst external/expat

2024-03-22 Thread Taichi Haradaguchi (via logerrit)
 download.lst|4 +-
 external/expat/0001-Fix-compiler-warnings.patch |   47 
 external/expat/UnpackedTarball_expat.mk |3 -
 3 files changed, 2 insertions(+), 52 deletions(-)

New commits:
commit 314286d59b3d24e700def6f817224770573579ad
Author: Taichi Haradaguchi <20001...@ymail.ne.jp>
AuthorDate: Fri Mar 22 13:43:14 2024 +0100
Commit: Christian Lohmaier 
CommitDate: Fri Mar 22 19:44:22 2024 +0100

Expat: upgrade to release 2.6.2

Fixes CVE-2024-28757

Change-Id: Id85044fa9d8eda922425e580e9d6979f6563e98a
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/165129
Tested-by: Taichi Haradaguchi <20001...@ymail.ne.jp>
Reviewed-by: Taichi Haradaguchi <20001...@ymail.ne.jp>
(cherry picked from commit 370ca73a45b291e172918b4c8fcbc37ccaa434cf)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/165176
Reviewed-by: Xisco Fauli 
Tested-by: Christian Lohmaier 
Reviewed-by: Christian Lohmaier 

diff --git a/download.lst b/download.lst
index f64d3702d481..438359f38b65 100644
--- a/download.lst
+++ b/download.lst
@@ -111,8 +111,8 @@ ETONYEK_TARBALL := 
libetonyek-0.1.$(ETONYEK_VERSION_MICRO).tar.xz
 # three static lines
 # so that git cherry-pick
 # will not run into conflicts
-EXPAT_SHA256SUM := 
cb5f5a8ea211e1cabd59be0a933a52e3c02cc326e86a4d387d8d218e7ee47a3e
-EXPAT_TARBALL := expat-2.6.0.tar.xz
+EXPAT_SHA256SUM := 
ee14b4c5d8908b1bec37ad937607eab183d4d9806a08adee472c3c3121d27364
+EXPAT_TARBALL := expat-2.6.2.tar.xz
 # three static lines
 # so that git cherry-pick
 # will not run into conflicts
diff --git a/external/expat/0001-Fix-compiler-warnings.patch 
b/external/expat/0001-Fix-compiler-warnings.patch
deleted file mode 100644
index adec5ed0d9be..
--- a/external/expat/0001-Fix-compiler-warnings.patch
+++ /dev/null
@@ -1,47 +0,0 @@
-From 3f60a47cb5716bb810789a12ef6024c1dc448164 Mon Sep 17 00:00:00 2001
-From: Taichi Haradaguchi <20001...@ymail.ne.jp>
-Date: Fri, 9 Feb 2024 19:28:35 +0900
-Subject: [PATCH] Fix compiler warnings
-
-> In file included from ./../lib/internal.h:149,
->  from codepage.c:38:
-> ./../lib/expat.h:1045:5: warning: "XML_GE" is not defined, evaluates to 0 
[-Wundef]
->  1045 | #if XML_GE == 1
->   | ^~
-> ./../lib/internal.h:158:5: warning: "XML_GE" is not defined, evaluates to 0 
[-Wundef]
->   158 | #if XML_GE == 1
->   | ^~

- expat/lib/expat.h| 2 +-
- expat/lib/internal.h | 2 +-
- 2 files changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/expat/lib/expat.h b/expat/lib/expat.h
-index 95464b0d..79bbfb61 100644
 a/expat/lib/expat.h
-+++ b/expat/lib/expat.h
-@@ -1042,7 +1042,7 @@ typedef struct {
- XMLPARSEAPI(const XML_Feature *)
- XML_GetFeatureList(void);
- 
--#if XML_GE == 1
-+#if defined(XML_GE) && XML_GE == 1
- /* Added in Expat 2.4.0 for XML_DTD defined and
-  * added in Expat 2.6.0 for XML_GE == 1. */
- XMLPARSEAPI(XML_Bool)
-diff --git a/expat/lib/internal.h b/expat/lib/internal.h
-index cce71e4c..208c6b67 100644
 a/expat/lib/internal.h
-+++ b/expat/lib/internal.h
-@@ -155,7 +155,7 @@ extern "C" {
- void _INTERNAL_trim_to_complete_utf8_characters(const char *from,
- const char **fromLimRef);
- 
--#if XML_GE == 1
-+#if defined(XML_GE) && XML_GE == 1
- unsigned long long testingAccountingGetCountBytesDirect(XML_Parser parser);
- unsigned long long testingAccountingGetCountBytesIndirect(XML_Parser parser);
- const char *unsignedCharToPrintable(unsigned char c);
--- 
-2.43.1
-
diff --git a/external/expat/UnpackedTarball_expat.mk 
b/external/expat/UnpackedTarball_expat.mk
index 465105f2ca8c..5d4f41f6d147 100644
--- a/external/expat/UnpackedTarball_expat.mk
+++ b/external/expat/UnpackedTarball_expat.mk
@@ -13,10 +13,7 @@ $(eval $(call 
gb_UnpackedTarball_set_tarball,expat,$(EXPAT_TARBALL)))
 
 $(eval $(call gb_UnpackedTarball_update_autoconf_configs,expat,conftools))
 
-# * external/expat/0001-Fix-compiler-warnings.patch was sent to upstream as
-#    "Fix compiler warnings":
 $(eval $(call gb_UnpackedTarball_add_patches,expat,\
-   external/expat/0001-Fix-compiler-warnings.patch \
external/expat/expat-winapi.patch \
 ))
 


core.git: Branch 'libreoffice-24-2-2' - sc/source

2024-03-22 Thread Mike Kaganski (via logerrit)
 sc/source/ui/docshell/docfunc.cxx |   25 +
 sc/source/ui/inc/undoblk.hxx  |6 --
 sc/source/ui/undo/undoblk.cxx |   26 +-
 3 files changed, 30 insertions(+), 27 deletions(-)

New commits:
commit df684c9d68fb130295c5a667fa6fcb6de3068fd2
Author: Mike Kaganski 
AuthorDate: Sun Mar 17 13:31:42 2024 +0500
Commit: Christian Lohmaier 
CommitDate: Fri Mar 22 19:46:21 2024 +0100

tdf#160149: save and restore the whole set of tab's conditional formats

... instead of restoring it only for a range, and then have troubles
deciding how to join the range's formatting with the rest of tab's
formatting.

Change-Id: Ie422893c7847b1473a86c0cd8fc3916144eb24ae
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/164937
Tested-by: Jenkins
Reviewed-by: Mike Kaganski 
(cherry picked from commit c492de66a077f3a2a960209b0b8b278b3901f361)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/164888
Reviewed-by: Xisco Fauli 
Reviewed-by: Adolfo Jayme Barrientos 
Tested-by: Christian Lohmaier 
Reviewed-by: Christian Lohmaier 

diff --git a/sc/source/ui/docshell/docfunc.cxx 
b/sc/source/ui/docshell/docfunc.cxx
index 1a8d902bea19..4c333b0502a0 100644
--- a/sc/source/ui/docshell/docfunc.cxx
+++ b/sc/source/ui/docshell/docfunc.cxx
@@ -5611,26 +5611,12 @@ void ScDocFunc::ReplaceConditionalFormat( sal_uLong 
nOldFormat, std::unique_ptr<
 bool bUndo = rDoc.IsUndoEnabled();
 ScDocumentUniquePtr pUndoDoc;
 ScRange aCombinedRange = rRanges.Combine();
-ScRange aCompleteRange;
 if(bUndo)
 {
 pUndoDoc.reset(new ScDocument(SCDOCMODE_UNDO));
 pUndoDoc->InitUndo( rDoc, nTab, nTab );
-
-if(pFormat)
-{
-aCompleteRange = aCombinedRange;
-}
-if(nOldFormat)
-{
-ScConditionalFormat* pOldFormat = 
rDoc.GetCondFormList(nTab)->GetFormat(nOldFormat);
-if(pOldFormat)
-aCompleteRange.ExtendTo(pOldFormat->GetRange().Combine());
-}
-
-
rDoc.CopyToDocument(aCompleteRange.aStart.Col(),aCompleteRange.aStart.Row(),nTab,
-
aCompleteRange.aEnd.Col(),aCompleteRange.aEnd.Row(),nTab,
-InsertDeleteFlags::ALL, false, *pUndoDoc);
+if (const auto* pList = rDoc.GetCondFormList(nTab))
+pUndoDoc->SetCondFormList(new ScConditionalFormatList(*pUndoDoc, 
*pList), nTab);
 }
 
 std::unique_ptr pRepaintRange;
@@ -5663,11 +5649,10 @@ void ScDocFunc::ReplaceConditionalFormat( sal_uLong 
nOldFormat, std::unique_ptr<
 {
 ScDocumentUniquePtr pRedoDoc(new ScDocument(SCDOCMODE_UNDO));
 pRedoDoc->InitUndo( rDoc, nTab, nTab );
-
rDoc.CopyToDocument(aCompleteRange.aStart.Col(),aCompleteRange.aStart.Row(),nTab,
-
aCompleteRange.aEnd.Col(),aCompleteRange.aEnd.Row(),nTab,
-InsertDeleteFlags::ALL, false, *pRedoDoc);
+if (const auto* pList = rDoc.GetCondFormList(nTab))
+pRedoDoc->SetCondFormList(new ScConditionalFormatList(*pRedoDoc, 
*pList), nTab);
 rDocShell.GetUndoManager()->AddUndoAction(
-std::make_unique(&rDocShell, 
std::move(pUndoDoc), std::move(pRedoDoc), aCompleteRange));
+std::make_unique(&rDocShell, 
std::move(pUndoDoc), std::move(pRedoDoc), nTab));
 }
 
 if(pRepaintRange)
diff --git a/sc/source/ui/inc/undoblk.hxx b/sc/source/ui/inc/undoblk.hxx
index 9bda36a1e176..c6cb432d8e24 100644
--- a/sc/source/ui/inc/undoblk.hxx
+++ b/sc/source/ui/inc/undoblk.hxx
@@ -613,11 +613,13 @@ private:
 voidDoChange( ScDocument* pSrcDoc ) const;
 };
 
+// This class only uses conditional format lists in the undo/redo documents;
+// no other tab data is needed in the documents
 class ScUndoConditionalFormat : public ScSimpleUndo
 {
 public:
 ScUndoConditionalFormat( ScDocShell* pNewDocShell,
-ScDocumentUniquePtr pUndoDoc, ScDocumentUniquePtr pRedoDoc, const 
ScRange& rRange);
+ScDocumentUniquePtr pUndoDoc, ScDocumentUniquePtr pRedoDoc, SCTAB 
nTab);
 virtual ~ScUndoConditionalFormat() override;
 
 virtual voidUndo() override;
@@ -631,7 +633,7 @@ private:
 void DoChange(ScDocument* pDoc);
 ScDocumentUniquePtr mpUndoDoc;
 ScDocumentUniquePtr mpRedoDoc;
-ScRange maRange;
+SCTAB mnTab;
 };
 
 class ScUndoConditionalFormatList : public ScSimpleUndo
diff --git a/sc/source/ui/undo/undoblk.cxx b/sc/source/ui/undo/undoblk.cxx
index d352ba143ba8..c74d23f6e7a7 100644
--- a/sc/source/ui/undo/undoblk.cxx
+++ b/sc/source/ui/undo/undoblk.cxx
@@ -1563,11 +1563,11 @@ bool ScUndoListNames::CanRepeat(SfxRepeatTarget& 
rTarget) const
 }
 
 ScUndoConditionalFormat::ScUndoConditionalFormat(ScDocShell* pNewDocShell,
-ScDocumentUniquePtr pUndoDoc, ScDocumentUniquePtr pRedoDoc, const 
ScRange& rRange):
+ScDocumentUniquePtr p

core.git: Branch 'libreoffice-24-2' - sw/qa sw/source

2024-03-22 Thread Michael Stahl (via logerrit)
 sw/qa/core/unocore/unocore.cxx   |   27 +++
 sw/source/core/unocore/unocrsrhelper.cxx |2 +-
 2 files changed, 28 insertions(+), 1 deletion(-)

New commits:
commit 0398d6900835ff29767f7ac39bc7fb57917d8ccd
Author: Michael Stahl 
AuthorDate: Fri Mar 22 12:28:43 2024 +0100
Commit: Christian Lohmaier 
CommitDate: Fri Mar 22 19:47:40 2024 +0100

sw: GetSelectableFromAny() broken for SwXTextRange

The function unnecessarily uses an intermediate XUnoTunnel variable to
handle SwXTextRange, but the implementation of XUnoTunnel was removed.

(regression from commit 635448a996714a81cb15b41ac4bb0c73cabfb74f)

Change-Id: I90dd7acbd259e8ca562a534ad0bc9a5b85356553
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/165162
Reviewed-by: Noel Grandin 
Tested-by: Jenkins
Reviewed-by: Michael Stahl 
(cherry picked from commit 8f2de92b3da99346f7282e623d47912f40f92b7b)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/165170
Reviewed-by: Christian Lohmaier 

diff --git a/sw/qa/core/unocore/unocore.cxx b/sw/qa/core/unocore/unocore.cxx
index 381fe0dab3e2..3e52b12a363c 100644
--- a/sw/qa/core/unocore/unocore.cxx
+++ b/sw/qa/core/unocore/unocore.cxx
@@ -78,6 +78,33 @@ CPPUNIT_TEST_FIXTURE(SwCoreUnocoreTest, testTdf119081)
 CPPUNIT_ASSERT_EQUAL(OUString("x"), 
pWrtShell->GetCurrentShellCursor().GetText());
 }
 
+CPPUNIT_TEST_FIXTURE(SwCoreUnocoreTest, selectTextRange)
+{
+createSwDoc();
+uno::Reference const xTD(mxComponent, 
uno::UNO_QUERY_THROW);
+uno::Reference const xText(xTD->getText());
+uno::Reference const xCursor(xText->createTextCursor());
+xText->insertString(xCursor, "test", /*bAbsorb=*/false);
+xCursor->gotoStart(false);
+xCursor->gotoEnd(true);
+CPPUNIT_ASSERT_EQUAL(OUString("test"), xCursor->getString());
+uno::Reference const xMSF(mxComponent, 
uno::UNO_QUERY_THROW);
+uno::Reference const xSection(
+xMSF->createInstance("com.sun.star.text.TextSection"), 
uno::UNO_QUERY_THROW);
+xText->insertTextContent(xCursor, xSection, true);
+uno::Reference const xAnchor(xSection->getAnchor());
+uno::Reference const 
xView(xTD->getCurrentController(),
+ uno::UNO_QUERY);
+CPPUNIT_ASSERT_EQUAL(OUString("test"), xAnchor->getString());
+CPPUNIT_ASSERT(xView->select(uno::Any(xAnchor)));
+uno::Reference xSel;
+CPPUNIT_ASSERT(xView->getSelection() >>= xSel);
+CPPUNIT_ASSERT_EQUAL(sal_Int32(1), xSel->getCount());
+uno::Reference xSelRange;
+CPPUNIT_ASSERT(xSel->getByIndex(0) >>= xSelRange);
+CPPUNIT_ASSERT_EQUAL(OUString("test"), xSelRange->getString());
+}
+
 CPPUNIT_TEST_FIXTURE(SwCoreUnocoreTest, flyAtParaAnchor)
 {
 createSwDoc();
diff --git a/sw/source/core/unocore/unocrsrhelper.cxx 
b/sw/source/core/unocore/unocrsrhelper.cxx
index 70a724814cc6..30f6d6e6190e 100644
--- a/sw/source/core/unocore/unocrsrhelper.cxx
+++ b/sw/source/core/unocore/unocrsrhelper.cxx
@@ -225,7 +225,7 @@ void GetSelectableFromAny(uno::Reference 
const& xIfc,
 return;
 }
 
-uno::Reference const xTextRange(xTunnel, UNO_QUERY);
+uno::Reference const xTextRange(xIfc, UNO_QUERY);
 if (xTextRange.is())
 {
 SwUnoInternalPaM aPam(rTargetDoc);


core.git: Branch 'libreoffice-24-2-2' - sw/qa sw/source

2024-03-22 Thread Michael Stahl (via logerrit)
 sw/qa/core/unocore/unocore.cxx   |   27 +++
 sw/source/core/unocore/unocrsrhelper.cxx |2 +-
 2 files changed, 28 insertions(+), 1 deletion(-)

New commits:
commit 9b4c239b51244dfb28a6822e2046c72e8f937227
Author: Michael Stahl 
AuthorDate: Fri Mar 22 12:28:43 2024 +0100
Commit: Christian Lohmaier 
CommitDate: Fri Mar 22 19:48:03 2024 +0100

sw: GetSelectableFromAny() broken for SwXTextRange

The function unnecessarily uses an intermediate XUnoTunnel variable to
handle SwXTextRange, but the implementation of XUnoTunnel was removed.

(regression from commit 635448a996714a81cb15b41ac4bb0c73cabfb74f)

Change-Id: I90dd7acbd259e8ca562a534ad0bc9a5b85356553
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/165162
Reviewed-by: Noel Grandin 
Tested-by: Jenkins
Reviewed-by: Michael Stahl 
(cherry picked from commit 8f2de92b3da99346f7282e623d47912f40f92b7b)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/165180
Reviewed-by: Xisco Fauli 
Tested-by: Christian Lohmaier 
Reviewed-by: Christian Lohmaier 

diff --git a/sw/qa/core/unocore/unocore.cxx b/sw/qa/core/unocore/unocore.cxx
index 381fe0dab3e2..3e52b12a363c 100644
--- a/sw/qa/core/unocore/unocore.cxx
+++ b/sw/qa/core/unocore/unocore.cxx
@@ -78,6 +78,33 @@ CPPUNIT_TEST_FIXTURE(SwCoreUnocoreTest, testTdf119081)
 CPPUNIT_ASSERT_EQUAL(OUString("x"), 
pWrtShell->GetCurrentShellCursor().GetText());
 }
 
+CPPUNIT_TEST_FIXTURE(SwCoreUnocoreTest, selectTextRange)
+{
+createSwDoc();
+uno::Reference const xTD(mxComponent, 
uno::UNO_QUERY_THROW);
+uno::Reference const xText(xTD->getText());
+uno::Reference const xCursor(xText->createTextCursor());
+xText->insertString(xCursor, "test", /*bAbsorb=*/false);
+xCursor->gotoStart(false);
+xCursor->gotoEnd(true);
+CPPUNIT_ASSERT_EQUAL(OUString("test"), xCursor->getString());
+uno::Reference const xMSF(mxComponent, 
uno::UNO_QUERY_THROW);
+uno::Reference const xSection(
+xMSF->createInstance("com.sun.star.text.TextSection"), 
uno::UNO_QUERY_THROW);
+xText->insertTextContent(xCursor, xSection, true);
+uno::Reference const xAnchor(xSection->getAnchor());
+uno::Reference const 
xView(xTD->getCurrentController(),
+ uno::UNO_QUERY);
+CPPUNIT_ASSERT_EQUAL(OUString("test"), xAnchor->getString());
+CPPUNIT_ASSERT(xView->select(uno::Any(xAnchor)));
+uno::Reference xSel;
+CPPUNIT_ASSERT(xView->getSelection() >>= xSel);
+CPPUNIT_ASSERT_EQUAL(sal_Int32(1), xSel->getCount());
+uno::Reference xSelRange;
+CPPUNIT_ASSERT(xSel->getByIndex(0) >>= xSelRange);
+CPPUNIT_ASSERT_EQUAL(OUString("test"), xSelRange->getString());
+}
+
 CPPUNIT_TEST_FIXTURE(SwCoreUnocoreTest, flyAtParaAnchor)
 {
 createSwDoc();
diff --git a/sw/source/core/unocore/unocrsrhelper.cxx 
b/sw/source/core/unocore/unocrsrhelper.cxx
index 70a724814cc6..30f6d6e6190e 100644
--- a/sw/source/core/unocore/unocrsrhelper.cxx
+++ b/sw/source/core/unocore/unocrsrhelper.cxx
@@ -225,7 +225,7 @@ void GetSelectableFromAny(uno::Reference 
const& xIfc,
 return;
 }
 
-uno::Reference const xTextRange(xTunnel, UNO_QUERY);
+uno::Reference const xTextRange(xIfc, UNO_QUERY);
 if (xTextRange.is())
 {
 SwUnoInternalPaM aPam(rTargetDoc);


core.git: Branch 'libreoffice-24-2-2' - 2 commits - sw/source

2024-03-22 Thread Michael Stahl (via logerrit)
 sw/source/core/docnode/ndtbl.cxx |   43 ---
 1 file changed, 40 insertions(+), 3 deletions(-)

New commits:
commit 3146edaf76f4533f5872dc687a76a55c691ce4e9
Author: Michael Stahl 
AuthorDate: Fri Mar 22 14:27:01 2024 +0100
Commit: Christian Lohmaier 
CommitDate: Fri Mar 22 19:54:03 2024 +0100

tdf#157241 sw: assert when importing ToX in table in rhbz589883-2.docx

ndtbl.cxx:1417: SwNodes::TextToTable(): Assertion `!rNode.IsSectionNode()' 
failed.

(regression from commit 62cb3b8b8d6106c6aeb073b12d84973a107182ef)

Change-Id: Iec12282573cb914d1924f4da4a28e26e01b866df
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/165164
Tested-by: Michael Stahl 
Reviewed-by: Michael Stahl 
(cherry picked from commit df6fdb0041f8bfd251a4b03030b8bc47f0614c36)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/165173
Tested-by: Jenkins
Reviewed-by: Xisco Fauli 
Signed-off-by: Xisco Fauli 
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/165193
Tested-by: Christian Lohmaier 
Reviewed-by: Christian Lohmaier 

diff --git a/sw/source/core/docnode/ndtbl.cxx b/sw/source/core/docnode/ndtbl.cxx
index d052ed7eda4b..f3b3a07d63b5 100644
--- a/sw/source/core/docnode/ndtbl.cxx
+++ b/sw/source/core/docnode/ndtbl.cxx
@@ -1413,16 +1413,19 @@ SwTableNode* SwNodes::TextToTable( const 
SwNodes::TableRanges_t & rTableNodes,
 // delete frames of all contained content nodes
 for( nLines = 0; aNodeIndex <= rTableNodes.rbegin()->rbegin()->aEnd; 
++aNodeIndex,++nLines )
 {
-SwNode& rNode = aNodeIndex.GetNode();
-assert(!rNode.IsSectionNode()); // not possible in writerfilter import
-if (rNode.IsTableNode())
+SwNode* pNode(&aNodeIndex.GetNode());
+while (pNode->IsSectionNode()) // could be ToX field in table
 {
-lcl_RemoveBreaksTable(static_cast(rNode),
+pNode = pNode->GetNodes()[pNode->GetIndex()+1];
+}
+if (pNode->IsTableNode())
+{
+lcl_RemoveBreaksTable(static_cast(*pNode),
 (0 == nLines) ? pTableFormat : nullptr);
 }
-else if (rNode.IsContentNode())
+else if (pNode->IsContentNode())
 {
-lcl_RemoveBreaks(static_cast(rNode),
+lcl_RemoveBreaks(static_cast(*pNode),
 (0 == nLines) ? pTableFormat : nullptr);
 }
 }
commit 8506ffb5cef6e18c01350874231e66080efbaf5e
Author: Michael Stahl 
AuthorDate: Wed Mar 13 18:57:21 2024 +0100
Commit: Christian Lohmaier 
CommitDate: Fri Mar 22 19:53:57 2024 +0100

tdf#157241 sw: fix crash on RTF paste or insert of nested tables

The problem is that there are tables with only empty cell frames in the
layout, which causes a crash in IsAllHiddenCell() added in commit
ab7893544dc6be6dc192dffefd57cd5ddd421c35.

This happens because first inner tables are created, with layout frames
because the layout already exists.

Then when SwNodes::TextToTable() is called for the outer table, it
deletes the SwTextFrames, but not the SwTabFrames/SwCellFrames, so they
remain uselessly in the layout.

Delete these too, they will be recreated when the frame for the outer
table is created.

Also the transfer of any existing break to the outer table was missing.

Change-Id: Idc2bc1d4c6572702510ae4355e4015c42770eb3e
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/164788
Tested-by: Jenkins
Reviewed-by: Michael Stahl 
(cherry picked from commit 62cb3b8b8d6106c6aeb073b12d84973a107182ef)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/164813
Reviewed-by: Caolán McNamara 
(cherry picked from commit df5bb0c4343b4a090de3343c7d454a93099989c0)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/165003
Reviewed-by: Xisco Fauli 
Tested-by: Christian Lohmaier 
Reviewed-by: Christian Lohmaier 

diff --git a/sw/source/core/docnode/ndtbl.cxx b/sw/source/core/docnode/ndtbl.cxx
index a7a2bee478da..d052ed7eda4b 100644
--- a/sw/source/core/docnode/ndtbl.cxx
+++ b/sw/source/core/docnode/ndtbl.cxx
@@ -888,6 +888,34 @@ const SwTable* SwDoc::TextToTable( const 
SwInsertTableOptions& rInsTableOpts,
 return &rNdTable;
 }
 
+static void lcl_RemoveBreaksTable(SwTableNode & rNode, SwTableFormat *const 
pTableFormat)
+{
+// delete old layout frames, new ones need to be created...
+rNode.DelFrames(nullptr);
+
+// remove PageBreaks/PageDesc/ColBreak
+SwFrameFormat & rFormat(*rNode.GetTable().GetFrameFormat());
+
+if (const SvxFormatBreakItem* pItem = rFormat.GetItemIfSet(RES_BREAK, 
false))
+{
+if (pTableFormat)
+{
+pTableFormat->SetFormatAttr(*pItem);
+}
+rFormat.ResetFormatAttr(RES_BREAK);
+}
+
+SwFormatPageDesc const*const 
pPageDescItem(rFormat.GetItemIfSet(RES_PAGEDESC, false));
+if (pPageDescItem && pPag

translations.git: Branch 'libreoffice-24-2' - source/an source/ast source/bg source/ca source/dsb source/es source/fi source/gl source/gug source/he source/hsb source/pl source/pt-BR source/zh-CN sour

2024-03-22 Thread Christian Lohmaier (via logerrit)
 source/an/svx/messages.po|8 
 source/an/sw/messages.po |   10 
 source/ast/cui/messages.po   |   13 
 source/ast/dictionaries/vi.po|   12 
 source/ast/helpcontent2/source/text/sbasic/shared.po |4 
 source/ast/helpcontent2/source/text/sbasic/shared/03.po  |6 
 source/ast/helpcontent2/source/text/scalc/00.po  |   10 
 source/ast/helpcontent2/source/text/scalc/01.po  |   18 
 source/ast/helpcontent2/source/text/scalc/guide.po   |4 
 source/ast/helpcontent2/source/text/sdatabase.po |   10 
 source/ast/helpcontent2/source/text/sdraw/01.po  |   10 
 source/ast/helpcontent2/source/text/shared/01.po |   22 
 source/ast/helpcontent2/source/text/shared/05.po |8 
 source/ast/helpcontent2/source/text/shared/06.po |   10 
 source/ast/helpcontent2/source/text/shared/guide.po  |   12 
 source/ast/helpcontent2/source/text/shared/help.po   |8 
 source/ast/helpcontent2/source/text/shared/menu.po   |6 
 source/ast/helpcontent2/source/text/simpress/01.po   |4 
 source/ast/helpcontent2/source/text/simpress/guide.po|4 
 source/ast/helpcontent2/source/text/swriter.po   |   12 
 source/ast/helpcontent2/source/text/swriter/00.po|6 
 source/ast/helpcontent2/source/text/swriter/01.po|   28 -
 source/ast/helpcontent2/source/text/swriter/guide.po |   14 
 source/ast/officecfg/registry/data/org/openoffice/Office/UI.po   |7 
 source/ast/sc/messages.po|   12 
 source/ast/scp2/source/ooo.po|   22 
 source/ast/sd/messages.po|6 
 source/ast/svtools/messages.po   |8 
 source/ast/svx/messages.po   |   29 -
 source/ast/sw/messages.po|   45 -
 source/bg/helpcontent2/source/text/shared/00.po  |6 
 source/bg/officecfg/registry/data/org/openoffice/Office/UI.po|8 
 source/ca/helpcontent2/source/text/sbasic/shared/02.po   |4 
 source/ca/helpcontent2/source/text/sbasic/shared/03.po   |8 
 source/ca/helpcontent2/source/text/scalc/00.po   |   10 
 source/ca/helpcontent2/source/text/scalc/01.po   |   18 
 source/ca/helpcontent2/source/text/sdatabase.po  |   10 
 source/ca/helpcontent2/source/text/sdraw/01.po   |   12 
 source/ca/helpcontent2/source/text/shared/01.po  |   20 
 source/ca/helpcontent2/source/text/shared/guide.po   |6 
 source/ca/helpcontent2/source/text/shared/menu.po|6 
 source/ca/helpcontent2/source/text/swriter.po|8 
 source/ca/helpcontent2/source/text/swriter/00.po |6 
 source/ca/helpcontent2/source/text/swriter/01.po |6 
 source/ca/helpcontent2/source/text/swriter/guide.po  |6 
 source/ca/sd/messages.po |4 
 source/ca/svx/messages.po|   12 
 source/ca/sw/messages.po |6 
 source/dsb/helpcontent2/source/text/shared/02.po |  262 
+-
 source/dsb/helpcontent2/source/text/swriter/02.po|4 
 source/es/chart2/messages.po |8 
 source/es/cui/messages.po|6 
 source/es/helpcontent2/source/text/sbasic/shared.po  |4 
 source/es/helpcontent2/source/text/sbasic/shared/03.po   |6 
 source/es/helpcontent2/source/text/scalc/00.po   |   10 
 source/es/helpcontent2/source/text/scalc/01.po   |   20 
 source/es/helpcontent2/source/text/scalc/guide.po|4 
 source/es/helpcontent2/source/text/schart/01.po  |8 
 source/es/helpcontent2/source/text/sdatabase.po  |8 
 source/es/helpcontent2/source/text/sdraw/01.po   |   10 
 source/es/helpcontent2/source/text/shared/01.po  |   10 
 source/es/helpcontent2/source/text/shared/05.po  |8 
 source/es/helpcontent2/source/text/shared/06.po  |8 
 source/es/helpcontent2/source/text/shared/guide.po   |4 
 source/es/helpcontent2/source/text/shared/menu.po|8 
 source/es/helpcontent2/source/text/swriter.po|   26 
 source/es/helpcontent2/source/text/swriter/00.po |6 
 source/es/helpcontent2/sou

core.git: Branch 'libreoffice-24-2-2' - translations

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

New commits:
commit 3cf709baeb1e502cfe546b3216e848d3b47a3ede
Author: Christian Lohmaier 
AuthorDate: Fri Mar 22 20:03:03 2024 +0100
Commit: Gerrit Code Review 
CommitDate: Fri Mar 22 20:03:03 2024 +0100

Update git submodules

* Update translations from branch 'libreoffice-24-2-2'
  to 4eb6115303693019b82e06cda258ff1b8b5bfc71
  - update translations for 24.2.2 rc2

and force-fix errors using pocheck

Change-Id: I75a9cc68d9f9d7712b58dfc521173323c3775208
(cherry picked from commit d3abafd51ff477a324a0c0342fb1e02c78c93f6c)

diff --git a/translations b/translations
index 7b1c0310be9e..4eb611530369 16
--- a/translations
+++ b/translations
@@ -1 +1 @@
-Subproject commit 7b1c0310be9eafb46f9f5750bb89c44bc211513f
+Subproject commit 4eb6115303693019b82e06cda258ff1b8b5bfc71


core.git: Branch 'libreoffice-24-2' - translations

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

New commits:
commit 1fa5ed234afbfcb9d27e1658388250319835b15d
Author: Christian Lohmaier 
AuthorDate: Fri Mar 22 20:02:38 2024 +0100
Commit: Gerrit Code Review 
CommitDate: Fri Mar 22 20:02:38 2024 +0100

Update git submodules

* Update translations from branch 'libreoffice-24-2'
  to d3abafd51ff477a324a0c0342fb1e02c78c93f6c
  - update translations for 24.2.2 rc2

and force-fix errors using pocheck

Change-Id: I75a9cc68d9f9d7712b58dfc521173323c3775208

diff --git a/translations b/translations
index 14ff5e76dedc..d3abafd51ff4 16
--- a/translations
+++ b/translations
@@ -1 +1 @@
-Subproject commit 14ff5e76dedc18f32051747acc540dd2856c770e
+Subproject commit d3abafd51ff477a324a0c0342fb1e02c78c93f6c


translations.git: Branch 'libreoffice-24-2-2' - source/an source/ast source/bg source/ca source/dsb source/es source/fi source/gl source/gug source/he source/hsb source/pl source/pt-BR source/zh-CN so

2024-03-22 Thread Christian Lohmaier (via logerrit)
 source/an/svx/messages.po|8 
 source/an/sw/messages.po |   10 
 source/ast/cui/messages.po   |   13 
 source/ast/dictionaries/vi.po|   12 
 source/ast/helpcontent2/source/text/sbasic/shared.po |4 
 source/ast/helpcontent2/source/text/sbasic/shared/03.po  |6 
 source/ast/helpcontent2/source/text/scalc/00.po  |   10 
 source/ast/helpcontent2/source/text/scalc/01.po  |   18 
 source/ast/helpcontent2/source/text/scalc/guide.po   |4 
 source/ast/helpcontent2/source/text/sdatabase.po |   10 
 source/ast/helpcontent2/source/text/sdraw/01.po  |   10 
 source/ast/helpcontent2/source/text/shared/01.po |   22 
 source/ast/helpcontent2/source/text/shared/05.po |8 
 source/ast/helpcontent2/source/text/shared/06.po |   10 
 source/ast/helpcontent2/source/text/shared/guide.po  |   12 
 source/ast/helpcontent2/source/text/shared/help.po   |8 
 source/ast/helpcontent2/source/text/shared/menu.po   |6 
 source/ast/helpcontent2/source/text/simpress/01.po   |4 
 source/ast/helpcontent2/source/text/simpress/guide.po|4 
 source/ast/helpcontent2/source/text/swriter.po   |   12 
 source/ast/helpcontent2/source/text/swriter/00.po|6 
 source/ast/helpcontent2/source/text/swriter/01.po|   28 -
 source/ast/helpcontent2/source/text/swriter/guide.po |   14 
 source/ast/officecfg/registry/data/org/openoffice/Office/UI.po   |7 
 source/ast/sc/messages.po|   12 
 source/ast/scp2/source/ooo.po|   22 
 source/ast/sd/messages.po|6 
 source/ast/svtools/messages.po   |8 
 source/ast/svx/messages.po   |   29 -
 source/ast/sw/messages.po|   45 -
 source/bg/helpcontent2/source/text/shared/00.po  |6 
 source/bg/officecfg/registry/data/org/openoffice/Office/UI.po|8 
 source/ca/helpcontent2/source/text/sbasic/shared/02.po   |4 
 source/ca/helpcontent2/source/text/sbasic/shared/03.po   |8 
 source/ca/helpcontent2/source/text/scalc/00.po   |   10 
 source/ca/helpcontent2/source/text/scalc/01.po   |   18 
 source/ca/helpcontent2/source/text/sdatabase.po  |   10 
 source/ca/helpcontent2/source/text/sdraw/01.po   |   12 
 source/ca/helpcontent2/source/text/shared/01.po  |   20 
 source/ca/helpcontent2/source/text/shared/guide.po   |6 
 source/ca/helpcontent2/source/text/shared/menu.po|6 
 source/ca/helpcontent2/source/text/swriter.po|8 
 source/ca/helpcontent2/source/text/swriter/00.po |6 
 source/ca/helpcontent2/source/text/swriter/01.po |6 
 source/ca/helpcontent2/source/text/swriter/guide.po  |6 
 source/ca/sd/messages.po |4 
 source/ca/svx/messages.po|   12 
 source/ca/sw/messages.po |6 
 source/dsb/helpcontent2/source/text/shared/02.po |  262 
+-
 source/dsb/helpcontent2/source/text/swriter/02.po|4 
 source/es/chart2/messages.po |8 
 source/es/cui/messages.po|6 
 source/es/helpcontent2/source/text/sbasic/shared.po  |4 
 source/es/helpcontent2/source/text/sbasic/shared/03.po   |6 
 source/es/helpcontent2/source/text/scalc/00.po   |   10 
 source/es/helpcontent2/source/text/scalc/01.po   |   20 
 source/es/helpcontent2/source/text/scalc/guide.po|4 
 source/es/helpcontent2/source/text/schart/01.po  |8 
 source/es/helpcontent2/source/text/sdatabase.po  |8 
 source/es/helpcontent2/source/text/sdraw/01.po   |   10 
 source/es/helpcontent2/source/text/shared/01.po  |   10 
 source/es/helpcontent2/source/text/shared/05.po  |8 
 source/es/helpcontent2/source/text/shared/06.po  |8 
 source/es/helpcontent2/source/text/shared/guide.po   |4 
 source/es/helpcontent2/source/text/shared/menu.po|8 
 source/es/helpcontent2/source/text/swriter.po|   26 
 source/es/helpcontent2/source/text/swriter/00.po |6 
 source/es/helpcontent2/sou

core.git: Branch 'libreoffice-7-6' - svl/qa svl/source

2024-03-22 Thread Mike Kaganski (via logerrit)
 svl/qa/unit/svl.cxx|   20 
 svl/source/numbers/zformat.cxx |2 ++
 2 files changed, 22 insertions(+)

New commits:
commit b250f480831b4726801868ae203517938cd1c704
Author: Mike Kaganski 
AuthorDate: Thu Mar 21 22:46:26 2024 +0500
Commit: Xisco Fauli 
CommitDate: Fri Mar 22 20:16:07 2024 +0100

tdf#160306: make sure that SvNumberFormatter agrees with ROUND output

After commit 9eb9083ff2fdaeb96399a0830a4394de4e29ef64 (Use Dragonbox
to implement doubleTo*String*, 2022-02-18), the rounding that is used
in SvNumberFormatter became strictly more correct; however, it now
differed from what ROUND spreadsheet function returned, because the
latter uses rtl_math_round, which calls rtl::math::approxFloor.

To make the visual number representation consistent, this change uses
rtl_math_round in SvNumberformat::ImpGetNumberOutput.

Change-Id: I05b0bed7d3a6c73584a77adbae2835c95be249fa
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/165142
Tested-by: Jenkins
Reviewed-by: Mike Kaganski 
(cherry picked from commit 805dd6bee49164d9a77de4ea9e0d53b416daca7a)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/165124
Reviewed-by: Xisco Fauli 
Signed-off-by: Xisco Fauli 
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/165195

diff --git a/svl/qa/unit/svl.cxx b/svl/qa/unit/svl.cxx
index 05b5155054d9..6fe0ebe78b82 100644
--- a/svl/qa/unit/svl.cxx
+++ b/svl/qa/unit/svl.cxx
@@ -1985,6 +1985,26 @@ CPPUNIT_TEST_FIXTURE(Test, testLanguageNone)
 CPPUNIT_ASSERT_EQUAL(OUString("dd.mm."), 
pFormat->GetMappedFormatstring(keywords, ldw));
 }
 
+CPPUNIT_TEST_FIXTURE(Test, testTdf160306)
+{
+// Check some cases, where the output of ROUND and of number formatter 
differed
+SvNumberFormatter aFormatter(m_xContext, LANGUAGE_ENGLISH_US);
+sal_uInt32 format = aFormatter.GetEntryKey(u"0.00", LANGUAGE_ENGLISH_US);
+CPPUNIT_ASSERT(format != NUMBERFORMAT_ENTRY_NOT_FOUND);
+OUString output;
+const Color* color;
+aFormatter.GetOutputString(2697.06496, format, output, &color);
+// Without the fix in place, this would fail with
+// - Expected: 2697.07
+// - Actual  : 2697.06
+CPPUNIT_ASSERT_EQUAL(OUString("2697.07"), output);
+aFormatter.GetOutputString(57.3749993, format, output, &color);
+// Without the fix in place, this would fail with
+// - Expected: 57.38
+// - Actual  : 57.37
+CPPUNIT_ASSERT_EQUAL(OUString("57.38"), output);
+}
+
 CPPUNIT_TEST_SUITE_REGISTRATION(Test);
 
 }
diff --git a/svl/source/numbers/zformat.cxx b/svl/source/numbers/zformat.cxx
index 5128c5cca118..3ed57954d7e3 100644
--- a/svl/source/numbers/zformat.cxx
+++ b/svl/source/numbers/zformat.cxx
@@ -4405,6 +4405,8 @@ bool SvNumberformat::ImpGetNumberOutput(double fNumber,
 {
 nPrecExp = 0;
 }
+// Make sure that Calc's ROUND and formatted output agree
+fNumber = rtl_math_round(fNumber, rInfo.nCntPost, 
rtl_math_RoundingMode_Corrected);
 if (rInfo.nCntPost) // Decimal places
 {
 if ((rInfo.nCntPost + nPrecExp) > 15 && nPrecExp < 15)


core.git: Branch 'libreoffice-24-2' - external/gpgmepp

2024-03-22 Thread Patrick Luby (via logerrit)
 external/gpgmepp/UnpackedTarball_gpgmepp.mk |1 
 external/gpgmepp/macos-tdf152524.patch  |  102 
 2 files changed, 103 insertions(+)

New commits:
commit be132c413c49175a27a55cfe3e42c748b5660a92
Author: Patrick Luby 
AuthorDate: Fri Mar 22 09:44:51 2024 -0400
Commit: Christian Lohmaier 
CommitDate: Fri Mar 22 20:29:33 2024 +0100

tdf#152524 fix crash by changing the macOS fork() and exec() process

This fix backports commit 839cf255e2670fdf8e974af38432aacf63be4e90
and commit 3c6c5ef5d1c4f555b465bf56cf9d99e4d67224cc.

Change-Id: I5dd397a1ab624a048c8892c870b991b381a94f9c
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/165174
Reviewed-by: Patrick Luby 
Reviewed-by: Caolán McNamara 
Tested-by: Jenkins
Reviewed-by: Christian Lohmaier 

diff --git a/external/gpgmepp/UnpackedTarball_gpgmepp.mk 
b/external/gpgmepp/UnpackedTarball_gpgmepp.mk
index d7b7a8ab4dbe..dcbda38d591d 100644
--- a/external/gpgmepp/UnpackedTarball_gpgmepp.mk
+++ b/external/gpgmepp/UnpackedTarball_gpgmepp.mk
@@ -34,5 +34,6 @@ $(eval $(call gb_UnpackedTarball_add_patches,gpgmepp, \
 external/gpgmepp/w32-include.patch \
 external/gpgmepp/Wincompatible-function-pointer-types.patch \
 external/gpgmepp/macos-macports-path.patch \
+external/gpgmepp/macos-tdf152524.patch \
 ))
 # vim: set noet sw=4 ts=4:
diff --git a/external/gpgmepp/macos-tdf152524.patch 
b/external/gpgmepp/macos-tdf152524.patch
new file mode 100644
index ..c1cdd047dba8
--- /dev/null
+++ b/external/gpgmepp/macos-tdf152524.patch
@@ -0,0 +1,102 @@
+--- src/posix-io.c 2023-02-01 11:50:48
 src/posix-io.c 2024-03-21 09:50:24
+@@ -67,6 +67,13 @@
+ #include "priv-io.h"
+ #include "sema.h"
+ #include "debug.h"
++
++#if HAVE_MACOS_SYSTEM
++#include 
++#include 
++
++extern char **environ;
++#endif
+ 
+ 
+ #ifdef USE_LINUX_GETDENTS
+@@ -515,6 +522,15 @@
+ }
+   return 0;
+ }
++
++
++#if HAVE_MACOS_SYSTEM
++static int
++_gpgme_io_spawn_macos (const char *path, char *const argv[], unsigned int 
flags,
++ struct spawn_fd_item_s *fd_list,
++ void (*atfork) (void *opaque, int reserved),
++ void *atforkvalue, pid_t *r_pid);
++#endif /*HAVE_MACOS_SYSTEM*/
+ 
+ 
+ /* Returns 0 on success, -1 on error.  */
+@@ -523,6 +539,35 @@
+struct spawn_fd_item_s *fd_list,
+void (*atfork) (void *opaque, int reserved),
+void *atforkvalue, pid_t *r_pid)
++#if HAVE_MACOS_SYSTEM
++{
++  /* tdf#152524 fork() and exec() in a separate libdispatch queue
++   * This is another attempt to stop the crashing in libdispatch by
++   * running fork() and exec() within a libdispatch task that will
++   * run in a sequential queue in a non-main thread.  */
++  static dispatch_queue_t queue = NULL;
++  if (!queue)
++  queue = dispatch_queue_create ("gpgmepp",
++ DISPATCH_QUEUE_CONCURRENT);
++  if (!queue)
++  return -1;
++
++  __block int ret = -1;
++  dispatch_sync(queue, ^{
++  ret = _gpgme_io_spawn_macos (path, argv, flags,
++   fd_list, atfork,
++   atforkvalue, r_pid);
++  });
++
++  return ret;
++}
++
++static int
++_gpgme_io_spawn_macos (const char *path, char *const argv[], unsigned int 
flags,
++ struct spawn_fd_item_s *fd_list,
++ void (*atfork) (void *opaque, int reserved),
++ void *atforkvalue, pid_t *r_pid)
++#endif /*HAVE_MACOS_SYSTEM*/
+ {
+   pid_t pid;
+   int i;
+@@ -552,8 +597,15 @@
+   if (!pid)
+ {
+   /* Intermediate child to prevent zombie processes.  */
++#if HAVE_MACOS_SYSTEM
++  /* tdf#152524 fix crash by skipping second fork()
++   * Instead of calling a second fork() in the child process, replace
++   * execv() with posix_spawn(). posix_spawn() does not call any atfork
++   * handlers so the atfork handler that crashes will be skipped.  */
++#else /*HAVE_MACOS_SYSTEM*/
+   if ((pid = fork ()) == 0)
+   {
++#endif /*HAVE_MACOS_SYSTEM*/
+ /* Child.  */
+   int max_fds = -1;
+   int fd;
+@@ -664,6 +716,9 @@
+   close (fd);
+   }
+ 
++#if HAVE_MACOS_SYSTEM
++_exit(posix_spawn(NULL, path, NULL, NULL, argv, environ));
++#else /*HAVE_MACOS_SYSTEM*/
+ execv (path, (char *const *) argv);
+ /* Hmm: in that case we could write a special status code to the
+status-pipe.  */
+@@ -674,6 +729,7 @@
+   _exit (1);
+   else
+   _exit (0);
++#endif /*HAVE_MACOS_SYSTEM*/
+ }
+ 
+   TRACE_LOG  ("waiting for child process pid=%i", pid);


core.git: Branch 'libreoffice-24-2-2' - external/gpgmepp

2024-03-22 Thread Patrick Luby (via logerrit)
 external/gpgmepp/UnpackedTarball_gpgmepp.mk |1 
 external/gpgmepp/macos-tdf152524.patch  |  102 
 2 files changed, 103 insertions(+)

New commits:
commit 9012b402ec25c5eb17400f93ffdc73e3db3a122a
Author: Patrick Luby 
AuthorDate: Fri Mar 22 09:44:51 2024 -0400
Commit: Christian Lohmaier 
CommitDate: Fri Mar 22 20:29:52 2024 +0100

tdf#152524 fix crash by changing the macOS fork() and exec() process

This fix backports commit 839cf255e2670fdf8e974af38432aacf63be4e90
and commit 3c6c5ef5d1c4f555b465bf56cf9d99e4d67224cc.

Change-Id: I5dd397a1ab624a048c8892c870b991b381a94f9c
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/165178
Reviewed-by: Caolán McNamara 
Reviewed-by: Patrick Luby 
Tested-by: Christian Lohmaier 
Reviewed-by: Christian Lohmaier 

diff --git a/external/gpgmepp/UnpackedTarball_gpgmepp.mk 
b/external/gpgmepp/UnpackedTarball_gpgmepp.mk
index d7b7a8ab4dbe..dcbda38d591d 100644
--- a/external/gpgmepp/UnpackedTarball_gpgmepp.mk
+++ b/external/gpgmepp/UnpackedTarball_gpgmepp.mk
@@ -34,5 +34,6 @@ $(eval $(call gb_UnpackedTarball_add_patches,gpgmepp, \
 external/gpgmepp/w32-include.patch \
 external/gpgmepp/Wincompatible-function-pointer-types.patch \
 external/gpgmepp/macos-macports-path.patch \
+external/gpgmepp/macos-tdf152524.patch \
 ))
 # vim: set noet sw=4 ts=4:
diff --git a/external/gpgmepp/macos-tdf152524.patch 
b/external/gpgmepp/macos-tdf152524.patch
new file mode 100644
index ..c1cdd047dba8
--- /dev/null
+++ b/external/gpgmepp/macos-tdf152524.patch
@@ -0,0 +1,102 @@
+--- src/posix-io.c 2023-02-01 11:50:48
 src/posix-io.c 2024-03-21 09:50:24
+@@ -67,6 +67,13 @@
+ #include "priv-io.h"
+ #include "sema.h"
+ #include "debug.h"
++
++#if HAVE_MACOS_SYSTEM
++#include 
++#include 
++
++extern char **environ;
++#endif
+ 
+ 
+ #ifdef USE_LINUX_GETDENTS
+@@ -515,6 +522,15 @@
+ }
+   return 0;
+ }
++
++
++#if HAVE_MACOS_SYSTEM
++static int
++_gpgme_io_spawn_macos (const char *path, char *const argv[], unsigned int 
flags,
++ struct spawn_fd_item_s *fd_list,
++ void (*atfork) (void *opaque, int reserved),
++ void *atforkvalue, pid_t *r_pid);
++#endif /*HAVE_MACOS_SYSTEM*/
+ 
+ 
+ /* Returns 0 on success, -1 on error.  */
+@@ -523,6 +539,35 @@
+struct spawn_fd_item_s *fd_list,
+void (*atfork) (void *opaque, int reserved),
+void *atforkvalue, pid_t *r_pid)
++#if HAVE_MACOS_SYSTEM
++{
++  /* tdf#152524 fork() and exec() in a separate libdispatch queue
++   * This is another attempt to stop the crashing in libdispatch by
++   * running fork() and exec() within a libdispatch task that will
++   * run in a sequential queue in a non-main thread.  */
++  static dispatch_queue_t queue = NULL;
++  if (!queue)
++  queue = dispatch_queue_create ("gpgmepp",
++ DISPATCH_QUEUE_CONCURRENT);
++  if (!queue)
++  return -1;
++
++  __block int ret = -1;
++  dispatch_sync(queue, ^{
++  ret = _gpgme_io_spawn_macos (path, argv, flags,
++   fd_list, atfork,
++   atforkvalue, r_pid);
++  });
++
++  return ret;
++}
++
++static int
++_gpgme_io_spawn_macos (const char *path, char *const argv[], unsigned int 
flags,
++ struct spawn_fd_item_s *fd_list,
++ void (*atfork) (void *opaque, int reserved),
++ void *atforkvalue, pid_t *r_pid)
++#endif /*HAVE_MACOS_SYSTEM*/
+ {
+   pid_t pid;
+   int i;
+@@ -552,8 +597,15 @@
+   if (!pid)
+ {
+   /* Intermediate child to prevent zombie processes.  */
++#if HAVE_MACOS_SYSTEM
++  /* tdf#152524 fix crash by skipping second fork()
++   * Instead of calling a second fork() in the child process, replace
++   * execv() with posix_spawn(). posix_spawn() does not call any atfork
++   * handlers so the atfork handler that crashes will be skipped.  */
++#else /*HAVE_MACOS_SYSTEM*/
+   if ((pid = fork ()) == 0)
+   {
++#endif /*HAVE_MACOS_SYSTEM*/
+ /* Child.  */
+   int max_fds = -1;
+   int fd;
+@@ -664,6 +716,9 @@
+   close (fd);
+   }
+ 
++#if HAVE_MACOS_SYSTEM
++_exit(posix_spawn(NULL, path, NULL, NULL, argv, environ));
++#else /*HAVE_MACOS_SYSTEM*/
+ execv (path, (char *const *) argv);
+ /* Hmm: in that case we could write a special status code to the
+status-pipe.  */
+@@ -674,6 +729,7 @@
+   _exit (1);
+   else
+   _exit (0);
++#endif /*HAVE_MACOS_SYSTEM*/
+ }
+ 
+   TRACE_LOG  ("waiting for child process pid=%i", pid);


core.git: Branch 'libreoffice-24-2-2' - configure.ac

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

New commits:
commit 89c0eb3ef22e366b23efc11e073935c9ef70b3d9
Author: Christian Lohmaier 
AuthorDate: Fri Mar 22 20:35:50 2024 +0100
Commit: Christian Lohmaier 
CommitDate: Fri Mar 22 20:35:50 2024 +0100

bump product version to 24.2.2.2.0+

Change-Id: I07dcfa3ea315ed6de0169fd2ff37adbbce8c097e

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


core.git: Changes to 'refs/tags/libreoffice-24.2.2.2'

2024-03-22 Thread Christian Lohmaier (via logerrit)
Tag 'libreoffice-24.2.2.2' created by Christian Lohmaier 
 at 2024-03-22 19:35 +

Tag libreoffice-24.2.2.2
-BEGIN PGP SIGNATURE-

iQIzBAABCAAdFiEEwoOeytlAj76VMcPp9DSh76/urqMFAmX93WgACgkQ9DSh76/u
rqNI8RAAywR6NvSHUHpyyr0coc5K+JNOHHHuXvh5pblKL37LmhJwgDWPzYw1R9wr
xDJ273hBTWIO3NtGifeOYzsiYKuqDvPlM5e8oiwIqHH8HF8mdSC2mClkj7Kb+lMt
lgtv6+OL/r85Rng00wW5EQZNRXQses6+Gm5RAk6LWe6iOaoY5BW6hMXETaJushsm
CHmXHBkCgC7+8S0i2Br3Xn17gD8sVFWFA5p/RjDgVPY4V5DHTb8wrySf588WXFUz
DnqdmUSNw/zy0fgTdJSuQWji8NxkiYwb1gSb8NxJZAOxHh54fK+7KBJDxxgPx/2p
kpWLTxR8oUWPYl5slr9Ndp0fFj64F9fHiGesHY1Gbky0P1aJh+7myU/0XINeG0+F
jbcHqAq+NUQQG6vE/tvI6DTKvKvu6Q9XIrLb9O/LjtMDNXep3+MCYblOLgOtpgh+
QMvHYA7Hnmlbc0whwGBXOdOOSpo9aalBDzFdGeHK08Emez1r+Qvj3RYpZskXx0bC
lGygXVT4USufS6VEHn4mC4hePRWxBASN7kE4qLXEKSMFa0QD0Nkmip4XKOfs0++D
eakSJbEBUROmZpXQyAiblOcDX7QDmUdX1FTfRA/utoTxoppdXq8Do/cbCE2oP55g
RBC/kFUsq6n9qiajn0Q1g/LK+dWu2mgQuTXxrEXq0jnUGTD5HfQ=
=7niH
-END PGP SIGNATURE-

Changes since co-24.04-branch-point-319:
---
 0 files changed
---


dictionaries.git: Changes to 'refs/tags/libreoffice-24.2.2.2'

2024-03-22 Thread Christian Lohmaier (via logerrit)
Tag 'libreoffice-24.2.2.2' created by Christian Lohmaier 
 at 2024-03-22 19:34 +

Tag libreoffice-24.2.2.2
-BEGIN PGP SIGNATURE-

iQIzBAABCAAdFiEEwoOeytlAj76VMcPp9DSh76/urqMFAmX93WMACgkQ9DSh76/u
rqPXOw//U8TFOWLVn8SjtWdvqhIk9vWWTHRb8Emi5O0suJ+YIZUvEuNjodbO1bWq
jhXdJ0AV1SdooEXHEuQJ7ur1/cAsVb42M6TH/u+ClS27m69IsD4F3X/XvxQEbDnN
8yDN0Uxcy+bj318/JmSzC2UZg0qcaSYUu4Va/vk3Umwt8gkqY2gnaleLNDPpynmi
1J9cpvqtQrusSdpQjX9qZ6KxJEC+OjfyxjvPZpNlyEg/gKSlmyNy/bWu7S2fPcCV
Ai9gPnqupkOdjEbr4FfkzGGpxadQSIMrnZCszB54h+Feh8eHuG/lF/fupnYMZYw8
xioK0xF6eGEnd3qfPA6rR77HrocF9kvqep/gdIjoBllkEQQszxI8ad+3NXPmL5J3
OQOKqPvex1aqjQUJRRMK7SBZG+i66pZw9j5+ym7i0u3Lud8Lfir2P3Y2wO3bWlma
VYOt+NjAb3xHn0x1zupmrWCG0ZfjZ2BMmYbYsybnYkW39d5U7ZulG0vvyRKQO8fZ
hPgckfbcSA3bHQe2eXYoFObT4P+YkIDQj67g1xaMpd56T3C2ebmX16Gwsfo13wZ1
jpqFLWZIoLw5Y0bORx4yo0SOkDD9dIEIgOIhmccYojQTuDDcOZ2o2Ji+W+vDuEAp
2LUtrlCHpJ9ar8rQjIvWmYXBGE49SEJmLeOEY7TMJridnLlTrEo=
=CLSj
-END PGP SIGNATURE-

Changes since cp-24.04.1-1-2:
---
 0 files changed
---


help.git: Changes to 'refs/tags/libreoffice-24.2.2.2'

2024-03-22 Thread Christian Lohmaier (via logerrit)
Tag 'libreoffice-24.2.2.2' created by Christian Lohmaier 
 at 2024-03-22 19:35 +

Tag libreoffice-24.2.2.2
-BEGIN PGP SIGNATURE-

iQIzBAABCAAdFiEEwoOeytlAj76VMcPp9DSh76/urqMFAmX93WgACgkQ9DSh76/u
rqNUhQ//UfEQR7jvyVH/jdsaQnodqwtDHc1bOM0YS+qxwwt+hkOyKtu93PYcvzkf
5uJlE+CT+prn64pW99M9OtCSL1zTGSsSQ5bStmFycsZay9jpWCY5kLZIZ5VDodEw
YomWQyrA/zA5VXzFKKQz1+ghFDayssQid9FBDHMZX83xs1TX0SXDtoOH/g6PLCit
9NWfj0q6lWSoefilt9i4VaxaZ6xI7CU0ymR5bIviaekjqZvbtC3vIkoIexZ/GatA
0k3C/ZWHNwF3yBYAW5f9IkpbN6QQYVIABLCpBdF595cvwl8gk9IS7nU/9SHTEx00
Q7DkewFltNyE1qn/ebcQ3u+nDLlQNDbPUh7FUs7rK/l/cpNqo92RhhWAw/FOr4My
EM6dmnidzR0NrtC+Np7pxzBde0fvSTItOkoARhtIQ8EG5JaLWaUtinulF7irk1fk
RitIdveT92xW95N5WWCWsxbLSQAoenk8ZpFUzKIqgAjZ2sUE/dNR1u+hXs4SS7aI
4zHZlexaf9XcIMW+0TFcXWmuSsi4loAGmmVGnI/WUfDgaUmJgNQIUUYO92q9NwyG
xKePUubunFUlIHCru/4XvFAnwG9bdeVIAjvCYr9ioXpANLy/HKEpcuQN8/5bYDI+
yib0+V+5ifD/Q84dSywmd7uqKJiWU4KNMiECXaV3D9jgM6sf0oQ=
=2sZU
-END PGP SIGNATURE-

Changes since co-24.04-branch-point-8:
---
 0 files changed
---


translations.git: Changes to 'refs/tags/libreoffice-24.2.2.2'

2024-03-22 Thread Christian Lohmaier (via logerrit)
Tag 'libreoffice-24.2.2.2' created by Christian Lohmaier 
 at 2024-03-22 19:35 +

Tag libreoffice-24.2.2.2
-BEGIN PGP SIGNATURE-

iQIzBAABCAAdFiEEwoOeytlAj76VMcPp9DSh76/urqMFAmX93WgACgkQ9DSh76/u
rqNsRQ/+NWA1tLJmsWNpK6Y02KFRJPVRkxmxd1RuQgV5hKRd5E8hAPvancKRdLi1
O5intDQNN/XwCvOt2F8CiJ9CHpXizu2Iv2xfrw3MS96lQGydyBmUjBNnRaorMm31
Ay+poSJVYAWTEpsWiiQj822SZ0ideg02+z6H3uLwck+u0X7HV8tVLwVtm4EqY0QP
x/p+M+YhJU5nZXNR3LuZVrYSYL23ZXHpPNvj+QbFkhO1kOjsl2rw73Xb2pOgEzUF
EG/J4b+eb/yFUU//sxBHd5GrvFf2yzPo2GRYOx/TCmqHXr8yJgbQEvgfw5K/OfKr
OxVifOqTVZ0qrFzUFQACQEIRk2rY+GzaA/HDNW7qm+w4WXpZih7hB9XAmKfZG/PR
A1SIjxOzuUm/kTb5DSgIjhAV9BBHxQBX7yFpdRGwT76TC/OiuKBEvXKmVjgZjSSU
+BnP2RzgMU3xcKXQnbsHfOLNwsZB5MHFM+4FbJ0Moi6nCpfIMpQTpa5DkC7jsNZc
5Nhkjeqaks1UcgsNEClPB1aI5CUNicnr1mskhjnQczVnqVBaGEGEzF5OqbjMDwUX
jVry4aAYtzacaTox9sn5tLcTz832i0XHznEREMQbubttsvkOV3WelCJvbQBJiMrl
/H2s3HdxvdwdI9BDTfzFPAJu5s4Y4HBKbWLMFleUTp+q4BxU1Zo=
=MFwp
-END PGP SIGNATURE-

Changes since cp-24.04.0-1-6:
---
 0 files changed
---


core.git: Branch 'libreoffice-24-2' - sc/source

2024-03-22 Thread Caolán McNamara (via logerrit)
 sc/source/filter/html/htmlpars.cxx |3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

New commits:
commit f2feac3d2ab19fdbcec85194579a88b3995ae335
Author: Caolán McNamara 
AuthorDate: Tue Mar 19 08:46:45 2024 +
Commit: Xisco Fauli 
CommitDate: Fri Mar 22 20:48:32 2024 +0100

null deref in initial sc html fuzzing

Change-Id: I368db8fec4cfd9409197d17f2892153aca2ba502
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/165019
Tested-by: Jenkins
Reviewed-by: Caolán McNamara 
(cherry picked from commit 85c40af4e9d4c679f66e7f7e004c018dd28994ee)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/165005
Reviewed-by: Xisco Fauli 

diff --git a/sc/source/filter/html/htmlpars.cxx 
b/sc/source/filter/html/htmlpars.cxx
index 525cebef10fa..8b50901f7050 100644
--- a/sc/source/filter/html/htmlpars.cxx
+++ b/sc/source/filter/html/htmlpars.cxx
@@ -908,7 +908,8 @@ void ScHTMLLayoutParser::CloseEntry( const HtmlImportInfo* 
pInfo )
 if ( bTabInTabCell )
 {   // From the stack in TableOff
 bTabInTabCell = false;
-NewActEntry(maList.back().get()); // New free flying mxActEntry
+SAL_WARN_IF(maList.empty(), "sc", "unexpected close entry without 
open");
+NewActEntry(maList.empty() ? nullptr : maList.back().get()); // New 
free flying mxActEntry
 return ;
 }
 if (mxActEntry->nTab == 0)


core.git: Branch 'libreoffice-24-2' - sw/qa sw/source

2024-03-22 Thread Michael Stahl (via logerrit)
 sw/qa/extras/uiwriter/uiwriter5.cxx |2 --
 sw/source/core/undo/untbl.cxx   |   15 ++-
 2 files changed, 14 insertions(+), 3 deletions(-)

New commits:
commit 36757ace36a5bcb0acd9ba5c4ee6cceed3c14b67
Author: Michael Stahl 
AuthorDate: Thu Mar 14 12:14:28 2024 +0100
Commit: Xisco Fauli 
CommitDate: Fri Mar 22 20:49:16 2024 +0100

sw: fix ~SwIndexReg assert in testTdf149498

The problem is that a SwNavigationMgr thingy has a cursor in one of the
table cells, and the text node is moved to the undo nodes array in
SwUndoTableCpyTable::AddBoxBefore() and deleted in
SwUndoTableCpyTable::UndoImpl().

SwUndoTableCpyTable needs to move the cursors out of the way because
SwUndoDelete doesn't do it.

Change-Id: I75e271c84a6624ffb0df151b171acb1e1f743928
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/164807
Tested-by: Jenkins
Reviewed-by: Michael Stahl 
(cherry picked from commit 873af30a36504751c6923d4235abd4de040e0001)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/164820
Reviewed-by: Xisco Fauli 

diff --git a/sw/qa/extras/uiwriter/uiwriter5.cxx 
b/sw/qa/extras/uiwriter/uiwriter5.cxx
index c6353f980d29..702f6d7dd30e 100644
--- a/sw/qa/extras/uiwriter/uiwriter5.cxx
+++ b/sw/qa/extras/uiwriter/uiwriter5.cxx
@@ -3007,7 +3007,6 @@ CPPUNIT_TEST_FIXTURE(SwUiWriterTest5, testTdf156487)
 assertXPath(pXmlDoc, "/metafile/push/push/push/textarray/text"_ostr, 1);
 }
 
-#ifndef DBG_UTIL
 CPPUNIT_TEST_FIXTURE(SwUiWriterTest5, testTdf149498)
 {
 // load a table, and delete the first column with enabled change tracking:
@@ -3023,7 +3022,6 @@ CPPUNIT_TEST_FIXTURE(SwUiWriterTest5, testTdf149498)
 // this would crash due to bookmark over cell boundary
 dispatchCommand(mxComponent, ".uno:Undo", {});
 }
-#endif
 
 CPPUNIT_TEST_FIXTURE(SwUiWriterTest5, 
testTdf150673_RedlineTableColumnDeletionWithExport)
 {
diff --git a/sw/source/core/undo/untbl.cxx b/sw/source/core/undo/untbl.cxx
index 72f1c809e227..52157df0cae1 100644
--- a/sw/source/core/undo/untbl.cxx
+++ b/sw/source/core/undo/untbl.cxx
@@ -2599,11 +2599,17 @@ void SwUndoTableCpyTable::AddBoxBefore( const 
SwTableBox& rBox, bool bDelContent
 if( bDelContent )
 {
 SwNodeIndex aInsIdx( *rBox.GetSttNd(), 1 );
-pDoc->GetNodes().MakeTextNode( aInsIdx.GetNode(), 
pDoc->GetDfltTextFormatColl() );
+SwTextNode *const 
pNewNode(pDoc->GetNodes().MakeTextNode(aInsIdx.GetNode(), 
pDoc->GetDfltTextFormatColl()));
 SwPaM aPam( aInsIdx.GetNode(), *rBox.GetSttNd()->EndOfSectionNode() );
 
 if( !pDoc->getIDocumentRedlineAccess().IsRedlineOn() )
+{
+{   // move cursors to new node which precedes aPam
+SwPosition const pos(*pNewNode, 0);
+::PaMCorrAbs(aPam, pos);
+}
 pEntry->pUndo = std::make_unique(aPam, 
SwDeleteFlags::Default, true);
+}
 }
 
 pEntry->pBoxNumAttr = std::make_uniqueGetDoc();
 DEBUG_REDLINE( pDoc )
 
+{   // move cursors to first node which was inserted
+SwPaM pam(SwNodeIndex(*rBox.GetSttNd(), 1));
+assert(pam.GetPoint()->GetNode().IsTextNode());
+pam.SetMark();
+pam.Move(fnMoveForward, GoInContent);
+::PaMCorrAbs(pam, *pam.GetPoint());
+}
 if( pDoc->getIDocumentRedlineAccess().IsRedlineOn() )
 {
 SwPosition aTmpPos( rIdx );


core.git: Branch 'libreoffice-7-6' - download.lst external/expat

2024-03-22 Thread Taichi Haradaguchi (via logerrit)
 download.lst|4 +-
 external/expat/0001-Fix-compiler-warnings.patch |   47 
 external/expat/UnpackedTarball_expat.mk |3 -
 3 files changed, 2 insertions(+), 52 deletions(-)

New commits:
commit af7dbe1de9145b91d212f6567c6a47bd92a7a60e
Author: Taichi Haradaguchi <20001...@ymail.ne.jp>
AuthorDate: Fri Mar 22 13:43:14 2024 +0100
Commit: Xisco Fauli 
CommitDate: Fri Mar 22 20:57:14 2024 +0100

Expat: upgrade to release 2.6.2

Fixes CVE-2024-28757

Change-Id: Id85044fa9d8eda922425e580e9d6979f6563e98a
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/165129
Tested-by: Taichi Haradaguchi <20001...@ymail.ne.jp>
Reviewed-by: Taichi Haradaguchi <20001...@ymail.ne.jp>
(cherry picked from commit 370ca73a45b291e172918b4c8fcbc37ccaa434cf)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/165177
Tested-by: Jenkins
Reviewed-by: Xisco Fauli 

diff --git a/download.lst b/download.lst
index 21c6aa046ffb..5294f74dc6aa 100644
--- a/download.lst
+++ b/download.lst
@@ -106,8 +106,8 @@ ETONYEK_TARBALL := 
libetonyek-0.1.$(ETONYEK_VERSION_MICRO).tar.xz
 # three static lines
 # so that git cherry-pick
 # will not run into conflicts
-EXPAT_SHA256SUM := 
cb5f5a8ea211e1cabd59be0a933a52e3c02cc326e86a4d387d8d218e7ee47a3e
-EXPAT_TARBALL := expat-2.6.0.tar.xz
+EXPAT_SHA256SUM := 
ee14b4c5d8908b1bec37ad937607eab183d4d9806a08adee472c3c3121d27364
+EXPAT_TARBALL := expat-2.6.2.tar.xz
 # three static lines
 # so that git cherry-pick
 # will not run into conflicts
diff --git a/external/expat/0001-Fix-compiler-warnings.patch 
b/external/expat/0001-Fix-compiler-warnings.patch
deleted file mode 100644
index adec5ed0d9be..
--- a/external/expat/0001-Fix-compiler-warnings.patch
+++ /dev/null
@@ -1,47 +0,0 @@
-From 3f60a47cb5716bb810789a12ef6024c1dc448164 Mon Sep 17 00:00:00 2001
-From: Taichi Haradaguchi <20001...@ymail.ne.jp>
-Date: Fri, 9 Feb 2024 19:28:35 +0900
-Subject: [PATCH] Fix compiler warnings
-
-> In file included from ./../lib/internal.h:149,
->  from codepage.c:38:
-> ./../lib/expat.h:1045:5: warning: "XML_GE" is not defined, evaluates to 0 
[-Wundef]
->  1045 | #if XML_GE == 1
->   | ^~
-> ./../lib/internal.h:158:5: warning: "XML_GE" is not defined, evaluates to 0 
[-Wundef]
->   158 | #if XML_GE == 1
->   | ^~

- expat/lib/expat.h| 2 +-
- expat/lib/internal.h | 2 +-
- 2 files changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/expat/lib/expat.h b/expat/lib/expat.h
-index 95464b0d..79bbfb61 100644
 a/expat/lib/expat.h
-+++ b/expat/lib/expat.h
-@@ -1042,7 +1042,7 @@ typedef struct {
- XMLPARSEAPI(const XML_Feature *)
- XML_GetFeatureList(void);
- 
--#if XML_GE == 1
-+#if defined(XML_GE) && XML_GE == 1
- /* Added in Expat 2.4.0 for XML_DTD defined and
-  * added in Expat 2.6.0 for XML_GE == 1. */
- XMLPARSEAPI(XML_Bool)
-diff --git a/expat/lib/internal.h b/expat/lib/internal.h
-index cce71e4c..208c6b67 100644
 a/expat/lib/internal.h
-+++ b/expat/lib/internal.h
-@@ -155,7 +155,7 @@ extern "C" {
- void _INTERNAL_trim_to_complete_utf8_characters(const char *from,
- const char **fromLimRef);
- 
--#if XML_GE == 1
-+#if defined(XML_GE) && XML_GE == 1
- unsigned long long testingAccountingGetCountBytesDirect(XML_Parser parser);
- unsigned long long testingAccountingGetCountBytesIndirect(XML_Parser parser);
- const char *unsignedCharToPrintable(unsigned char c);
--- 
-2.43.1
-
diff --git a/external/expat/UnpackedTarball_expat.mk 
b/external/expat/UnpackedTarball_expat.mk
index 465105f2ca8c..5d4f41f6d147 100644
--- a/external/expat/UnpackedTarball_expat.mk
+++ b/external/expat/UnpackedTarball_expat.mk
@@ -13,10 +13,7 @@ $(eval $(call 
gb_UnpackedTarball_set_tarball,expat,$(EXPAT_TARBALL)))
 
 $(eval $(call gb_UnpackedTarball_update_autoconf_configs,expat,conftools))
 
-# * external/expat/0001-Fix-compiler-warnings.patch was sent to upstream as
-#    "Fix compiler warnings":
 $(eval $(call gb_UnpackedTarball_add_patches,expat,\
-   external/expat/0001-Fix-compiler-warnings.patch \
external/expat/expat-winapi.patch \
 ))
 


core.git: include/svl sc/source svl/source sw/source xmloff/source

2024-03-22 Thread Caolán McNamara (via logerrit)
 include/svl/nfengine.hxx|  432 +++
 include/svl/numformat.hxx   |  151 --
 include/svl/zformat.hxx |   81 -
 sc/source/ui/view/output2.cxx   |4 
 sc/source/ui/view/viewfunc.cxx  |2 
 svl/source/numbers/zforfind.cxx |  115 +-
 svl/source/numbers/zforfind.hxx |7 
 svl/source/numbers/zforlist.cxx | 1971 ++--
 svl/source/numbers/zformat.cxx  |  267 ++--
 svl/source/numbers/zforscan.cxx |   91 -
 svl/source/numbers/zforscan.hxx |   20 
 sw/source/uibase/utlui/numfmtlb.cxx |2 
 xmloff/source/style/xmlnumfe.cxx|2 
 13 files changed, 2018 insertions(+), 1127 deletions(-)

New commits:
commit c6c6126aa3e8de256091b829b98b5943db6a8be6
Author: Caolán McNamara 
AuthorDate: Thu Mar 21 17:25:35 2024 +
Commit: Caolán McNamara 
CommitDate: Fri Mar 22 21:50:59 2024 +0100

Related: tdf#160056 refactor SvNumberFormatter

to split it into two constituent parts

SvNFFormatData which is the data store for number formats it generally
operates on.

SvNFLanguageData for data around the current language in use.

and then a SvNFEngine which implements the interaction between those
parts

SvNFEngine has two policies, the typical RW mode and a new RO mode where
the SvNFFormatData doesn't change, all formats needed in this mode must
already exist.

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

diff --git a/include/svl/nfengine.hxx b/include/svl/nfengine.hxx
new file mode 100644
index ..aa57d731fbac
--- /dev/null
+++ b/include/svl/nfengine.hxx
@@ -0,0 +1,432 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-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/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ *   Licensed to the Apache Software Foundation (ASF) under one or more
+ *   contributor license agreements. See the NOTICE file distributed
+ *   with this work for additional information regarding copyright
+ *   ownership. The ASF licenses this file to you under the Apache
+ *   License, Version 2.0 (the "License"); you may not use this file
+ *   except in compliance with the License. You may obtain a copy of
+ *   the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#pragma once
+
+#include 
+#include 
+#include 
+#include 
+#include 
+#include 
+#include 
+#include 
+#include 
+
+#include 
+#include 
+
+class Color;
+class ImpSvNumberformatScan;
+class ImpSvNumberInputScan;
+class SvNumberFormatterRegistry_Impl;
+class SvNumberFormatter;
+class NfCurrencyTable;
+
+class SVL_DLLPUBLIC SvNFLanguageData
+{
+public:
+SvNFLanguageData(const css::uno::Reference& 
rxContext,
+ LanguageType eLang, const SvNumberFormatter& 
rColorCallback);
+SvNFLanguageData(const SvNFLanguageData& rOther);
+~SvNFLanguageData();
+
+const css::uno::Reference& 
GetComponentContext() const
+{
+return xContext;
+}
+
+// return the corresponding LocaleData wrapper
+const LocaleDataWrapper* GetLocaleData() const;
+
+// return the corresponding CharacterClassification wrapper
+const CharClass* GetCharClass() const;
+
+// return the corresponding Calendar wrapper
+CalendarWrapper* GetCalendar() const;
+
+// return corresponding Transliteration wrapper
+const ::utl::TransliterationWrapper* GetTransliteration() const;
+
+//! The following method is not to be used from outside but must be
+//! public for the InputScanner.
+// return the current FormatScanner
+const ImpSvNumberformatScan* GetFormatScanner() const;
+
+// return current (!) Locale
+const LanguageTag& GetLanguageTag() const;
+
+/// Get compatibility ("automatic" old style) currency from I18N locale 
data
+void GetCompatibilityCurrency(OUString& rSymbol, OUString& rAbbrev) const;
+
+// cached locale data items
+
+// return the corresponding decimal separator
+const OUString& GetNumDecimalSep() const;
+
+// return the corresponding decimal separator alternative
+const OUString& GetNumDecimalSepAlt() const;
+
+// return the corresponding group (AKA thousand) separator
+const OUString& GetNumThousandSep() const;
+
+// return the corresponding date separator
+const OUString& GetDateSep() const;
+
+// checks for decimal separator and optional alternative
+bool IsDecimalSep(std::u16string_view rStr) const;
+
+/// Return the decimal separator matching the given locale / LanguageType.
+OUString GetLangDecimalSep(LanguageT

Re: VS 2022 version 17.9.1 has a bug preventing building cli_ure

2024-03-22 Thread Christian Lohmaier
Hi *,

On Thu, Mar 21, 2024 at 8:58 PM Oliver Brinzing  wrote:
> […]
> Configuring OpenSSL version 3.0.13 for target VC-WIN64A
> Using os-specific seed configuration
> /cygdrive/d/sources/libo-core/workdir/UnpackedTarball/openssl/crypto/sha/../providers:
>  No such file
> or directory at Configure line 3419.

Also had that on a system with a pretty old cygwin installation →
update perl and it should work again.

ciao
Christian


core.git: sw/uiconfig

2024-03-22 Thread Taichi Haradaguchi (via logerrit)
 sw/uiconfig/swriter/ui/findentrydialog.ui |2 ++
 1 file changed, 2 insertions(+)

New commits:
commit 4bdf2829a31e29949bf4d9a008e1f9d2b50bf4c1
Author: Taichi Haradaguchi <20001...@ymail.ne.jp>
AuthorDate: Fri Mar 22 18:34:39 2024 +0900
Commit: Taichi Haradaguchi <20001...@ymail.ne.jp>
CommitDate: Sat Mar 23 01:04:12 2024 +0100

Add missing dialog name in findentrydialog.ui

Change-Id: I5ad3f80064ce15f9ff3d72f85237bde426d935a8
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/165156
Tested-by: Jenkins
Reviewed-by: Taichi Haradaguchi <20001...@ymail.ne.jp>

diff --git a/sw/uiconfig/swriter/ui/findentrydialog.ui 
b/sw/uiconfig/swriter/ui/findentrydialog.ui
index 589a12b5d5b1..d34690b8b762 100644
--- a/sw/uiconfig/swriter/ui/findentrydialog.ui
+++ b/sw/uiconfig/swriter/ui/findentrydialog.ui
@@ -5,6 +5,8 @@
   
 True
 6
+Find Entry
+True
 0
 0
 dialog


core.git: Branch 'libreoffice-24-2' - download.lst

2024-03-22 Thread Xisco Fauli (via logerrit)
 download.lst |4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

New commits:
commit 78f0fa2f7e408cbc75ffe99f61f6a556bed2a032
Author: Xisco Fauli 
AuthorDate: Wed Mar 20 10:49:53 2024 +0100
Commit: Taichi Haradaguchi <20001...@ymail.ne.jp>
CommitDate: Sat Mar 23 01:04:45 2024 +0100

libpng: upgrade to 1.6.43

Change-Id: Ia1ddc21dc521cf97b75a64d806417cbfe5dec623
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/165050
Tested-by: Xisco Fauli 
Reviewed-by: Xisco Fauli 
(cherry picked from commit f29222eaf385891620d4868827b27e734752018e)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/165182
Tested-by: Jenkins
Reviewed-by: Taichi Haradaguchi <20001...@ymail.ne.jp>

diff --git a/download.lst b/download.lst
index 438359f38b65..bc1f68ce8385 100644
--- a/download.lst
+++ b/download.lst
@@ -533,8 +533,8 @@ PIXMAN_TARBALL := pixman-0.42.2.tar.gz
 # three static lines
 # so that git cherry-pick
 # will not run into conflicts
-LIBPNG_SHA256SUM := 
c919dbc11f4c03b05aba3f8884d8eb7adfe3572ad228af972bb60057bdb48450
-LIBPNG_TARBALL := libpng-1.6.42.tar.xz
+LIBPNG_SHA256SUM := 
6a5ca0652392a2d7c9db2ae5b40210843c0bbc081cbd410825ab00cc59f14a6c
+LIBPNG_TARBALL := libpng-1.6.43.tar.xz
 # three static lines
 # so that git cherry-pick
 # will not run into conflicts


core.git: Branch 'libreoffice-24-2' - download.lst

2024-03-22 Thread Xisco Fauli (via logerrit)
 download.lst |4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

New commits:
commit 319966df55dda429202f12eba678eeb461eef5ed
Author: Xisco Fauli 
AuthorDate: Wed Mar 20 10:26:11 2024 +0100
Commit: Taichi Haradaguchi <20001...@ymail.ne.jp>
CommitDate: Sat Mar 23 01:05:13 2024 +0100

libxml2: upgrade to release 2.12.6

Change-Id: I7372b276f74bc760c99580ffc509fde1031cb3a6
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/165049
Tested-by: Jenkins
Reviewed-by: Xisco Fauli 
(cherry picked from commit 832b98cedda2cd1631651f9397a871fb50d9cb1f)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/165183
Reviewed-by: Taichi Haradaguchi <20001...@ymail.ne.jp>

diff --git a/download.lst b/download.lst
index bc1f68ce8385..6b38df3ce30b 100644
--- a/download.lst
+++ b/download.lst
@@ -424,8 +424,8 @@ XMLSEC_TARBALL := xmlsec1-1.3.2.tar.gz
 # three static lines
 # so that git cherry-pick
 # will not run into conflicts
-LIBXML_SHA256SUM := 
a972796696afd38073e0f59c283c3a2f5a560b5268b4babc391b286166526b21
-LIBXML_VERSION_MICRO := 5
+LIBXML_SHA256SUM := 
889c593a881a3db5fdd96cc9318c87df34eb648edfc458272ad46fd607353fbb
+LIBXML_VERSION_MICRO := 6
 LIBXML_TARBALL := libxml2-2.12.$(LIBXML_VERSION_MICRO).tar.xz
 # three static lines
 # so that git cherry-pick


core.git: sc/inc sc/qa sc/source svl/source

2024-03-22 Thread Caolán McNamara (via logerrit)
 sc/inc/cellform.hxx|   14 -
 sc/inc/column.hxx  |6 
 sc/inc/compiler.hxx|   11 -
 sc/inc/document.hxx|4 
 sc/inc/dpcache.hxx |7 
 sc/inc/formulacell.hxx |4 
 sc/inc/global.hxx  |5 
 sc/inc/interpretercontext.hxx  |  101 ---
 sc/inc/patattr.hxx |2 
 sc/inc/queryevaluator.hxx  |5 
 sc/inc/queryparam.hxx  |4 
 sc/inc/rangeseq.hxx|4 
 sc/inc/scmatrix.hxx|6 
 sc/inc/stringutil.hxx  |4 
 sc/inc/table.hxx   |2 
 sc/qa/unit/helper/csv_handler.hxx  |6 
 sc/source/core/data/column2.cxx|   24 +-
 sc/source/core/data/column3.cxx|   41 ++--
 sc/source/core/data/column4.cxx|8 
 sc/source/core/data/dociter.cxx|7 
 sc/source/core/data/documen6.cxx   |4 
 sc/source/core/data/document.cxx   |6 
 sc/source/core/data/dpcache.cxx|   57 ++
 sc/source/core/data/dpobject.cxx   |   17 -
 sc/source/core/data/formulacell.cxx|   23 +-
 sc/source/core/data/global.cxx |9 
 sc/source/core/data/global2.cxx|   18 -
 sc/source/core/data/patattr.cxx|   29 +++
 sc/source/core/data/queryevaluator.cxx |6 
 sc/source/core/data/queryiter.cxx  |9 
 sc/source/core/data/table2.cxx |4 
 sc/source/core/data/table5.cxx |4 
 sc/source/core/inc/interpre.hxx|1 
 sc/source/core/tool/cellform.cxx   |   28 +--
 sc/source/core/tool/compiler.cxx   |   30 +--
 sc/source/core/tool/interpr1.cxx   |   52 ++---
 sc/source/core/tool/interpr2.cxx   |   54 ++---
 sc/source/core/tool/interpr4.cxx   |   17 -
 sc/source/core/tool/interpr5.cxx   |6 
 sc/source/core/tool/interpr6.cxx   |2 
 sc/source/core/tool/interpr8.cxx   |   20 +-
 sc/source/core/tool/interpretercontext.cxx |  266 ++---
 sc/source/core/tool/queryparam.cxx |9 
 sc/source/core/tool/rangecache.cxx |2 
 sc/source/core/tool/rangeseq.cxx   |7 
 sc/source/core/tool/scmatrix.cxx   |   34 +--
 sc/source/core/tool/stringutil.cxx |9 
 sc/source/filter/excel/xicontent.cxx   |6 
 sc/source/filter/html/htmlexp.cxx  |2 
 sc/source/filter/rtf/rtfexp.cxx|2 
 sc/source/filter/xml/xmlcelli.cxx  |2 
 sc/source/filter/xml/xmlexprt.cxx  |4 
 sc/source/ui/app/scmod.cxx |2 
 sc/source/ui/app/transobj.cxx  |6 
 sc/source/ui/docshell/docfunc.cxx  |2 
 sc/source/ui/docshell/docsh.cxx|   18 -
 sc/source/ui/docshell/docsh8.cxx   |   16 -
 sc/source/ui/docshell/impex.cxx|8 
 sc/source/ui/unoobj/cellsuno.cxx   |   25 +-
 sc/source/ui/unoobj/textuno.cxx|2 
 sc/source/ui/view/output2.cxx  |6 
 sc/source/ui/view/spelleng.cxx |3 
 sc/source/ui/view/tabvwsha.cxx |   22 +-
 svl/source/numbers/zforlist.cxx|2 
 64 files changed, 699 insertions(+), 417 deletions(-)

New commits:
commit b38974391e8d4bf0d450abfaa86bbccbe1022995
Author: Caolán McNamara 
AuthorDate: Fri Mar 22 09:47:47 2024 +
Commit: Caolán McNamara 
CommitDate: Sat Mar 23 01:14:13 2024 +0100

Related: tdf#160056 do calc NumberFormatting via ScInterpreterContext

and for the duration of Threaded calculation where there will be
no new formats required we can drive number formatting with the
unlocked RO policy.

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

diff --git a/sc/inc/cellform.hxx b/sc/inc/cellform.hxx
index 7fb072ee8578..a4a985e2d9cc 100644
--- a/sc/inc/cellform.hxx
+++ b/sc/inc/cellform.hxx
@@ -23,10 +23,10 @@
 #include 
 #include 
 
-class SvNumberFormatter;
 class Color;
-class ScDocument;
 class ScAddress;
+class ScDocument;
+struct ScInterpreterContext;
 struct ScRefCellValue;
 
 class SC_DLLPUBLIC ScCellFormat
@@ -35,25 +35,25 @@ public:
 
 static OUString GetString(
 const ScRefCellValue& rCell, sal_uInt32 nFormat,
-const Color** ppColor, SvNumberFormatter& rFormatter, const 
ScDocument& rDoc, bool bNullVals = true,
+const Color** ppColor, ScInterpreterContext* pContext, const 
ScDocument& rDoc, bool bNullVals = true,
 bool bFormula  = false, bool bUseStarFormat = false );
 
 static OUString GetString(
 ScDocument& rDoc, const ScAddress& rPos, sal_uInt32 nFormat,
-

core.git: vcl/inc vcl/source

2024-03-22 Thread Tomaž Vajngerl (via logerrit)
 vcl/inc/impgraph.hxx|3 +--
 vcl/source/gdi/graph.cxx|6 ++
 vcl/source/gdi/impgraph.cxx |   13 -
 3 files changed, 7 insertions(+), 15 deletions(-)

New commits:
commit e83f7b7c84d5345879c5543b78ce6ad2b32dc2bc
Author: Tomaž Vajngerl 
AuthorDate: Sun Mar 17 23:23:41 2024 +0900
Commit: Tomaž Vajngerl 
CommitDate: Sat Mar 23 03:06:18 2024 +0100

vcl: set "default" type only thorugh a ImpGraphic constructor

and do some more clean-up.

Change-Id: I28c33887226444046d21076118fd066eb3a231d3
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/164947
Tested-by: Jenkins
Reviewed-by: Tomaž Vajngerl 

diff --git a/vcl/inc/impgraph.hxx b/vcl/inc/impgraph.hxx
index 9ef10d19061d..707810b9de2e 100644
--- a/vcl/inc/impgraph.hxx
+++ b/vcl/inc/impgraph.hxx
@@ -89,7 +89,7 @@ private:
 bool mbPrepared = false;
 
 public:
-ImpGraphic();
+ImpGraphic(bool bDefault = false);
 ImpGraphic( const ImpGraphic& rImpGraphic );
 ImpGraphic( ImpGraphic&& rImpGraphic ) noexcept;
 ImpGraphic( GraphicExternalLink aExternalLink);
@@ -133,7 +133,6 @@ private:
 voidclear();
 
 GraphicType getType() const { return meType;}
-voidsetDefaultType();
 boolisSupportedGraphic() const;
 
 boolisTransparent() const;
diff --git a/vcl/source/gdi/graph.cxx b/vcl/source/gdi/graph.cxx
index 4c0efa56beba..252ee189b892 100644
--- a/vcl/source/gdi/graph.cxx
+++ b/vcl/source/gdi/graph.cxx
@@ -287,8 +287,7 @@ bool Graphic::IsNone() const
 
 void Graphic::Clear()
 {
-ImplTestRefCount();
-mxImpGraphic->clear();
+mxImpGraphic = std::make_shared();
 }
 
 GraphicType Graphic::GetType() const
@@ -298,8 +297,7 @@ GraphicType Graphic::GetType() const
 
 void Graphic::SetDefaultType()
 {
-ImplTestRefCount();
-mxImpGraphic->setDefaultType();
+mxImpGraphic = std::make_shared(true);
 }
 
 bool Graphic::IsSupportedGraphic() const
diff --git a/vcl/source/gdi/impgraph.cxx b/vcl/source/gdi/impgraph.cxx
index 2c9f03f3a02e..ceb6c111cf7b 100644
--- a/vcl/source/gdi/impgraph.cxx
+++ b/vcl/source/gdi/impgraph.cxx
@@ -81,7 +81,8 @@ SvStream* ImpGraphic::getSwapFileStream() const
 return nullptr;
 }
 
-ImpGraphic::ImpGraphic()
+ImpGraphic::ImpGraphic(bool bDefault)
+: meType(bDefault ? GraphicType::Default : GraphicType::NONE)
 {
 }
 
@@ -149,7 +150,7 @@ ImpGraphic::ImpGraphic(GraphicExternalLink 
aGraphicExternalLink)
 
 ImpGraphic::ImpGraphic(const BitmapEx& rBitmapEx)
 : maBitmapEx(rBitmapEx)
-, meType(!rBitmapEx.IsEmpty() ? GraphicType::Bitmap : GraphicType::NONE)
+, meType(rBitmapEx.IsEmpty() ? GraphicType::NONE : GraphicType::Bitmap)
 {
 }
 
@@ -408,15 +409,9 @@ void ImpGraphic::clear()
 maGraphicExternalLink.msURL.clear();
 }
 
-void ImpGraphic::setDefaultType()
-{
-clear();
-meType = GraphicType::Default;
-}
-
 bool ImpGraphic::isSupportedGraphic() const
 {
-return( meType != GraphicType::NONE );
+return meType != GraphicType::NONE;
 }
 
 bool ImpGraphic::isTransparent() const