core.git: i18npool/CppunitTest_i18npool_transliteration.mk i18npool/inc i18npool/Library_i18npool.mk i18npool/Library_index_data.mk i18npool/Module_i18npool.mk i18npool/source Repository.mk vcl/common

2024-02-14 Thread Noel Grandin (via logerrit)
 Repository.mk   |1 
 i18npool/CppunitTest_i18npool_transliteration.mk|3 
 i18npool/Library_i18npool.mk|7 +
 i18npool/Library_index_data.mk  |   19 
 i18npool/Module_i18npool.mk |1 
 i18npool/inc/indexentrysupplier_asian.hxx   |   22 -
 i18npool/inc/textToPronounce_zh.hxx |8 -
 i18npool/source/collator/gencoll_rule.cxx   |4 
 i18npool/source/indexentry/indexentrysupplier_asian.cxx |   68 +---
 i18npool/source/transliteration/textToPronounce_zh.cxx  |   44 --
 vcl/commonfuzzer.mk |1 
 11 files changed, 34 insertions(+), 144 deletions(-)

New commits:
commit de43ed10886ae041b3814f80ef0510f6ac18d515
Author: Noel Grandin 
AuthorDate: Wed Feb 14 10:14:13 2024 +0200
Commit: Noel Grandin 
CommitDate: Thu Feb 15 08:58:34 2024 +0100

merge index_data into i18npool

(*) it is a small library
(*) this avoids another dynamic symbol lookup
(*) this unblocks more --enable-mergedlibs optimisation

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

diff --git a/Repository.mk b/Repository.mk
index 8c9923bcc6c2..88d01380140c 100644
--- a/Repository.mk
+++ b/Repository.mk
@@ -701,7 +701,6 @@ $(eval $(call 
gb_Helper_register_libraries_for_install,PLAINLIBS_OOO,ooo, \
 $(eval $(call gb_Helper_register_plugins_for_install,PLAINLIBS_OOO,ooo, \
 dict_ja \
 dict_zh \
-index_data \
 localedata_en \
 localedata_es \
 localedata_euro \
diff --git a/i18npool/CppunitTest_i18npool_transliteration.mk 
b/i18npool/CppunitTest_i18npool_transliteration.mk
index 6c9f71916fef..45c2607d953a 100644
--- a/i18npool/CppunitTest_i18npool_transliteration.mk
+++ b/i18npool/CppunitTest_i18npool_transliteration.mk
@@ -20,6 +20,7 @@ $(eval $(call 
gb_CppunitTest_use_components,i18npool_transliteration, \
 $(eval $(call gb_CppunitTest_use_libraries,i18npool_transliteration, \
 cppu \
 cppuhelper \
+i18npool \
 sal \
 ))
 
@@ -27,6 +28,4 @@ $(eval $(call 
gb_CppunitTest_use_sdk_api,i18npool_transliteration))
 
 $(eval $(call gb_CppunitTest_use_ure,i18npool_transliteration))
 
-$(call gb_CppunitTest_get_target,i18npool_transliteration): $(call 
gb_Library_get_target,index_data)
-
 # vim: set noet sw=4 ts=4:
diff --git a/i18npool/Library_i18npool.mk b/i18npool/Library_i18npool.mk
index b7f28f67d8f4..4c35c26047f9 100644
--- a/i18npool/Library_i18npool.mk
+++ b/i18npool/Library_i18npool.mk
@@ -159,4 +159,11 @@ $(eval $(call gb_Library_add_generated_cobjects,i18npool,\
$(if $(filter GCC,$(COM)),-Wno-unused-macros) \
 ))
 
+# index data
+$(eval $(call gb_Library_add_generated_exception_objects,i18npool,\
+   $(foreach txt,$(wildcard 
$(SRCDIR)/i18npool/source/indexentry/data/*.txt),\
+   CustomTarget/i18npool/indexentry/$(notdir $(basename $(txt \
+))
+
+
 # vim: set noet sw=4 ts=4:
diff --git a/i18npool/Library_index_data.mk b/i18npool/Library_index_data.mk
deleted file mode 100644
index b00ede9d50ab..
--- a/i18npool/Library_index_data.mk
+++ /dev/null
@@ -1,19 +0,0 @@
-# -*- 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_Library_Library,index_data))
-
-$(eval $(call gb_Library_set_plugin_for_nodep,index_data,i18npool))
-
-$(eval $(call gb_Library_add_generated_exception_objects,index_data,\
-   $(foreach txt,$(wildcard 
$(SRCDIR)/i18npool/source/indexentry/data/*.txt),\
-   CustomTarget/i18npool/indexentry/$(notdir $(basename $(txt \
-))
-
-# vim: set noet sw=4 ts=4:
diff --git a/i18npool/Module_i18npool.mk b/i18npool/Module_i18npool.mk
index 97c77a014389..69341fc744c0 100644
--- a/i18npool/Module_i18npool.mk
+++ b/i18npool/Module_i18npool.mk
@@ -20,7 +20,6 @@ $(eval $(call gb_Module_add_targets,i18npool,\
Library_dict_zh) \
Library_i18npool \
Library_i18nsearch \
-   Library_index_data \
Library_localedata_en \
Library_localedata_es \
Library_localedata_euro \
diff --git a/i18npool/inc/indexentrysupplier_asian.hxx 
b/i18npool/inc/indexentrysupplier_asian.hxx
index 52e452b17b01..8d733a0ce58b 100644
--- a/i18npool/inc/indexentrysupplier_asian.hxx
+++ b/i18npool/inc/indexentrysupplier_asian.hxx
@@ -21,7 +21,6 @@
 
 
 #include "indexentrysupplier_common.hxx"
-#include 
 
 namespace i18npool {
 
@@ -44,12 +43,25 @@ public:
 const css::lang::Locale& rLocale2 ) override;
 OUString SAL_CALL ge

core.git: bin/update_pch desktop/Pagein_draw.mk desktop/Pagein_impress.mk Repository.mk sd/CppunitTest_sd_dialogs_test.mk sd/inc sd/Library_sd.mk sd/Library_sdui.mk sd/Module_sd.mk sd/source sd/util

2024-02-14 Thread Noel Grandin (via logerrit)
 Repository.mk |1 
 bin/update_pch|1 
 desktop/Pagein_draw.mk|1 
 desktop/Pagein_impress.mk |1 
 sd/CppunitTest_sd_dialogs_test.mk |1 
 sd/Library_sd.mk  |   65 
 sd/Library_sdui.mk|  133 
 sd/Module_sd.mk   |1 
 sd/inc/pch/precompiled_sdui.cxx   |   12 
 sd/inc/pch/precompiled_sdui.hxx   |  529 ++
 sd/inc/sdabstdlg.hxx  |2 
 sd/source/console/presenter.component |   18 +
 sd/source/ui/dlg/copydlg.cxx  |   47 +--
 sd/source/ui/dlg/headerfooterdlg.cxx  |5 
 sd/source/ui/dlg/morphdlg.cxx |6 
 sd/source/ui/dlg/sdabstdlg.cxx|   33 ++
 sd/source/ui/dlg/sduiexp.cxx  |4 
 sd/util/sd.component  |6 
 18 files changed, 761 insertions(+), 105 deletions(-)

New commits:
commit 028affcf44b2e465a0a178e8ebe5682edfa68531
Author: Noel Grandin 
AuthorDate: Wed Feb 14 16:07:03 2024 +0100
Commit: Noel Grandin 
CommitDate: Thu Feb 15 08:57:53 2024 +0100

Revert "merge sdui library into sd"

This reverts commit 2cf7c26293462406d91ee050c6677930065e660b.

Reason for revert:

<_rene_> noelgrandin: sdui->sd... and what about people not needing that ui?
<_rene_> (e.g. --disable-gui and libreoffice-draw-nogui and impress-nogui)
<_rene_> i.e. the use case of --convert-to for ppt(x) etc

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

diff --git a/Repository.mk b/Repository.mk
index add9133fefa4..8c9923bcc6c2 100644
--- a/Repository.mk
+++ b/Repository.mk
@@ -517,6 +517,7 @@ $(eval $(call 
gb_Helper_register_plugins_for_install,OOOLIBS,ooo, \
 cui \
 $(if $(USING_X11),desktop_detector) \
 icg \
+sdui \
 $(if $(ENABLE_GEN),vclplug_gen) \
 $(if $(filter $(OS),WNT),vclplug_win) \
 $(if $(filter $(OS),MACOSX),vclplug_osx) \
diff --git a/bin/update_pch b/bin/update_pch
index e7ede0a5d692..4719e5f9269f 100755
--- a/bin/update_pch
+++ b/bin/update_pch
@@ -92,6 +92,7 @@ DEFAULTS = \
 'sc.scui'   : ( 1, EXCLUDE, EXCLUDE, INCLUDE), #  
15.0
 'sc.vbaobj' : ( 1, EXCLUDE, EXCLUDE, INCLUDE), #  
17.3
 'sd.sd' : ( 4, EXCLUDE, EXCLUDE, INCLUDE), #  
47.4
+'sd.sdui'   : ( 4, EXCLUDE, INCLUDE, INCLUDE), #   
9.4
 'sdext.PresentationMinimizer'   : ( 2, EXCLUDE, INCLUDE, INCLUDE), #   
4.1
 'sdext.PresenterScreen' : ( 2, EXCLUDE, INCLUDE, EXCLUDE), #   
7.1
 'sfx2.sfx'  : ( 3, EXCLUDE, EXCLUDE, EXCLUDE), #  
27.4
diff --git a/desktop/Pagein_draw.mk b/desktop/Pagein_draw.mk
index abf7435032d6..2fd0ef6ba4ff 100644
--- a/desktop/Pagein_draw.mk
+++ b/desktop/Pagein_draw.mk
@@ -11,6 +11,7 @@ $(eval $(call gb_Pagein_Pagein,draw))
 
 $(eval $(call gb_Pagein_add_objects,draw,\
 sd \
+sdui \
 svx \
 svxcore \
 ))
diff --git a/desktop/Pagein_impress.mk b/desktop/Pagein_impress.mk
index 9b15cc1fe1ba..f3e4ff7b6d59 100644
--- a/desktop/Pagein_impress.mk
+++ b/desktop/Pagein_impress.mk
@@ -11,6 +11,7 @@ $(eval $(call gb_Pagein_Pagein,impress))
 
 $(eval $(call gb_Pagein_add_objects,impress,\
 sd \
+sdui \
 svx \
 svxcore \
 ))
diff --git a/sd/CppunitTest_sd_dialogs_test.mk 
b/sd/CppunitTest_sd_dialogs_test.mk
index fd3ca391477f..839f702de7ef 100644
--- a/sd/CppunitTest_sd_dialogs_test.mk
+++ b/sd/CppunitTest_sd_dialogs_test.mk
@@ -40,6 +40,7 @@ $(eval $(call gb_CppunitTest_use_libraries,sd_dialogs_test, \
 salhelper \
 sax \
 sd \
+sdui \
 sfx \
 sot \
 svl \
diff --git a/sd/Library_sd.mk b/sd/Library_sd.mk
index 8103d5cb0b01..01c546ad3dca 100644
--- a/sd/Library_sd.mk
+++ b/sd/Library_sd.mk
@@ -49,6 +49,7 @@ $(eval $(call gb_Library_set_include,sd,\
 
 $(eval $(call gb_Library_add_defs,sd,\
-DSD_DLLIMPLEMENTATION \
+   -DSDUI_DLL_NAME=\"$(call gb_Library_get_runtime_filename,$(call 
gb_Library__get_name,sdui))\" \
 ))
 
 ifneq ($(strip $(dbg_anim_log)$(DBG_ANIM_LOG)),)
@@ -77,7 +78,6 @@ $(eval $(call gb_Library_use_libraries,sd,\
drawinglayercore \
drawinglayer \
editeng \
-   fwk \
i18nlangtag \
i18nutil \
icg \
@@ -603,67 +603,4 @@ endif # ENABLE_SDREMOTE_BLUETOOTH=TRUE
 
 endif # ENABLE_SDREMOTE=TRUE
 
-$(eval $(call gb_Library_add_exception_objects,sd,\
-sd/source/ui/dlg/brkdlg \
-sd/source/ui/dlg/copydlg \
-sd/source/ui/dlg/custsdlg \
-sd/source/ui/dlg/dlgchar \
-sd/source/ui/dlg/dlgfield \
-sd/source/ui/dlg/dlgolbul \
-sd/source/ui/dlg/dlgpage \
-sd/source/ui/dlg/dlgsnap \
-sd/source/ui/dlg/headerfooterdlg \
-sd/source/ui/dlg/inspagob \
-

core.git: sw/qa

2024-02-14 Thread Xisco Fauli (via logerrit)
 0 files changed

New commits:
commit 7b658083c1935e1d74306e361c3d69f53eff4fef
Author: Xisco Fauli 
AuthorDate: Wed Feb 14 17:01:27 2024 +0100
Commit: Xisco Fauli 
CommitDate: Thu Feb 15 08:57:28 2024 +0100

sw: move some UItests from writer_tests7 to writer_tests8

writer_tests7 had 47 tests while writer_tests8 6
Now they have 31 and 22 respectively

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

diff --git a/sw/qa/uitest/writer_tests7/tdf140117.py 
b/sw/qa/uitest/writer_tests8/tdf140117.py
similarity index 100%
rename from sw/qa/uitest/writer_tests7/tdf140117.py
rename to sw/qa/uitest/writer_tests8/tdf140117.py
diff --git a/sw/qa/uitest/writer_tests7/tdf140863.py 
b/sw/qa/uitest/writer_tests8/tdf140863.py
similarity index 100%
rename from sw/qa/uitest/writer_tests7/tdf140863.py
rename to sw/qa/uitest/writer_tests8/tdf140863.py
diff --git a/sw/qa/uitest/writer_tests7/tdf141158.py 
b/sw/qa/uitest/writer_tests8/tdf141158.py
similarity index 100%
rename from sw/qa/uitest/writer_tests7/tdf141158.py
rename to sw/qa/uitest/writer_tests8/tdf141158.py
diff --git a/sw/qa/uitest/writer_tests7/tdf141557.py 
b/sw/qa/uitest/writer_tests8/tdf141557.py
similarity index 100%
rename from sw/qa/uitest/writer_tests7/tdf141557.py
rename to sw/qa/uitest/writer_tests8/tdf141557.py
diff --git a/sw/qa/uitest/writer_tests7/tdf143785.py 
b/sw/qa/uitest/writer_tests8/tdf143785.py
similarity index 100%
rename from sw/qa/uitest/writer_tests7/tdf143785.py
rename to sw/qa/uitest/writer_tests8/tdf143785.py
diff --git a/sw/qa/uitest/writer_tests7/tdf144439.py 
b/sw/qa/uitest/writer_tests8/tdf144439.py
similarity index 100%
rename from sw/qa/uitest/writer_tests7/tdf144439.py
rename to sw/qa/uitest/writer_tests8/tdf144439.py
diff --git a/sw/qa/uitest/writer_tests7/tdf144578.py 
b/sw/qa/uitest/writer_tests8/tdf144578.py
similarity index 100%
rename from sw/qa/uitest/writer_tests7/tdf144578.py
rename to sw/qa/uitest/writer_tests8/tdf144578.py
diff --git a/sw/qa/uitest/writer_tests7/tdf145093.py 
b/sw/qa/uitest/writer_tests8/tdf145093.py
similarity index 100%
rename from sw/qa/uitest/writer_tests7/tdf145093.py
rename to sw/qa/uitest/writer_tests8/tdf145093.py
diff --git a/sw/qa/uitest/writer_tests7/tdf145158.py 
b/sw/qa/uitest/writer_tests8/tdf145158.py
similarity index 100%
rename from sw/qa/uitest/writer_tests7/tdf145158.py
rename to sw/qa/uitest/writer_tests8/tdf145158.py
diff --git a/sw/qa/uitest/writer_tests7/tdf145178.py 
b/sw/qa/uitest/writer_tests8/tdf145178.py
similarity index 100%
rename from sw/qa/uitest/writer_tests7/tdf145178.py
rename to sw/qa/uitest/writer_tests8/tdf145178.py
diff --git a/sw/qa/uitest/writer_tests7/tdf146605.py 
b/sw/qa/uitest/writer_tests8/tdf146605.py
similarity index 100%
rename from sw/qa/uitest/writer_tests7/tdf146605.py
rename to sw/qa/uitest/writer_tests8/tdf146605.py
diff --git a/sw/qa/uitest/writer_tests7/tdf150443.py 
b/sw/qa/uitest/writer_tests8/tdf150443.py
similarity index 100%
rename from sw/qa/uitest/writer_tests7/tdf150443.py
rename to sw/qa/uitest/writer_tests8/tdf150443.py
diff --git a/sw/qa/uitest/writer_tests7/tdf156783.py 
b/sw/qa/uitest/writer_tests8/tdf156783.py
similarity index 100%
rename from sw/qa/uitest/writer_tests7/tdf156783.py
rename to sw/qa/uitest/writer_tests8/tdf156783.py
diff --git a/sw/qa/uitest/writer_tests7/tdf156784.py 
b/sw/qa/uitest/writer_tests8/tdf156784.py
similarity index 100%
rename from sw/qa/uitest/writer_tests7/tdf156784.py
rename to sw/qa/uitest/writer_tests8/tdf156784.py
diff --git a/sw/qa/uitest/writer_tests7/tdf156900.py 
b/sw/qa/uitest/writer_tests8/tdf156900.py
similarity index 100%
rename from sw/qa/uitest/writer_tests7/tdf156900.py
rename to sw/qa/uitest/writer_tests8/tdf156900.py


core.git: 2 commits - sc/qa sw/qa

2024-02-14 Thread Xisco Fauli (via logerrit)
 sc/qa/uitest/calc_tests9/tdf159707.py   |   33 ++
 sc/qa/uitest/data/tdf159707.xls |binary
 sw/qa/uitest/data/tdf157569.docx|binary
 sw/qa/uitest/writer_tests6/tdf157569.py |   47 
 4 files changed, 80 insertions(+)

New commits:
commit 582dbb28efb39d93b6f9197590a5c64b69dec393
Author: Xisco Fauli 
AuthorDate: Wed Feb 14 16:31:07 2024 +0100
Commit: Xisco Fauli 
CommitDate: Thu Feb 15 08:56:50 2024 +0100

tdf#1575639: sw: Add UItest

I tried to implement this test as a CppUnittest but it fails with

- Expression: false
- Unexpected dialog: Error activating object Error: General OLE error.

See https://gerrit.libreoffice.org/c/core/+/160917

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

diff --git a/sw/qa/uitest/data/tdf157569.docx b/sw/qa/uitest/data/tdf157569.docx
new file mode 100644
index ..2143a831a0dd
Binary files /dev/null and b/sw/qa/uitest/data/tdf157569.docx differ
diff --git a/sw/qa/uitest/writer_tests6/tdf157569.py 
b/sw/qa/uitest/writer_tests6/tdf157569.py
new file mode 100644
index ..1a9e3344ac8c
--- /dev/null
+++ b/sw/qa/uitest/writer_tests6/tdf157569.py
@@ -0,0 +1,47 @@
+# -*- tab-width: 4; indent-tabs-mode: nil; py-indent-offset: 4 -*-
+#
+# This file is part of the LibreOffice project.
+#
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+#
+from uitest.framework import UITestCase
+from uitest.uihelper.common import get_url_for_data_file
+from libreoffice.uno.propertyvalue import mkPropertyValues
+
+class tdf157569(UITestCase):
+
+def test_tdf157569(self):
+with self.ui_test.load_file(get_url_for_data_file("tdf157569.docx")) 
as document:
+
+xShape = document.getDrawPages()[0][0]
+nHeight = xShape.getSize().Height
+nWidth = xShape.getSize().Width
+
+# Without the fix in place, this test would have failed with
+# AssertionError: 1663 != 944
+self.assertEqual(1663, nHeight)
+self.assertEqual(2111, nWidth)
+
+xDoc = self.xUITest.getTopFocusWindow()
+xEditWin = xDoc.getChild("writer_edit")
+
+# Select the formula
+self.xUITest.executeCommand(".uno:JumpToNextFrame")
+xEditWin.executeAction("SELECT", 
mkPropertyValues({"OBJECT":"Object1"}))
+self.assertEqual("SwXTextEmbeddedObject", 
document.CurrentSelection.getImplementationName())
+
+# Go into edit mode
+xEditWin.executeAction("TYPE", 
mkPropertyValues({"KEYCODE":"RETURN"}))
+
+self.assertEqual(nHeight, xShape.getSize().Height)
+self.assertEqual(nWidth, xShape.getSize().Width)
+
+# leave edit mode
+xEditWin.executeAction("TYPE", mkPropertyValues({"KEYCODE":"ESC"}))
+
+self.assertEqual(nHeight, xShape.getSize().Height)
+self.assertEqual(nWidth, xShape.getSize().Width)
+
+# vim: set shiftwidth=4 softtabstop=4 expandtab:
commit fc1e5bf5c1c75acd6bb8f62b9363aa1a30b9acd6
Author: Xisco Fauli 
AuthorDate: Wed Feb 14 12:25:47 2024 +0100
Commit: Xisco Fauli 
CommitDate: Thu Feb 15 08:56:42 2024 +0100

tdf#159707: sc: Add UItest

I tried to create this test as a Cppunittest but it fails with

Run: 1   Failure total: 2   Failures: 1   Errors: 1
warn:vcl:428912:428912:vcl/source/app/svmain.cxx:494: DeInitVCL: some top 
Windows are still alive
text = "" type = "14FloatingWindow", ptr = 0x5608715e49e0
text = "tdf159707.xls (read-only) — LibreOfficeDev Calc" type = 
"10WorkWindow", ptr = 0x5608709ab420

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

diff --git a/sc/qa/uitest/calc_tests9/tdf159707.py 
b/sc/qa/uitest/calc_tests9/tdf159707.py
new file mode 100644
index ..1e7b240f4b56
--- /dev/null
+++ b/sc/qa/uitest/calc_tests9/tdf159707.py
@@ -0,0 +1,33 @@
+# -*- tab-width: 4; indent-tabs-mode: nil; py-indent-offset: 4 -*-
+#
+# This file is part of the LibreOffice project.
+#
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+#
+from uitest.framework import UITestCase
+from uitest.uihelper.common import get_url_for_data_file
+
+from libreoffice.uno.propertyvalue import mkPropertyValues
+from com.sun.star.beans import PropertyValue
+
+class tdf159707(UITestCase):
+
+def test_tdf159707(self):
+
+with self.ui_test.load_file(get_url_for_data_file("tdf1597

Re: Our Clang --enable-pch setup is known broken

2024-02-14 Thread Stephan Bergmann

On 2/13/24 16:39, Stephan Bergmann wrote:
Maybe somebody has the inclination to dig into our artisanal approach 
and fix it (I assume that would involve fixing the underlying Clang 
machinery that we tap into there), or rework gbuild to use Clang's 
documented PCH approach.  Otherwise, I'd suggest to stick to the tried 
and tested approach of not trying to use PCH in the first place...


or  "Work around some 
Clang PCH consteval issue by disabling HAVE_CPP_CONSTEVAL" to the 
rescue, for now


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

2024-02-14 Thread Xisco Fauli (via logerrit)
 filter/qa/unit/svg.cxx |   96 ++---
 include/test/unoapixml_test.hxx|7 ++
 sw/qa/extras/fodfexport/fodfexport.cxx |   36 ++--
 sw/qa/inc/swmodeltestbase.hxx  |7 --
 sw/qa/unit/swmodeltestbase.cxx |6 --
 test/source/unoapixml_test.cxx |6 ++
 6 files changed, 53 insertions(+), 105 deletions(-)

New commits:
commit a04a555497b054e83bc7c8462ba342286508d3a5
Author: Xisco Fauli 
AuthorDate: Tue Feb 13 14:35:33 2024 +0100
Commit: Xisco Fauli 
CommitDate: Thu Feb 15 08:36:05 2024 +0100

UnoApiXmlTest: factor out common code

Change-Id: I5c7f76b61a0dab8b4ebd1ac4680a7c25f982680c
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/163307
Tested-by: Jenkins
Reviewed-by: Xisco Fauli 
Signed-off-by: Xisco Fauli 
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/163376

diff --git a/filter/qa/unit/svg.cxx b/filter/qa/unit/svg.cxx
index 8e4f5f5130a4..30a47557f9bb 100644
--- a/filter/qa/unit/svg.cxx
+++ b/filter/qa/unit/svg.cxx
@@ -19,6 +19,7 @@
 #include 
 #include 
 
+#include 
 #include 
 #include 
 #include 
@@ -53,18 +54,13 @@ CPPUNIT_TEST_FIXTURE(SvgFilterTest, testPreserveJpg)
 dispatchCommand(mxComponent, ".uno:JumpToNextFrame", {});
 
 // Export the selection to SVG.
-uno::Reference xStorable(mxComponent, 
uno::UNO_QUERY_THROW);
-SvMemoryStream aStream;
-uno::Reference xOut = new 
utl::OOutputStreamWrapper(aStream);
-utl::MediaDescriptor aMediaDescriptor;
-aMediaDescriptor["FilterName"] <<= OUString("writer_svg_Export");
-aMediaDescriptor["SelectionOnly"] <<= true;
-aMediaDescriptor["OutputStream"] <<= xOut;
-xStorable->storeToURL("private:stream", 
aMediaDescriptor.getAsConstPropertyValueList());
-aStream.Seek(STREAM_SEEK_TO_BEGIN);
+saveWithParams({
+comphelper::makePropertyValue("FilterName", u"writer_svg_Export"_ustr),
+comphelper::makePropertyValue("SelectionOnly", true),
+});
 
 // Make sure that the original JPG data is reused and we don't perform a 
PNG re-compress.
-xmlDocUniquePtr pXmlDoc = parseXmlStream(&aStream);
+xmlDocUniquePtr pXmlDoc = parseExportedFile();
 OUString aAttributeValue = getXPath(pXmlDoc, "//svg:image"_ostr, 
"href"_ostr);
 
 // Without the accompanying fix in place, this test would have failed with:
@@ -81,17 +77,10 @@ CPPUNIT_TEST_FIXTURE(SvgFilterTest, testSemiTransparentLine)
 loadFromFile(u"semi-transparent-line.odg");
 
 // Export it to SVG.
-uno::Reference xStorable(mxComponent, 
uno::UNO_QUERY_THROW);
-SvMemoryStream aStream;
-uno::Reference xOut = new 
utl::OOutputStreamWrapper(aStream);
-utl::MediaDescriptor aMediaDescriptor;
-aMediaDescriptor["FilterName"] <<= OUString("draw_svg_Export");
-aMediaDescriptor["OutputStream"] <<= xOut;
-xStorable->storeToURL("private:stream", 
aMediaDescriptor.getAsConstPropertyValueList());
-aStream.Seek(STREAM_SEEK_TO_BEGIN);
+save("draw_svg_Export");
 
 // Get the style of the group around the actual  element.
-xmlDocUniquePtr pXmlDoc = parseXmlStream(&aStream);
+xmlDocUniquePtr pXmlDoc = parseExportedFile();
 OUString aStyle = getXPath(
 pXmlDoc, 
"//svg:g[@class='com.sun.star.drawing.LineShape']/svg:g/svg:g"_ostr, 
"style"_ostr);
 // Without the accompanying fix in place, this test would have failed, as 
the style was
@@ -108,17 +97,10 @@ CPPUNIT_TEST_FIXTURE(SvgFilterTest, 
testSemiTransparentFillWithTransparentLine)
 loadFromFile(u"semi-transparent-fill.odg");
 
 // Export it to SVG.
-uno::Reference xStorable(mxComponent, 
uno::UNO_QUERY_THROW);
-SvMemoryStream aStream;
-uno::Reference xOut = new 
utl::OOutputStreamWrapper(aStream);
-utl::MediaDescriptor aMediaDescriptor;
-aMediaDescriptor["FilterName"] <<= OUString("draw_svg_Export");
-aMediaDescriptor["OutputStream"] <<= xOut;
-xStorable->storeToURL("private:stream", 
aMediaDescriptor.getAsConstPropertyValueList());
-aStream.Seek(STREAM_SEEK_TO_BEGIN);
+save("draw_svg_Export");
 
 // Get the style of the group around the actual  element.
-xmlDocUniquePtr pXmlDoc = parseXmlStream(&aStream);
+xmlDocUniquePtr pXmlDoc = parseExportedFile();
 OUString aStyle
 = getXPath(pXmlDoc, 
"//svg:g[@class='com.sun.star.drawing.EllipseShape']/svg:g/svg:g"_ostr,
"style"_ostr);
@@ -146,18 +128,9 @@ CPPUNIT_TEST_FIXTURE(SvgFilterTest, 
testSemiTransparentText)
 loadFromFile(u"TransparentText.odg");
 
 // Export to SVG.
-uno::Reference xStorable(mxComponent, 
uno::UNO_QUERY_THROW);
-
-SvMemoryStream aStream;
-uno::Reference xOut = new 
utl::OOutputStreamWrapper(aStream);
-utl::MediaDescriptor aMediaDescriptor;
-aMediaDescriptor["FilterName"] <<= OUString("draw_svg_Export");
-aMediaDescriptor["OutputStream"] <<= xOut;
-xStorable->storeToURL("private:stream", 
aMediaDescriptor.getAsCons

core.git: Branch 'distro/collabora/co-24.04' - download.lst

2024-02-14 Thread Andras Timar (via logerrit)
 download.lst |4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

New commits:
commit 3682749333934523e24521eebb34570cfb283713
Author: Andras Timar 
AuthorDate: Wed Feb 14 22:18:30 2024 +0100
Commit: Andras Timar 
CommitDate: Thu Feb 15 08:18:02 2024 +0100

nss: upgrade to release 3.97

Change-Id: If0eaf6a93f57239d81491c635922745bf3f38fd5
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/163391
Tested-by: Jenkins CollaboraOffice 
Reviewed-by: Andras Timar 

diff --git a/download.lst b/download.lst
index 75917e55d553..db9dde12b00a 100644
--- a/download.lst
+++ b/download.lst
@@ -540,8 +540,8 @@ MYTHES_TARBALL := mythes-1.2.5.tar.xz
 # three static lines
 # so that git cherry-pick
 # will not run into conflicts
-NSS_SHA256SUM := 
f78ab1d911cae8bbc94758fb3bd0f731df4087423a4ff5db271ba65381f6b739
-NSS_TARBALL := nss-3.90-with-nspr-4.35.tar.gz
+NSS_SHA256SUM := 
a7a920d295998563b33d9e06c1a36b799201493d81b64537fab42f2a733411ce
+NSS_TARBALL := nss-3.97-with-nspr-4.35.tar.gz
 # three static lines
 # so that git cherry-pick
 # will not run into conflicts


core.git: vcl/qt5

2024-02-14 Thread Michael Weghorn (via logerrit)
 vcl/qt5/QtInstance.cxx |   16 +++-
 1 file changed, 15 insertions(+), 1 deletion(-)

New commits:
commit 9e40fc8c9458b937200ea56c96b89113c74b67f5
Author: Michael Weghorn 
AuthorDate: Wed Feb 14 10:54:59 2024 +0100
Commit: Michael Weghorn 
CommitDate: Thu Feb 15 08:08:05 2024 +0100

tdf#130857 qt weld: Set msg dialog parent

If a parent is passed to `QtInstance::CreateMessageDialog`,
also set a parent for the `QMessageBox` that gets created
there:

If the passed parent is a native Qt one, use that one.
Otherwise, fall back to using the current active top-level
window, which is what usually makes most sense and is better
than having no parent at all.

With this change in place, the message dialog shown
when doing

1) start Writer
2) "File" -> "Properties" -> "Security" -> "Protect"
3) type 2 different passwords and confirm

is now modal and centered on top of the "Enter Password"
dialog on KDE Plasma Wayland when using the qt6 VCL plugin,
while it used to open at the top left of the screen and was
non-modal before.

The new behavior is in line with how it behaves for the
SAL_VCL_QT_NO_WELDED_WIDGETS=1 case.

Change-Id: Ibe95c2f0407edeba0fd9f76744bc087be7df6437
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/163362
Tested-by: Jenkins
Reviewed-by: Omkar Acharekar  
Reviewed-by: Michael Weghorn 

diff --git a/vcl/qt5/QtInstance.cxx b/vcl/qt5/QtInstance.cxx
index f2f8caa6b86a..6b3bd0cc301a 100644
--- a/vcl/qt5/QtInstance.cxx
+++ b/vcl/qt5/QtInstance.cxx
@@ -792,7 +792,21 @@ weld::MessageDialog* 
QtInstance::CreateMessageDialog(weld::Widget* pParent,
 }
 else
 {
-QMessageBox* pMessageBox = new QMessageBox();
+QWidget* pQtParent = nullptr;
+if (pParent)
+{
+if (QtInstanceWidget* pQtInstanceWidget = 
dynamic_cast(pParent))
+{
+pQtParent = pQtInstanceWidget->getQWidget();
+}
+else
+{
+// the parent is not welded/not a native Qt widget; fall back 
to currently active window
+pQtParent = QApplication::activeWindow();
+}
+}
+
+QMessageBox* pMessageBox = new QMessageBox(pQtParent);
 pMessageBox->setText(toQString(rPrimaryMessage));
 pMessageBox->setIcon(vclMessageTypeToQtIcon(eMessageType));
 pMessageBox->setWindowTitle(vclMessageTypeToQtTitle(eMessageType));


core.git: 2 commits - vcl/inc vcl/qt5

2024-02-14 Thread Michael Weghorn (via logerrit)
 vcl/inc/qt5/QtInstanceContainer.hxx |2 ++
 vcl/inc/qt5/QtInstanceDialog.hxx|2 +-
 vcl/inc/qt5/QtInstanceWidget.hxx|6 ++
 vcl/inc/qt5/QtInstanceWindow.hxx|2 --
 vcl/qt5/QtInstanceContainer.cxx |5 +
 vcl/qt5/QtInstanceDialog.cxx|4 ++--
 vcl/qt5/QtInstanceWidget.cxx|6 ++
 vcl/qt5/QtInstanceWindow.cxx|7 +++
 8 files changed, 25 insertions(+), 9 deletions(-)

New commits:
commit 6712963e231e7ab50a3d11b8a8c75e54e0c79b32
Author: Michael Weghorn 
AuthorDate: Wed Feb 14 10:54:00 2024 +0100
Commit: Michael Weghorn 
CommitDate: Thu Feb 15 08:07:42 2024 +0100

tdf#130857 qt weld: Implement QtInstanceDialog::{g,s}et_modal

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

diff --git a/vcl/inc/qt5/QtInstanceDialog.hxx b/vcl/inc/qt5/QtInstanceDialog.hxx
index 04b45d57a31f..303206be7194 100644
--- a/vcl/inc/qt5/QtInstanceDialog.hxx
+++ b/vcl/inc/qt5/QtInstanceDialog.hxx
@@ -37,7 +37,7 @@ public:
 
 virtual void add_button(const OUString&, int, const OUString& rHelpId = 
{}) override;
 
-virtual void set_modal(bool) override;
+virtual void set_modal(bool bModal) override;
 
 virtual bool get_modal() const override;
 
diff --git a/vcl/qt5/QtInstanceDialog.cxx b/vcl/qt5/QtInstanceDialog.cxx
index e65e4b749e13..cdd75cd9675f 100644
--- a/vcl/qt5/QtInstanceDialog.cxx
+++ b/vcl/qt5/QtInstanceDialog.cxx
@@ -41,9 +41,9 @@ void QtInstanceDialog::response(int) {}
 
 void QtInstanceDialog::add_button(const OUString&, int, const OUString&) {}
 
-void QtInstanceDialog::set_modal(bool) {}
+void QtInstanceDialog::set_modal(bool bModal) { m_pDialog->setModal(bModal); }
 
-bool QtInstanceDialog::get_modal() const { return true; }
+bool QtInstanceDialog::get_modal() const { return m_pDialog->isModal(); }
 
 weld::Button* QtInstanceDialog::weld_widget_for_response(int) { return 
nullptr; }
 
commit 092bcd7133c30c0614056928a16baea44704735e
Author: Michael Weghorn 
AuthorDate: Wed Feb 14 10:32:11 2024 +0100
Commit: Michael Weghorn 
CommitDate: Thu Feb 15 08:07:33 2024 +0100

tdf#130857 qt weld: Move QWidget* member to QtInstanceWidget

Move the `m_pWidget` member from `QtInstanceWindow`
to the base class `QtInstanceWidget` and add a getter
for it.

This allows to get the `QWidget` directly from the
base class, which will be used in an upcoming commit.

Change-Id: I9c41b48936e5a6051afb9721dae2fac5add22e4b
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/163360
Tested-by: Jenkins
Reviewed-by: Omkar Acharekar  
Reviewed-by: Michael Weghorn 

diff --git a/vcl/inc/qt5/QtInstanceContainer.hxx 
b/vcl/inc/qt5/QtInstanceContainer.hxx
index 87a89c48bd46..a0cd31869dc6 100644
--- a/vcl/inc/qt5/QtInstanceContainer.hxx
+++ b/vcl/inc/qt5/QtInstanceContainer.hxx
@@ -14,6 +14,8 @@
 class QtInstanceContainer : public QtInstanceWidget, public virtual 
weld::Container
 {
 public:
+QtInstanceContainer(QWidget* pWidget);
+
 virtual void move(weld::Widget*, weld::Container*) override;
 
 virtual css::uno::Reference CreateChildFrame() override;
diff --git a/vcl/inc/qt5/QtInstanceWidget.hxx b/vcl/inc/qt5/QtInstanceWidget.hxx
index ee0c5b8c451d..f5038ee5ad66 100644
--- a/vcl/inc/qt5/QtInstanceWidget.hxx
+++ b/vcl/inc/qt5/QtInstanceWidget.hxx
@@ -21,7 +21,13 @@
 
 class QtInstanceWidget : public virtual weld::Widget
 {
+QWidget* m_pWidget;
+
 public:
+QtInstanceWidget(QWidget* pWidget);
+
+QWidget* getQWidget() const { return m_pWidget; }
+
 virtual void set_sensitive(bool) override;
 
 virtual bool get_sensitive() const override;
diff --git a/vcl/inc/qt5/QtInstanceWindow.hxx b/vcl/inc/qt5/QtInstanceWindow.hxx
index c29863da4f67..db80a6e71458 100644
--- a/vcl/inc/qt5/QtInstanceWindow.hxx
+++ b/vcl/inc/qt5/QtInstanceWindow.hxx
@@ -13,8 +13,6 @@
 
 class QtInstanceWindow : public QtInstanceContainer, public virtual 
weld::Window
 {
-QWidget* m_pWidget;
-
 public:
 QtInstanceWindow(QWidget* pWidget);
 
diff --git a/vcl/qt5/QtInstanceContainer.cxx b/vcl/qt5/QtInstanceContainer.cxx
index e22b1afb2a55..35f0a4bbaa69 100644
--- a/vcl/qt5/QtInstanceContainer.cxx
+++ b/vcl/qt5/QtInstanceContainer.cxx
@@ -9,6 +9,11 @@
 
 #include 
 
+QtInstanceContainer::QtInstanceContainer(QWidget* pWidget)
+: QtInstanceWidget(pWidget)
+{
+}
+
 void QtInstanceContainer::move(weld::Widget*, weld::Container*) {}
 
 css::uno::Reference QtInstanceContainer::CreateChildFrame()
diff --git a/vcl/qt5/QtInstanceWidget.cxx b/vcl/qt5/QtInstanceWidget.cxx
index cbccac8799db..9c17ebe6cb1d 100644
--- a/vcl/qt5/QtInstanceWidget.cxx
+++ b/vcl/qt5/QtInstanceWidget.cxx
@@ -9,6 +9,12 @@
 
 #include 
 
+QtInstanceWidget::QtInstanceWidget(QWidget* pWidget)
+: m_pWidget(pWidget)
+{
+assert(pWidget);
+}
+
 void QtInstanceWidget::set_sensitive(bool) {}
 
 b

core.git: solenv/bin vcl/commonfuzzer.mk

2024-02-14 Thread Caolán McNamara (via logerrit)
 solenv/bin/native-code.py |2 +-
 vcl/commonfuzzer.mk   |1 -
 2 files changed, 1 insertion(+), 2 deletions(-)

New commits:
commit 43d962c27b6efb04d22b05ad8dec08f6056078a0
Author: Caolán McNamara 
AuthorDate: Wed Feb 14 15:21:52 2024 +
Commit: Caolán McNamara 
CommitDate: Wed Feb 14 22:12:17 2024 +0100

ofz: don't need "bib" for fuzzing

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

diff --git a/solenv/bin/native-code.py b/solenv/bin/native-code.py
index 955317ebc0ca..d14db957e3c9 100755
--- a/solenv/bin/native-code.py
+++ b/solenv/bin/native-code.py
@@ -144,7 +144,7 @@ core_constructor_list = [
 ("com_sun_star_comp_extensions_PlainTextFormatter", "#ifdef ANDROID"),
 ("com_sun_star_comp_extensions_SimpleTextFormatter", "#ifdef ANDROID"),
 # extensions/source/bibliography/bib.component
-"extensions_BibliographyLoader_get_implementation",
+("extensions_BibliographyLoader_get_implementation", "#if 
!ENABLE_FUZZERS"),
 # filter/source/config/cache/filterconfig1.component
 "filter_ConfigFlush_get_implementation",
 "filter_TypeDetection_get_implementation",
diff --git a/vcl/commonfuzzer.mk b/vcl/commonfuzzer.mk
index cca33194e9bc..dc967773df91 100644
--- a/vcl/commonfuzzer.mk
+++ b/vcl/commonfuzzer.mk
@@ -57,7 +57,6 @@ fuzzer_core_libraries = \
 basctl \
 basprov \
 ) \
-bib \
 canvastools \
 configmgr \
 cppcanvas \


core.git: sw/inc sw/qa sw/source

2024-02-14 Thread Mike Kaganski (via logerrit)
 sw/inc/crsrsh.hxx |2 
 sw/inc/node.hxx   |2 
 sw/qa/extras/layout/data/largeTopMarginAndHiddenFirstSection.fodt |   15 +
 sw/qa/extras/layout/data/pageBreakInHiddenSection.fodt|   90 
+++
 sw/qa/extras/layout/layout3.cxx   |   68 -
 sw/qa/extras/uiwriter/data/hiddenSectionsAroundPageBreak.fodt |   21 +
 sw/qa/extras/uiwriter/uiwriter9.cxx   |   16 +
 sw/source/core/crsr/crsrsh.cxx|   12 -
 sw/source/core/crsr/pam.cxx   |5 
 sw/source/core/doc/docedt.cxx |4 
 sw/source/core/docnode/ndsect.cxx |4 
 sw/source/core/docnode/nodes.cxx  |6 
 sw/source/core/docnode/section.cxx|7 
 sw/source/core/edit/editsh.cxx|2 
 sw/source/core/inc/frame.hxx  |2 
 sw/source/core/inc/sectfrm.hxx|2 
 sw/source/core/inc/txtfrm.hxx |2 
 sw/source/core/layout/calcmove.cxx|   13 -
 sw/source/core/layout/findfrm.cxx |8 
 sw/source/core/layout/flowfrm.cxx |  119 
--
 sw/source/core/layout/frmtool.cxx |   23 -
 sw/source/core/layout/ftnfrm.cxx  |   10 
 sw/source/core/layout/pagechg.cxx |5 
 sw/source/core/layout/sectfrm.cxx |   37 +++
 sw/source/core/layout/tabfrm.cxx  |6 
 sw/source/core/layout/trvlfrm.cxx |   25 +-
 sw/source/core/text/txtfrm.cxx|   19 -
 27 files changed, 362 insertions(+), 163 deletions(-)

New commits:
commit 0c96119895b347f8eb5bb89f393351bd3c02b9f1
Author: Mike Kaganski 
AuthorDate: Fri Feb 9 11:56:19 2024 +0600
Commit: Mike Kaganski 
CommitDate: Wed Feb 14 21:54:55 2024 +0100

tdf#159565 prerequisite: make hidden sections have zero-height frames

As mentioned in commit bb733957dd39e6f0b9d80bb59eb0177188794797 (tdf#114973
sw: enable SelectAll with hidden para at start/end, 2023-01-27), the hidden
sections didn't have frames. That prevented correct handling of the case
when such a frame was in the beginning of the document.

This change re-implements the hidden section to use 0-height frames, like
hidden paragraphs, as a pre-requisite for a follow-up change.

Some layout breakages noticed while working on this are unit-tested now.

This change needed to handle the case when the first section is hidden, and
then goes a page break with page style. In this case, the page style must
apply to the very first page of the document. Implementing this now, when
the frame that defines the page style is not the first in the document, I
accidentally fixed also the previously broken case when the first paragraph
was hidden. Now the page style defined in the second paragraph's page break
will apply correctly.

This change makes hidden sections break outer section's frames. This means
that when text borders are shown, there will be an artifact in the place of
the hidden sections (a horizontal line breaking outer frame). I suppose
it's not a problem, actually helping to see the layout better, so in line
with the "show text borders" helper functionality. If this proves to be
problematic, this can be handled specially in a follow-up.

Change-Id: I14ebf0559b463186aba28902cd10c5cc978ba456
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/163151
Tested-by: Mike Kaganski 
Reviewed-by: Mike Kaganski 

diff --git a/sw/inc/crsrsh.hxx b/sw/inc/crsrsh.hxx
index 5823a49a1599..eafc6a0c31e4 100644
--- a/sw/inc/crsrsh.hxx
+++ b/sw/inc/crsrsh.hxx
@@ -267,7 +267,7 @@ private:
 SAL_DLLPRIVATE bool LRMargin( bool, bool bAPI = false );
 SAL_DLLPRIVATE bool IsAtLRMargin( bool, bool bAPI = false ) const;
 
-SAL_DLLPRIVATE bool isInHiddenTextFrame(SwShellCursor* pShellCursor);
+SAL_DLLPRIVATE bool isInHiddenFrame(SwShellCursor* pShellCursor);
 
 SAL_DLLPRIVATE bool GoStartWordImpl();
 SAL_DLLPRIVATE bool GoEndWordImpl();
diff --git a/sw/inc/node.hxx b/sw/inc/node.hxx
index de7e24a0b152..b1e3309d596f 100644
--- a/sw/inc/node.hxx
+++ b/sw/inc/node.hxx
@@ -590,7 +590,7 @@ public:
 const SwSection& GetSection() const { return *m_pSection; }
   SwSection& GetSection()   { return *m_pSection; }
 
-SwFrame *MakeFrame( SwFrame* );
+SwFrame* MakeFrame(SwFrame* pSib, bool bHidden);
 
 

core.git: bin/find-mergedlib-can-be-private.classes.results

2024-02-14 Thread Noel Grandin (via logerrit)
 bin/find-mergedlib-can-be-private.classes.results |9 +++--
 1 file changed, 7 insertions(+), 2 deletions(-)

New commits:
commit 3a0807b08f0254e89d361322bce1ef13df3427f2
Author: Noel Grandin 
AuthorDate: Wed Feb 14 09:50:22 2024 +0200
Commit: Noel Grandin 
CommitDate: Wed Feb 14 21:42:54 2024 +0100

update find-mergedlib-can-be-private results file

so that in future I know that these are false positives

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

diff --git a/bin/find-mergedlib-can-be-private.classes.results 
b/bin/find-mergedlib-can-be-private.classes.results
index c1c6acacb493..f8d8d501489f 100644
--- a/bin/find-mergedlib-can-be-private.classes.results
+++ b/bin/find-mergedlib-can-be-private.classes.results
@@ -14,8 +14,6 @@ DropdownDockingWindow
 E3dCompoundObject
 EditUndo
 EnhancedCustomShape
-ErrCode
-ErrCodeMsg
 FixedBitmap
 FixedImage
 FocusListenerMultiplexer
@@ -38,6 +36,7 @@ MetaPolyPolygonAction
 MetaPolygonAction
 MetaTextArrayAction
 MetaWallpaperAction
+MetricFormatter
 MouseListenerMultiplexer
 MouseMotionListenerMultiplexer
 MyThes
@@ -63,6 +62,7 @@ SvxCharView
 SvxShapeGroupAnyD
 SvxShowText
 SvxTPage
+SvxTextForwarder
 SyntaxHighlighter::Tokenizer
 SystemWindow::ImplData
 TBCExtraInfo
@@ -76,11 +76,14 @@ VclDrawingArea
 VclGrid
 WindowListenerMultiplexer
 basegfx::BColorModifier
+basegfx::SystemDependentData
 basegfx::SystemDependentDataHolder
 basegfx::SystemDependentDataManager
 basic::vba
 canvas
 chart
+comphelper::MemoryInputStream
+comphelper::OSLOutputStreamWrapper
 comphelper::date
 connectivity::sdbcx::IObjectCollection
 connectivity::sdbcx::OGroup
@@ -104,6 +107,7 @@ drawinglayer::primitive3d::SdrPrimitive3D
 formula::FormulaTokenIterator::Item
 legacy::CntInt32
 legacy::SfxBool
+oox::IProgressBar
 oox::drawingml::ShapePropertyInfo
 oox::ole::AxControlModelBase
 sdr::SelectionController
@@ -118,3 +122,4 @@ utl::DefaultFontConfiguration
 utl::detail::Options
 vcl::ExtOutDevData
 vcl::ILibreOfficeKitNotifier
+vcl::PrinterController


Minutes from the UX/design meeting 2023-Feb-14

2024-02-14 Thread Heiko Tietze

Present: Sahil, Rafael, Hossein, Heiko
Comments: Stuart, Jean-Francois, Eyal, Stephané, Ady

Tickets/Topics

 * Freeze Zoom as a global LibreOffice preference
   + https://bugs.documentfoundation.org/show_bug.cgi?id=159156
   + assigning +0 to .uno:Zoom100Percent as fixed shortcut (Stuart)
   + though must not touch Ctrl+0 in Writer (Jean-Francois)
   + ignore zoom-in/-out via keyboard or lock zoom (Eyal)
   + could be an option "[ ] No zoom per touch pad" (Rafael)
   => add the option (perhaps macOS only)

 * Comment commands in Calc's menus need to be rearranged
   + https://bugs.documentfoundation.org/show_bug.cgi?id=158653
   + split of comment-related commands is not ideal (Stephané)
 + yet done intentionally for bug 91820
   + not convinced that changing the menus is the best path forward,
 it's basically grouping by action vs object (Ady)
   + other applications go with action-focused menus too (Hossein)
   + no better place for comments than under Sheet (Heiko)
   + when coming from the Notebookbar it feels wrong (Rafael)
   => resolve NAB/WF

 * Dialog Properties bigger then screen
   + https://bugs.documentfoundation.org/show_bug.cgi?id=159409
   + not confirmed, dialog is ~637px in height on win (Stuart)
   + but there is a duplicate report; and report is from gtk3
   + reduce the number of lines for the comments textbox (Hossein)
   + turning the wall of inputs into two columns (Rafael)
 + has the challenge to cover long labels (Heiko)
   + long term solution: add some mechanism to VCL/weld that restricts
 oversized dialogs and automatically adds scrolling (Hossein)
  => do it

 * Page direction not the same as sheet direction
   + https://bugs.documentfoundation.org/show_bug.cgi?id=158601
   + recent bug reports have proven that users do not agree (Ady)
   + if the request is to bind the UI-only setting Sheet > RTL to
 Page Style > Text Direction (the superordinate setting of
 the text direction in cells) the recommendation is to rather
 not do
   + Excel knows a "context" option for the cell direction meaning
 if the entered text is RTL the cell becomes RTL (Hossein)
   + The context option will handle the use case automatically, and
 also handles the situation with bilingual cells (Hossein)
   + problem accepted, solution rejected = WF


OpenPGP_signature.asc
Description: OpenPGP digital signature


core.git: configure.ac

2024-02-14 Thread René Engelhard (via logerrit)
 configure.ac |2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

New commits:
commit 5111a0b9bf3c36cd01beefbc6e47fd45836877d3
Author: René Engelhard 
AuthorDate: Wed Feb 14 18:21:50 2024 +0100
Commit: René Engelhard 
CommitDate: Wed Feb 14 18:52:58 2024 +0100

Revert "configure: clean up not needed abseil libs for the system-abseil 
case"

This reverts commit 89a0933968e4b9160613707301d1f5dd36d97282.

Reason for revert: we still need absl_inlined_vector, Linking test doesn't 
work, this is header-only but we should check for it being there to be sure

Change-Id: I55b4d645876d7080ee41917413e02cba930c9060
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/163349
Tested-by: René Engelhard 
Reviewed-by: René Engelhard 

diff --git a/configure.ac b/configure.ac
index fc0fd16524f3..48b325790b80 100644
--- a/configure.ac
+++ b/configure.ac
@@ -12246,7 +12246,7 @@ if test "$ENABLE_PDFIUM" = "TRUE"; then
 AC_MSG_RESULT([external])
 SYSTEM_ABSEIL=TRUE
 AC_LANG_PUSH([C++])
-PKG_CHECK_MODULES(ABSEIL, absl_bad_variant_access )
+PKG_CHECK_MODULES(ABSEIL, absl_bad_optional_access 
absl_bad_variant_access absl_inlined_vector )
 AC_LANG_POP([C++])
 ABSEIL_CFLAGS=$(printf '%s' "$ABSEIL_CFLAGS" | sed -e 
"s/-I/${ISYSTEM?}/g")
 FilterLibs "${ABSEIL_LIBS}"


core.git: Changes to 'refs/tags/cp-24.04.0-1'

2024-02-14 Thread Michael Meeks (via logerrit)
Tag 'cp-24.04.0-1' created by Andras Timar  at 
2024-02-14 17:29 +

cp-24.04.0-1

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


translations.git: Changes to 'refs/tags/cp-24.04.0-1'

2024-02-14 Thread Christian Lohmaier (via logerrit)
Tag 'cp-24.04.0-1' created by Andras Timar  at 
2024-02-14 17:29 +

cp-24.04.0-1

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


help.git: Changes to 'refs/tags/cp-24.04.0-1'

2024-02-14 Thread Andras Timar (via logerrit)
Tag 'cp-24.04.0-1' created by Andras Timar  at 
2024-02-14 17:29 +

cp-24.04.0-1

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


dictionaries.git: Changes to 'refs/tags/cp-24.04.0-1'

2024-02-14 Thread Marco A.G.Pinto (via logerrit)
Tag 'cp-24.04.0-1' created by Andras Timar  at 
2024-02-14 17:29 +

cp-24.04.0-1

Changes since co-24.04-branch-point:
Marco A.G.Pinto (1):
  tdf#159164 Update the English dictionaries: GB+ZA+AU+CA+US

---
 en/changelog.txt   |   32 +
 en/description.xml |2 
 en/en_AU.aff   |6 
 en/en_CA.aff   |6 
 en/en_GB.aff   |2 
 en/en_GB.dic   | 1191 +
 en/en_US.aff   |6 
 en/en_ZA.aff   |   56 +-
 en/package-description.txt |   10 
 9 files changed, 869 insertions(+), 442 deletions(-)
---


core.git: Branch 'distro/collabora/co-24.04' - desktop/qa desktop/source include/comphelper include/LibreOfficeKit linguistic/source

2024-02-14 Thread Michael Meeks (via logerrit)
 desktop/qa/desktop_lib/test_desktop_lib.cxx |3 ++-
 desktop/source/lib/init.cxx |   23 +++
 include/LibreOfficeKit/LibreOfficeKit.h |3 +++
 include/LibreOfficeKit/LibreOfficeKit.hxx   |   12 +++-
 include/comphelper/lok.hxx  |8 
 linguistic/source/gciterator.cxx|8 
 linguistic/source/gciterator.hxx|7 ++-
 linguistic/source/lngsvcmgr.cxx |8 
 linguistic/source/lngsvcmgr.hxx |7 ++-
 9 files changed, 75 insertions(+), 4 deletions(-)

New commits:
commit 269a307da6bc4f8f4c759662703e20d4b6860f9a
Author: Michael Meeks 
AuthorDate: Tue Feb 6 18:05:09 2024 +
Commit: Michael Meeks 
CommitDate: Wed Feb 14 18:27:16 2024 +0100

lok: implement a joinThreads function - to wind down thread pools.

Necessary to do this before forking on Unix systems; use a
dynamic_cast interface since this is all for internal use.

Change-Id: I8a911322acd4ec5654eb0d14804c09d513a0bd4b
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/163210
Tested-by: Jenkins CollaboraOffice 
Reviewed-by: Michael Meeks 

diff --git a/desktop/qa/desktop_lib/test_desktop_lib.cxx 
b/desktop/qa/desktop_lib/test_desktop_lib.cxx
index d9809cf56ce3..c9f276a67eeb 100644
--- a/desktop/qa/desktop_lib/test_desktop_lib.cxx
+++ b/desktop/qa/desktop_lib/test_desktop_lib.cxx
@@ -3593,10 +3593,11 @@ void DesktopLOKTest::testABI()
 CPPUNIT_ASSERT_EQUAL(classOffset(17), offsetof(struct 
_LibreOfficeKitClass, trimMemory));
 CPPUNIT_ASSERT_EQUAL(classOffset(18), offsetof(struct 
_LibreOfficeKitClass, startURP));
 CPPUNIT_ASSERT_EQUAL(classOffset(19), offsetof(struct 
_LibreOfficeKitClass, stopURP));
+CPPUNIT_ASSERT_EQUAL(classOffset(20), offsetof(struct 
_LibreOfficeKitClass, joinThreads));
 
 // When extending LibreOfficeKit with a new function pointer,  add new 
assert for the offsetof the
 // new function pointer and bump this assert for the size of the class.
-CPPUNIT_ASSERT_EQUAL(classOffset(20), sizeof(struct _LibreOfficeKitClass));
+CPPUNIT_ASSERT_EQUAL(classOffset(21), sizeof(struct _LibreOfficeKitClass));
 
 CPPUNIT_ASSERT_EQUAL(documentClassOffset(0), offsetof(struct 
_LibreOfficeKitDocumentClass, destroy));
 CPPUNIT_ASSERT_EQUAL(documentClassOffset(1), offsetof(struct 
_LibreOfficeKitDocumentClass, saveAs));
diff --git a/desktop/source/lib/init.cxx b/desktop/source/lib/init.cxx
index 0fd3e62a571c..3b97df3faa1c 100644
--- a/desktop/source/lib/init.cxx
+++ b/desktop/source/lib/init.cxx
@@ -2581,6 +2581,8 @@ lo_startURP(LibreOfficeKit* pThis, void* 
pReceiveURPFromLOContext, void* pSendUR
 
 static void lo_stopURP(LibreOfficeKit* pThis, void* pSendURPToLOContext);
 
+static int lo_joinThreads(LibreOfficeKit* pThis);
+
 static void lo_runLoop(LibreOfficeKit* pThis,
LibreOfficeKitPollCallback pPollCallback,
LibreOfficeKitWakeCallback pWakeCallback,
@@ -2625,6 +2627,7 @@ LibLibreOffice_Impl::LibLibreOffice_Impl()
 m_pOfficeClass->trimMemory = lo_trimMemory;
 m_pOfficeClass->startURP = lo_startURP;
 m_pOfficeClass->stopURP = lo_stopURP;
+m_pOfficeClass->joinThreads = lo_joinThreads;
 
 gOfficeClass = m_pOfficeClass;
 }
@@ -3357,6 +3360,26 @@ static void lo_stopURP(LibreOfficeKit* /* pThis */,
 
static_cast(pFunctionBasedURPConnection)->close();
 }
 
+
+static int lo_joinThreads(LibreOfficeKit* /* pThis */)
+{
+comphelper::ThreadPool &pool = 
comphelper::ThreadPool::getSharedOptimalPool();
+pool.joinThreadsIfIdle();
+
+//if (comphelper::getWorkerCount() > 0)
+//return 0;
+
+// Grammar checker thread
+css::uno::Reference xLangSrv =
+css::linguistic2::LinguServiceManager::create(xContext);
+
+auto joinable = dynamic_cast(xLangSrv.get());
+if (joinable && !joinable->joinThreads())
+return 0;
+
+return 1;
+}
+
 static void lo_registerCallback (LibreOfficeKit* pThis,
  LibreOfficeKitCallback pCallback,
  void* pData)
diff --git a/include/LibreOfficeKit/LibreOfficeKit.h 
b/include/LibreOfficeKit/LibreOfficeKit.h
index ed7f4e7f2d28..d924c416eb0b 100644
--- a/include/LibreOfficeKit/LibreOfficeKit.h
+++ b/include/LibreOfficeKit/LibreOfficeKit.h
@@ -140,6 +140,9 @@ struct _LibreOfficeKitClass
 
 /// @see lok::Office::stopURP
 void (*stopURP)(LibreOfficeKit* pThis, void* pSendURPToLOContext);
+
+/// @see lok::Office::joinThreads
+int (*joinThreads)(LibreOfficeKit* pThis);
 };
 
 #define LIBREOFFICEKIT_DOCUMENT_HAS(pDoc,member) 
LIBREOFFICEKIT_HAS_MEMBER(LibreOfficeKitDocumentClass,member,(pDoc)->pClass->nSize)
diff --git a/include/LibreOfficeKit/LibreOfficeKit.hxx 
b/include/LibreOfficeKit/LibreOfficeKit.hxx
index 6f75eb6be5cb..797dd6bca73b 100644
--- a/include/LibreOfficeKit/LibreOfficeKit.hxx
++

core.git: configure.ac

2024-02-14 Thread Miklos Vajna (via logerrit)
 configure.ac |2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

New commits:
commit 89a0933968e4b9160613707301d1f5dd36d97282
Author: Miklos Vajna 
AuthorDate: Wed Feb 14 15:48:58 2024 +0100
Commit: Miklos Vajna 
CommitDate: Wed Feb 14 18:17:00 2024 +0100

configure: clean up not needed abseil libs for the system-abseil case

Noticed by Rene, found by emptying the list and then adding items back
till the linker succeeded again.

Change-Id: I0b68ad8c50659af2d3a9ff3abfad60990f25bd79
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/163378
Tested-by: René Engelhard 
Reviewed-by: René Engelhard 

diff --git a/configure.ac b/configure.ac
index 48b325790b80..fc0fd16524f3 100644
--- a/configure.ac
+++ b/configure.ac
@@ -12246,7 +12246,7 @@ if test "$ENABLE_PDFIUM" = "TRUE"; then
 AC_MSG_RESULT([external])
 SYSTEM_ABSEIL=TRUE
 AC_LANG_PUSH([C++])
-PKG_CHECK_MODULES(ABSEIL, absl_bad_optional_access 
absl_bad_variant_access absl_inlined_vector )
+PKG_CHECK_MODULES(ABSEIL, absl_bad_variant_access )
 AC_LANG_POP([C++])
 ABSEIL_CFLAGS=$(printf '%s' "$ABSEIL_CFLAGS" | sed -e 
"s/-I/${ISYSTEM?}/g")
 FilterLibs "${ABSEIL_LIBS}"


Re: Is it still possible to compile LibreOffice 24 for Linux 32-bit? (part 2)

2024-02-14 Thread Rene Engelhard

Hi,

Am 14.02.24 um 15:50 schrieb Escuelas Linux:
Running 'make' alone fails because all warnings are treated as errors, 
so I added the following parameters



make CFLAGS="-Wno-error" CXXFLAGS="-Wno-error -g1"



Again: --disable-werror.

No need to fiddle with CFLAGS/CXXFLAGS to add -Wno-error.



However, it still stops with the following error:



(snip)

We use system-coin*. (As you did later too which disabled  this 
third-party module). And yes, that one might  have include fixes etc., 
didn't check but pretty likely.




(mdds)


So I copied the newly created mdds folder to liborcus with


cp -r mdds/ 
/home/linux/Downloads/libreoffice-24.2.0.3/workdir/UnpackedTarball/liborcus/src/liborcus/



Interesting. I use system-mdds and system-orcus BUT for 
bookworm-backports I do use internal ones (since it needs newer ones not 
in stable) and this just works, too.


[...]

(coin again)



And appeared a lot of errors that look like:


-

rdf_model.c:1891:17: error: invalid use of incomplete typedef 
'librdf_model' {aka 'struct librdf_model_s'}


1891 | return model->factory->transaction_get_handle(model);


rdfinit.c:162:10: error: invalid use of incomplete typedef 
'librdf_world' {aka 'struct librdf_world_s'}


162 | world->genid_base = 1;

-


Now I installed librdf0-dev and its dependencies, and added the 
following lines to autogen.input:



--with-system-redland


As you probably guessed we do that also ;)


And if there is build fixes (also for 32bit) those packages get it. As 
upstream doesn't do 32bit builds anymore I am quite sure (and we see 
this) that the internal modules might get  problems with that.


Regards,


Rene



Re: Is it still possible to compile LibreOffice 24 for Linux 32-bit? (part 2)

2024-02-14 Thread Rene Engelhard

Hi,

Am 14.02.24 um 17:48 schrieb Rene Engelhard:

Am 14.02.24 um 17:40 schrieb Rene Engelhard:
lobasis is a totally nonsensical name to begin with, exposing 
internals (basis what?) to the public noone needs.




More accurate: Once-have-been internals. There one was a oobasis 
directory in OOo. That's where the name get cargo-culted over.


See 
https://cgit.freedesktop.org/libreoffice/core/log/?qt=grep&q=basis&ofs=50 :)


And I never saw the reason why more -coreXY packages (except maybe epm 
limits?)


Regards,

Rene


Re: Is it still possible to compile LibreOffice 24 for Linux 32-bit? (part 2)

2024-02-14 Thread Rene Engelhard

Hi,

Am 14.02.24 um 17:40 schrieb Rene Engelhard:
lobasis is a totally nonsensical name to begin with, exposing internals 
(basis what?) to the public noone needs.


NO distro calls their packages, ebuilds or whatever lobasis. Neither do 
they come out of LOs build system directly (as those packages do). So 
this question doesn about why it's not called lobasis doesn't really 
make sense.


As I said: the name of the software if LibreOffice -> libreoffice for 
package names (which are defined to be lowercase.).


Regards,

Rene


Re: Is it still possible to compile LibreOffice 24 for Linux 32-bit? (part 2)

2024-02-14 Thread Rene Engelhard

Hi,

Am 14.02.24 um 17:04 schrieb Escuelas Linux:

[ the LO .debs date after Debian did packages and that was carried over 
since ever. oobasisX.Y was done in some OOo time when they thougt they 
should do some "debs", after which they just shipped rpms you needed to 
use alien for ]


Just one more question. Why are the Debian packages of LibreOffice so 
different from the packages produced by the LO source? LO produces a 
bunch of libobasis* packages, while Debian does not offer a single 
libobasis* package, and they do not even match in name or even 
apparent purpose with those produced by LO source.


libreoffice-core


lobasis is a totally nonsensical name to begin with, exposing internals 
(basis what?) to the public noone needs.



Besides that the software is called libreoffice and not lobasis ;) (It 
contains lo, yes, but...)


Perhaps Debian uses LO source as a base, but also manages a custom 
layer to build its deb packages differently? If so, what would be the 
advantages of the Debian packages over the ones generated by LO source?


Integration. Proper packaging. (LO has no "real" packages, it has "stuff 
just packed up in .deb format). Proper dependencies where needed. Lesser 
duplication/getting security fixes directly instead of getting them in a 
later release by syncing third-party libs by just having it use the 
system version of the lib.


More architectures supported (as you say yourself, no i386 there, no 
arm32, ..)


And stuff Debian policy mandates which upstream doesn't do :)


Regards,

Rene



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

2024-02-14 Thread Julien Nabet (via logerrit)
 sfx2/source/doc/sfxbasemodel.cxx |2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

New commits:
commit 39fa034db32fa07a7f2a7afe77f7d1c047b5cad8
Author: Julien Nabet 
AuthorDate: Wed Feb 14 10:21:20 2024 +0100
Commit: Xisco Fauli 
CommitDate: Wed Feb 14 17:37:42 2024 +0100

tdf#159707: fix crash when changing to edit mode (calc)

bt:
0x7f9eb4b902f2 in 
com::sun::star::uno::Reference::operator->() 
const (this=0x55b8c2b54888) at include/com/sun/star/uno/Reference.h:387
0x7f9eb4c03584 in 
ScVbaEventsHelper::notifyEvent(com::sun::star::document::EventObject const&) 
(this=0x55b8c2b54840, rEvent=...) at 
/home/julien/lo/libreoffice/sc/source/ui/vba/vbaeventshelper.cxx:605
0x7f9ef464bd3c in (anonymous 
namespace)::NotifySingleListenerIgnoreRE::operator()(com::sun::star::uno::Reference
 const&) const (this=0x7ffc5044dfc0, listener=uno::Reference to 
(ScVbaEventsHelper *) 0x55b8c2b54870) at 
/home/julien/lo/libreoffice/sfx2/source/doc/sfxbasemodel.cxx:3293
0x7f9ef463b8aa in 
comphelper::OInterfaceContainerHelper3::forEach<(anonymous
 
namespace)::NotifySingleListenerIgnoreRE >((anonymous 
namespace)::NotifySingleListenerIgnoreRE const&)
(this=0x55b8c2735c18, func=...) at 
include/comphelper/interfacecontainer3.hxx:279
0x7f9ef463b010 in SfxBaseModel::postEvent_Impl(rtl::OUString const&, 
com::sun::star::uno::Reference const&, 
com::sun::star::uno::Any const&)
(this=0x55b8c2308ae0, aName="OnUnload", xController=empty uno::Reference, 
supplement=uno::Any(void)) at 
/home/julien/lo/libreoffice/sfx2/source/doc/sfxbasemodel.cxx:3338
0x7f9ef463a089 in SfxBaseModel::Notify(SfxBroadcaster&, SfxHint const&) 
(this=0x55b8c2308ae0, rBC=..., rHint=...) at 
/home/julien/lo/libreoffice/sfx2/source/doc/sfxbasemodel.cxx:2960

See full bt here:
https://bugs.documentfoundation.org/attachment.cgi?id=192546

Regression from:

https://git.libreoffice.org/core/+/d2fccf0117a37f8aab8bb50ece419987f06af6b9%5E%21
"cool#6893 improve listeners in SfxBaseModel"

Change-Id: I372808dade20c47275ab599054d8e9572dc3da4d
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/163356
Reviewed-by: Julien Nabet 
Reviewed-by: Noel Grandin 
Tested-by: Jenkins
(cherry picked from commit 6c6b580428bc527da9af82da743616787617b39b)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/163344
Reviewed-by: Xisco Fauli 

diff --git a/sfx2/source/doc/sfxbasemodel.cxx b/sfx2/source/doc/sfxbasemodel.cxx
index 985af531358d..062c594f2c4f 100644
--- a/sfx2/source/doc/sfxbasemodel.cxx
+++ b/sfx2/source/doc/sfxbasemodel.cxx
@@ -2510,7 +2510,7 @@ void SAL_CALL SfxBaseModel::removeEventListener( const 
Reference< document::XEve
 {
 SfxModelGuard aGuard( *this );
 
-m_pData->m_aEventListeners.removeInterface( aListener );
+m_pData->m_aDocumentEventListeners1.removeInterface( aListener );
 }
 
 //  XShapeEventBroadcaster


core.git: desktop/qa desktop/source include/comphelper include/LibreOfficeKit linguistic/source

2024-02-14 Thread Michael Meeks (via logerrit)
 desktop/qa/desktop_lib/test_desktop_lib.cxx |3 ++-
 desktop/source/lib/init.cxx |   23 +++
 include/LibreOfficeKit/LibreOfficeKit.h |3 +++
 include/LibreOfficeKit/LibreOfficeKit.hxx   |   12 +++-
 include/comphelper/lok.hxx  |8 
 linguistic/source/gciterator.cxx|8 
 linguistic/source/gciterator.hxx|7 ++-
 linguistic/source/lngsvcmgr.cxx |8 
 linguistic/source/lngsvcmgr.hxx |7 ++-
 9 files changed, 75 insertions(+), 4 deletions(-)

New commits:
commit 52f2720af102c9a4800db085bbe09e60e5d6a3c7
Author: Michael Meeks 
AuthorDate: Tue Feb 6 18:05:09 2024 +
Commit: Michael Meeks 
CommitDate: Wed Feb 14 17:29:02 2024 +0100

lok: implement a joinThreads function - to wind down thread pools.

Necessary to do this before forking on Unix systems; use a
dynamic_cast interface since this is all for internal use.

Change-Id: I8a911322acd4ec5654eb0d14804c09d513a0bd4b
Signed-off-by: Michael Meeks 
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/163335
Tested-by: Jenkins

diff --git a/desktop/qa/desktop_lib/test_desktop_lib.cxx 
b/desktop/qa/desktop_lib/test_desktop_lib.cxx
index d9809cf56ce3..c9f276a67eeb 100644
--- a/desktop/qa/desktop_lib/test_desktop_lib.cxx
+++ b/desktop/qa/desktop_lib/test_desktop_lib.cxx
@@ -3593,10 +3593,11 @@ void DesktopLOKTest::testABI()
 CPPUNIT_ASSERT_EQUAL(classOffset(17), offsetof(struct 
_LibreOfficeKitClass, trimMemory));
 CPPUNIT_ASSERT_EQUAL(classOffset(18), offsetof(struct 
_LibreOfficeKitClass, startURP));
 CPPUNIT_ASSERT_EQUAL(classOffset(19), offsetof(struct 
_LibreOfficeKitClass, stopURP));
+CPPUNIT_ASSERT_EQUAL(classOffset(20), offsetof(struct 
_LibreOfficeKitClass, joinThreads));
 
 // When extending LibreOfficeKit with a new function pointer,  add new 
assert for the offsetof the
 // new function pointer and bump this assert for the size of the class.
-CPPUNIT_ASSERT_EQUAL(classOffset(20), sizeof(struct _LibreOfficeKitClass));
+CPPUNIT_ASSERT_EQUAL(classOffset(21), sizeof(struct _LibreOfficeKitClass));
 
 CPPUNIT_ASSERT_EQUAL(documentClassOffset(0), offsetof(struct 
_LibreOfficeKitDocumentClass, destroy));
 CPPUNIT_ASSERT_EQUAL(documentClassOffset(1), offsetof(struct 
_LibreOfficeKitDocumentClass, saveAs));
diff --git a/desktop/source/lib/init.cxx b/desktop/source/lib/init.cxx
index 1742488a7cf9..7d5bbc66d492 100644
--- a/desktop/source/lib/init.cxx
+++ b/desktop/source/lib/init.cxx
@@ -2577,6 +2577,8 @@ lo_startURP(LibreOfficeKit* pThis, void* 
pReceiveURPFromLOContext, void* pSendUR
 
 static void lo_stopURP(LibreOfficeKit* pThis, void* pSendURPToLOContext);
 
+static int lo_joinThreads(LibreOfficeKit* pThis);
+
 static void lo_runLoop(LibreOfficeKit* pThis,
LibreOfficeKitPollCallback pPollCallback,
LibreOfficeKitWakeCallback pWakeCallback,
@@ -2621,6 +2623,7 @@ LibLibreOffice_Impl::LibLibreOffice_Impl()
 m_pOfficeClass->trimMemory = lo_trimMemory;
 m_pOfficeClass->startURP = lo_startURP;
 m_pOfficeClass->stopURP = lo_stopURP;
+m_pOfficeClass->joinThreads = lo_joinThreads;
 
 gOfficeClass = m_pOfficeClass;
 }
@@ -3353,6 +3356,26 @@ static void lo_stopURP(LibreOfficeKit* /* pThis */,
 
static_cast(pFunctionBasedURPConnection)->close();
 }
 
+
+static int lo_joinThreads(LibreOfficeKit* /* pThis */)
+{
+comphelper::ThreadPool &pool = 
comphelper::ThreadPool::getSharedOptimalPool();
+pool.joinThreadsIfIdle();
+
+//if (comphelper::getWorkerCount() > 0)
+//return 0;
+
+// Grammar checker thread
+css::uno::Reference xLangSrv =
+css::linguistic2::LinguServiceManager::create(xContext);
+
+auto joinable = dynamic_cast(xLangSrv.get());
+if (joinable && !joinable->joinThreads())
+return 0;
+
+return 1;
+}
+
 static void lo_registerCallback (LibreOfficeKit* pThis,
  LibreOfficeKitCallback pCallback,
  void* pData)
diff --git a/include/LibreOfficeKit/LibreOfficeKit.h 
b/include/LibreOfficeKit/LibreOfficeKit.h
index 963d7962a6c2..78651128d3ac 100644
--- a/include/LibreOfficeKit/LibreOfficeKit.h
+++ b/include/LibreOfficeKit/LibreOfficeKit.h
@@ -140,6 +140,9 @@ struct _LibreOfficeKitClass
 
 /// @see lok::Office::stopURP
 void (*stopURP)(LibreOfficeKit* pThis, void* pSendURPToLOContext);
+
+/// @see lok::Office::joinThreads
+int (*joinThreads)(LibreOfficeKit* pThis);
 };
 
 #define LIBREOFFICEKIT_DOCUMENT_HAS(pDoc,member) 
LIBREOFFICEKIT_HAS_MEMBER(LibreOfficeKitDocumentClass,member,(pDoc)->pClass->nSize)
diff --git a/include/LibreOfficeKit/LibreOfficeKit.hxx 
b/include/LibreOfficeKit/LibreOfficeKit.hxx
index 29e644900caf..e94053378355 100644
--- a/include/LibreOfficeKit/LibreOfficeKit.hxx
+++ b/include/Lib

core.git: helpcontent2

2024-02-14 Thread Dione Maddern (via logerrit)
 helpcontent2 |2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

New commits:
commit d87206370b840adef6dfd03ed280a1de5635fac6
Author: Dione Maddern 
AuthorDate: Wed Feb 14 17:22:36 2024 +0100
Commit: Gerrit Code Review 
CommitDate: Wed Feb 14 17:22:36 2024 +0100

Update git submodules

* Update helpcontent2 from branch 'master'
  to ac406bcc94724248ab5d2327a65dd0bf821e18c3
  - Remove text/scalc/01/0212.xhp because it has been superseded by 
text/shared/01/05040300.xhp.

Change-Id: I1e38debd8a4a3148bf2f7184544d6208e8eb189b
Reviewed-on: https://gerrit.libreoffice.org/c/help/+/163346
Tested-by: Jenkins
Reviewed-by: Olivier Hallot 

diff --git a/helpcontent2 b/helpcontent2
index 8c2af651f933..ac406bcc9472 16
--- a/helpcontent2
+++ b/helpcontent2
@@ -1 +1 @@
-Subproject commit 8c2af651f93318a13bb9246c3f8c7480f58a67a9
+Subproject commit ac406bcc94724248ab5d2327a65dd0bf821e18c3


help.git: AllLangHelp_scalc.mk source/text

2024-02-14 Thread Dione Maddern (via logerrit)
 AllLangHelp_scalc.mk  |1 
 source/text/scalc/01/0212.xhp |   40 --
 2 files changed, 41 deletions(-)

New commits:
commit ac406bcc94724248ab5d2327a65dd0bf821e18c3
Author: Dione Maddern 
AuthorDate: Wed Feb 14 15:17:49 2024 +0100
Commit: Olivier Hallot 
CommitDate: Wed Feb 14 17:22:36 2024 +0100

Remove text/scalc/01/0212.xhp because it has been superseded by 
text/shared/01/05040300.xhp.

Change-Id: I1e38debd8a4a3148bf2f7184544d6208e8eb189b
Reviewed-on: https://gerrit.libreoffice.org/c/help/+/163346
Tested-by: Jenkins
Reviewed-by: Olivier Hallot 

diff --git a/AllLangHelp_scalc.mk b/AllLangHelp_scalc.mk
index a8d529f631..9038e92f1a 100644
--- a/AllLangHelp_scalc.mk
+++ b/AllLangHelp_scalc.mk
@@ -29,7 +29,6 @@ $(eval $(call gb_AllLangHelp_add_helpfiles,scalc,\
 helpcontent2/source/text/scalc/00/avail_release \
 helpcontent2/source/text/scalc/01/0112 \
 helpcontent2/source/text/scalc/01/0211 \
-helpcontent2/source/text/scalc/01/0212 \
 helpcontent2/source/text/scalc/01/02120100 \
 helpcontent2/source/text/scalc/01/0214 \
 helpcontent2/source/text/scalc/01/02140100 \
diff --git a/source/text/scalc/01/0212.xhp 
b/source/text/scalc/01/0212.xhp
deleted file mode 100644
index e8e06a7171..00
--- a/source/text/scalc/01/0212.xhp
+++ /dev/null
@@ -1,40 +0,0 @@
-
-
-
-
-
-  
-Headers & Footers
-/text/scalc/01/0212.xhp
-  
-
-
-
-
-Headers & 
Footers
-Allows you to define and format 
headers and footers. 
-
-The 
Headers/Footers dialog contains the tabs for defining headers and 
footers. There will be separate tabs for the left and right page headers and 
footers if the Same content left/right option was not marked in 
the Page Style 
dialog.
-
-
-
-
-
-
-


Re: Is it still possible to compile LibreOffice 24 for Linux 32-bit? (part 2)

2024-02-14 Thread Escuelas Linux
Sorry to break the original thread! I made a mistake when I initially
selected the digest format on the mailing list. I could not figure out how
to reply to a message in a thread when I had the digest format, so I turned
it off.

Thanks for the heads up! I was not aware that the latest version of
LibreOffice was also available in the backports section. With that
available, it really is a breeze to install the 24.2 binary packages into a
stable Bookworm base without breaking any dependencies.

Even though I had solved my problem by having recent LibreOffice 32-bit deb
packages available using backports, I continued to try to figure out why I
was not able to compile LibreOffice from source. It seems I was finally
able to compile it, a process I documented in this very thread. Your
suggestion to use the "-g1" parameter was very useful!

Just one more question. Why are the Debian packages of LibreOffice so
different from the packages produced by the LO source? LO produces a bunch
of libobasis* packages, while Debian does not offer a single libobasis*
package, and they do not even match in name or even apparent purpose with
those produced by LO source. Perhaps Debian uses LO source as a base, but
also manages a custom layer to build its deb packages differently? If so,
what would be the advantages of the Debian packages over the ones generated
by LO source?

Thanks again for your support and attention!


core.git: sw/qa

2024-02-14 Thread Xisco Fauli (via logerrit)
 sw/qa/extras/uiwriter/data/tdf131963.docx |binary
 1 file changed

New commits:
commit ede1d73364adbadc7c630c53bd77ec376b239b66
Author: Xisco Fauli 
AuthorDate: Wed Feb 14 12:51:13 2024 +0100
Commit: Xisco Fauli 
CommitDate: Wed Feb 14 16:36:49 2024 +0100

CppunitTest_sw_uiwriter3: replace 'AdvPS88D1' with 'Noto Sans' in file

Executing the test with gb_CppunitTest_set_non_application_font_use
passes now
See https://gerrit.libreoffice.org/c/core/+/95901/comment/48f05796_186dd858

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

diff --git a/sw/qa/extras/uiwriter/data/tdf131963.docx 
b/sw/qa/extras/uiwriter/data/tdf131963.docx
index 15db34ee9dca..57d9ffd9b24d 100644
Binary files a/sw/qa/extras/uiwriter/data/tdf131963.docx and 
b/sw/qa/extras/uiwriter/data/tdf131963.docx differ


Re: Is it still possible to compile LibreOffice 24 for Linux 32-bit? (part 2)

2024-02-14 Thread Escuelas Linux
Dr. Gilbert, sorry about breaking the original thread! I made a mistake
when I initially selected the digest format on the mailing list. I could
not figure out how to reply to a message in a thread when I had the digest
format, so I turned it off.

It was very enlightening to know why a 32-bit system cannot handle more
than 4GB even with PAE.

I have already posted in this thread the process I followed to have a
successful compilation and the exact command lines that caused some error
messages.

Thanks for your help!


core.git: helpcontent2

2024-02-14 Thread Olivier Hallot (via logerrit)
 helpcontent2 |2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

New commits:
commit 2981648653d1cb67f9986b44a93a8cce245ac216
Author: Olivier Hallot 
AuthorDate: Wed Feb 14 12:35:00 2024 -0300
Commit: Gerrit Code Review 
CommitDate: Wed Feb 14 16:35:00 2024 +0100

Update git submodules

* Update helpcontent2 from branch 'master'
  to 8c2af651f93318a13bb9246c3f8c7480f58a67a9
  - Fix typo

Change-Id: I7b035d45b111a01602aa5849d966800b2da1236f
Reviewed-on: https://gerrit.libreoffice.org/c/help/+/163375
Tested-by: Jenkins
Reviewed-by: Adolfo Jayme Barrientos 

diff --git a/helpcontent2 b/helpcontent2
index 8e7e7e2431f1..8c2af651f933 16
--- a/helpcontent2
+++ b/helpcontent2
@@ -1 +1 @@
-Subproject commit 8e7e7e2431f1e3a5369a40d1b7b24191f92ed45e
+Subproject commit 8c2af651f93318a13bb9246c3f8c7480f58a67a9


help.git: source/text

2024-02-14 Thread Olivier Hallot (via logerrit)
 source/text/scalc/01/FormatSparklineMenu.xhp |2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

New commits:
commit 8c2af651f93318a13bb9246c3f8c7480f58a67a9
Author: Olivier Hallot 
AuthorDate: Wed Feb 14 11:21:27 2024 -0300
Commit: Adolfo Jayme Barrientos 
CommitDate: Wed Feb 14 16:35:00 2024 +0100

Fix typo

Change-Id: I7b035d45b111a01602aa5849d966800b2da1236f
Reviewed-on: https://gerrit.libreoffice.org/c/help/+/163375
Tested-by: Jenkins
Reviewed-by: Adolfo Jayme Barrientos 

diff --git a/source/text/scalc/01/FormatSparklineMenu.xhp 
b/source/text/scalc/01/FormatSparklineMenu.xhp
index c89db58803..bb77bab5cc 100644
--- a/source/text/scalc/01/FormatSparklineMenu.xhp
+++ b/source/text/scalc/01/FormatSparklineMenu.xhp
@@ -11,7 +11,7 @@
 
 
 
-FormatSparklineMenu
+Format Sparkline Menu
 /text/scalc/01/FormatSparklineMenu.xhp
 
 


Re: Is it still possible to compile LibreOffice 24 for Linux 32-bit? (part 2)

2024-02-14 Thread Escuelas Linux
Well, thanks to the support of all of you and some figuring on my own, I
was finally able to compile LibreOffice 24.2 for Linux 32-bit.

Let me write about exactly what I did, as it may be helpful for others who
want to compile 24.x on a Debian 12 base.


The source code used is the .tar.xz files available from the official
download section of LibreOffice.


My initial autogen.input


--with-parallelism=16

--with-distro=LibreOfficeLinux

--with-lang=es

--with-myspell-dicts

--enable-release-build

--with-package-format=deb

--disable-dependency-tracking

--with-jdk-home=/usr/lib/jvm/java-17-openjdk-i386/

--with-privacy-policy-url=NO-URL


Running 'make' alone fails because all warnings are treated as errors, so I
added the following parameters


make CFLAGS="-Wno-error" CXXFLAGS="-Wno-error -g1"


However, it still stops with the following error:


-

CoinFinite.cpp: In function 'bool CoinFinite(double)':

CoinFinite.cpp:38:19: error: 'DBL_MAX' was not declared in this scope

38 | return val != DBL_MAX && val != -DBL_MAX;

| ^~~

CoinFinite.cpp:8:1: note: 'DBL_MAX' is defined in header ''; did
you forget to '#include '?

7 | #include "CoinUtilsConfig.h"

+++ |+#include 

8 |

make[5]: *** [Makefile:675: CoinFinite.lo] Error 1

--


By looking at
/home/linux/Downloads/libreoffice-24.2.0.3/workdir/UnpackedTarball/coinmp/CoinUtils/src/CoinFinite.cpp,
it cannot find "cfloat", so I added "#include " at the first line.


Then a new problem appeared.


---

css_types.cpp:9:10: fatal error: mdds/sorted_string_map.hpp: No such file
or directory

9 | #include 

| ^~~~

compilation terminated.

make[5]: *** [Makefile:1289: css_types.lo] Error 1

make[4]: *** [Makefile:2356: all-recursive] Error 1

make[3]: *** [Makefile:1466: all-recursive] Error 1

make[2]: *** [Makefile:1375: all] Error 2

make[1]: ***
[/home/linux/Downloads/libreoffice-24.2.0.3/external/liborcus/ExternalProject_liborcus.mk:85:
/home/linux/Downloads/libreoffice-24.2.0.3/workdir/ExternalProject/liborcus/build]
Error 1

make[1]: *** Waiting for unfinished jobs

-


The css_types.cpp file requires mdds/sorted_string_map.hpp, but there is no
mdds folder under this file! So,


mkdir mdds

cp -r
/home/linux/Downloads/libreoffice-24.2.0.3/workdir/UnpackedTarball/mdds/include/*
.


I ran again ‘make’ with the already mentioned parameters. New error:


--

measurement.cpp:12:10: fatal error: mdds/sorted_string_map.hpp: No such
file or directory

12 | #include 

| ^~~~

compilation terminated.

make[5]: *** [Makefile:2102: liborcus_0.18_la-measurement.lo] Error 1

make[4]: *** [Makefile:2356: all-recursive] Error 1

make[3]: *** [Makefile:1466: all-recursive] Error 1

make[2]: *** [Makefile:1375: all] Error 2

make[1]: ***
[/home/linux/Downloads/libreoffice-24.2.0.3/external/liborcus/ExternalProject_liborcus.mk:85:
/home/linux/Downloads/libreoffice-24.2.0.3/workdir/ExternalProject/liborcus/build]
Error 1

make[1]: *** Waiting for unfinished jobs

--


So I copied the newly created mdds folder to liborcus with


cp -r mdds/
/home/linux/Downloads/libreoffice-24.2.0.3/workdir/UnpackedTarball/liborcus/src/liborcus/


After this, a new error appears after running make:


-

ClpHelperFunctions.hpp:16:4: error: #error "don't have header file for math"

16 | # error "don't have header file for math"

| ^

make[5]: *** [Makefile:931: ClpCholeskyBase.lo] Error 1

make[4]: *** [Makefile:693: all] Error 2

make[3]: *** [Makefile:519: all-recursive] Error 1

make[2]: *** [Makefile:234: all-recursive] Error 1

make[1]: ***
[/home/linux/Downloads/libreoffice-24.2.0.3/external/coinmp/ExternalProject_coinmp.mk:31:
/home/linux/Downloads/libreoffice-24.2.0.3/workdir/ExternalProject/coinmp/build]
Error 1

-


And appeared a lot of errors that look like:


-

rdf_model.c:1891:17: error: invalid use of incomplete typedef
'librdf_model' {aka 'struct librdf_model_s'}

1891 | return model->factory->transaction_get_handle(model);


rdfinit.c:162:10: error: invalid use of incomplete typedef 'librdf_world'
{aka 'struct librdf_world_s'}

162 | world->genid_base = 1;

-


Now I installed librdf0-dev and its dependencies, and added the following
lines to autogen.input:


--with-system-redland

--disable-coinmp


Ran autogen.sh and make with the already mentioned parameters and…
success!, even though in the process there were a lot of daunting warnings
like this one:


---

58: warning: argument 1 value ‘4294967295’ exceeds maximum object size
2147483647 [-Walloc-size-larger-than=]

322 | pShapes.reset(new SwAccessibleObjShape_Impl[rSize]);

---


I'm not sure if adding --disable-coinmp was a good idea (I don't even know
what it's for!), but the resulting binaries seem to work fine. Just in
case, I removed --disable-coinmp and added --with-system-coinmp to
autogen.input. Then I installed coinor-libcoinmp-dev and its dependencies.
Ran autogen.sh and make again. Compilation was 

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

2024-02-14 Thread Miklos Vajna (via logerrit)
 sc/qa/filter/html/html.cxx|   22 ++
 sc/source/filter/html/htmlexp.cxx |   26 ++
 2 files changed, 48 insertions(+)

New commits:
commit 1d30e8bbb945c73aaf4114d927683990b3331dc8
Author: Miklos Vajna 
AuthorDate: Wed Feb 14 09:35:14 2024 +0100
Commit: Miklos Vajna 
CommitDate: Wed Feb 14 15:25:10 2024 +0100

tdf#159483 sc HTML export: handle data-sheets-value attribute for the text 
case

HTML pasting "'01" from google sheets to Calc worked already, but
HTML copying from Calc still converted 01 to 1.

What's required is to emit a general marker in the HTML output and then
the correct data-sheets-value attribute on the relevant  element.

Add a way to inject a marker in ScHTMLExport::WriteBody() (so
data-sheets-* is considered at all) and extend
ScHTMLExport::WriteCell() to write the data-sheets-value attribute for
the text case as a start.

Other types like booleans are not yet handled at export time.

(cherry picked from commit 4e2a4fbeb7c44cc47b3cf803cbcc6cba63b3d481)

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

diff --git a/sc/qa/filter/html/html.cxx b/sc/qa/filter/html/html.cxx
index c6112e357d80..e0d7977c8000 100644
--- a/sc/qa/filter/html/html.cxx
+++ b/sc/qa/filter/html/html.cxx
@@ -192,6 +192,28 @@ CPPUNIT_TEST_FIXTURE(Test, testPasteSingleCell)
  pDoc->GetFormula(/*col=*/2, /*row=*/0, /*tab=*/0));
 CPPUNIT_ASSERT_EQUAL(static_cast(3), pDoc->GetValue(/*col=*/2, 
/*row=*/0, /*tab=*/0));
 }
+
+CPPUNIT_TEST_FIXTURE(Test, testCopyText)
+{
+// Given a document with 01 in A1:
+createScDoc();
+ScDocument* pDoc = getScDoc();
+ScAddress aCellPos(/*nColP=*/0, /*nRowP=*/0, /*nTabP=*/0);
+pDoc->SetString(aCellPos, "'01");
+
+// When copying that text from A1:
+ScImportExport aExporter(*pDoc, aCellPos);
+SvMemoryStream aStream;
+CPPUNIT_ASSERT(aExporter.ExportStream(aStream, OUString(), 
SotClipboardFormatId::HTML));
+
+// Then make sure A1 is text:
+// Without the accompanying fix in place, this test would have failed with:
+// - XPath '//td' no attribute 'data-sheets-value' exist
+// i.e. metadata was missing to avoid converting 01 to 1 (number).
+aStream.Seek(0);
+htmlDocUniquePtr pHtmlDoc = parseHtmlStream(&aStream);
+assertXPath(pHtmlDoc, "//td"_ostr, "data-sheets-value"_ostr, "{ \"1\": 2, 
\"2\": \"01\"}");
+}
 }
 
 CPPUNIT_PLUGIN_IMPLEMENT();
diff --git a/sc/source/filter/html/htmlexp.cxx 
b/sc/source/filter/html/htmlexp.cxx
index 2a3cb6a4f8ae..a2f14f6eff43 100644
--- a/sc/source/filter/html/htmlexp.cxx
+++ b/sc/source/filter/html/htmlexp.cxx
@@ -87,6 +87,7 @@
 #include 
 #include 
 #include 
+#include 
 
 using ::editeng::SvxBorderLine;
 using namespace ::com::sun::star;
@@ -671,6 +672,20 @@ void ScHTMLExport::WriteBody()
 }
 
 rStrm.WriteChar( '>' ); OUT_LF();
+
+// A marker right after  can be used, so that data-sheets-* 
attributes are considered
+// at all. This is disabled by default.
+OString aMarker;
+char* pEnv = getenv("SC_DEBUG_HTML_MARKER");
+if (pEnv)
+{
+aMarker = pEnv;
+}
+else if (comphelper::LibreOfficeKit::isActive())
+{
+aMarker = ""_ostr;
+}
+rStrm.WriteOString(aMarker);
 }
 
 if ( bAll )
@@ -1128,6 +1143,17 @@ void ScHTMLExport::WriteCell( sc::ColumnBlockPosition& 
rBlockPos, SCCOL nCol, SC
 aStrTD.append(HTMLOutFuncs::CreateTableDataOptionsValNum(bValueData, fVal,
 nFormat, *pFormatter, &aNonConvertibleChars));
 
+if (!bValueData)
+{
+// 2 is text.
+tools::JsonWriter aJson;
+aJson.put("1", static_cast(2));
+aJson.put("2", pDoc->GetString(aPos));
+OUString aJsonString = 
OUString::fromUtf8(aJson.finishAndGetAsOString());
+aStrTD.append(" " OOO_STRING_SVTOOLS_HTML_O_DSval "=\""
+  + HTMLOutFuncs::ConvertStringToHTML(aJsonString) + "\"");
+}
+
 TAG_ON(aStrTD.makeStringAndClear());
 
 //write the note for this as the first thing in the tag


core.git: Branch 'distro/collabora/co-24.04' - filter/qa svx/source

2024-02-14 Thread Jaume Pujantell (via logerrit)
 filter/qa/unit/data/text-in-image.odp |binary
 filter/qa/unit/svg.cxx|   25 +
 svx/source/svdraw/svdxcgv.cxx |   63 +-
 3 files changed, 58 insertions(+), 30 deletions(-)

New commits:
commit a85070ec1bd01ed7a3c2149919edc5e4f39da7b6
Author: Jaume Pujantell 
AuthorDate: Tue Feb 13 09:27:00 2024 +0100
Commit: Miklos Vajna 
CommitDate: Wed Feb 14 15:20:02 2024 +0100

tdf#159704 svx: preserve text when getting grpahic from sdrobject

When getting a Graphic object from an SdrGrafObj with text the text was 
lost.

Change-Id: I3a8316511e502b832b65dc72faebaf8c00923c38
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/163293
Tested-by: Jenkins CollaboraOffice 
Reviewed-by: Miklos Vajna 
(cherry picked from commit d0241915eba35c9dc0cc42f322df798a270db00f)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/163343

diff --git a/filter/qa/unit/data/text-in-image.odp 
b/filter/qa/unit/data/text-in-image.odp
new file mode 100644
index ..660e27062373
Binary files /dev/null and b/filter/qa/unit/data/text-in-image.odp differ
diff --git a/filter/qa/unit/svg.cxx b/filter/qa/unit/svg.cxx
index 8e4f5f5130a4..24c5c0fc161f 100644
--- a/filter/qa/unit/svg.cxx
+++ b/filter/qa/unit/svg.cxx
@@ -349,6 +349,31 @@ CPPUNIT_TEST_FIXTURE(SvgFilterTest, testTab)
 assertXPath(pXmlDoc, 
"//svg:g[@class='TextShape']//svg:tspan[@class='TextPosition']"_ostr, 2);
 }
 
+CPPUNIT_TEST_FIXTURE(SvgFilterTest, textInImage)
+{
+// Load document containing empty paragraphs with ids.
+loadFromFile(u"text-in-image.odp");
+
+// Export to SVG.
+uno::Reference xStorable(mxComponent, 
uno::UNO_QUERY_THROW);
+SvMemoryStream aStream;
+uno::Reference xOut = new 
utl::OOutputStreamWrapper(aStream);
+utl::MediaDescriptor aMediaDescriptor;
+aMediaDescriptor["FilterName"] <<= OUString("impress_svg_Export");
+aMediaDescriptor["OutputStream"] <<= xOut;
+xStorable->storeToURL("private:stream", 
aMediaDescriptor.getAsConstPropertyValueList());
+aStream.Seek(STREAM_SEEK_TO_BEGIN);
+
+xmlDocUniquePtr pXmlDoc = parseXmlStream(&aStream);
+
+// We expect the Graphic to have an image and a text
+assertXPath(pXmlDoc, "//svg:g[@class='Graphic']//svg:image"_ostr, 1);
+assertXPath(pXmlDoc, "//svg:g[@class='Graphic']//svg:text"_ostr, 1);
+// Without the accomanying fix, this test would have failed with:
+// - Expected: 1
+// - Actual  : 0
+}
+
 CPPUNIT_PLUGIN_IMPLEMENT();
 
 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/svx/source/svdraw/svdxcgv.cxx b/svx/source/svdraw/svdxcgv.cxx
index 050a99707740..5d16cbae2598 100644
--- a/svx/source/svdraw/svdxcgv.cxx
+++ b/svx/source/svdraw/svdxcgv.cxx
@@ -599,42 +599,45 @@ Graphic SdrExchangeView::GetObjGraphic(const SdrObject& 
rSdrObject, bool bSVG)
 {
 Graphic aRet;
 
-// try to get a graphic from the object first
-const SdrGrafObj* pSdrGrafObj(dynamic_cast< const SdrGrafObj* 
>(&rSdrObject));
-const SdrOle2Obj* pSdrOle2Obj(dynamic_cast< const SdrOle2Obj* 
>(&rSdrObject));
-
-if(pSdrGrafObj)
+if (!rSdrObject.HasText())
 {
-if(pSdrGrafObj->isEmbeddedVectorGraphicData())
+// try to get a graphic from the object first
+const SdrGrafObj* pSdrGrafObj(dynamic_cast(&rSdrObject));
+const SdrOle2Obj* pSdrOle2Obj(dynamic_cast(&rSdrObject));
+
+if (pSdrGrafObj)
 {
-// get Metafile for Svg content
-aRet = pSdrGrafObj->getMetafileFromEmbeddedVectorGraphicData();
+if (pSdrGrafObj->isEmbeddedVectorGraphicData())
+{
+// get Metafile for Svg content
+aRet = pSdrGrafObj->getMetafileFromEmbeddedVectorGraphicData();
+}
+else
+{
+// Make behaviour coherent with metafile
+// recording below (which of course also takes
+// view-transformed objects)
+aRet = pSdrGrafObj->GetTransformedGraphic();
+}
 }
-else
+else if (pSdrOle2Obj)
 {
-// Make behaviour coherent with metafile
-// recording below (which of course also takes
-// view-transformed objects)
-aRet = pSdrGrafObj->GetTransformedGraphic();
-}
-}
-else if(pSdrOle2Obj)
-{
-if(pSdrOle2Obj->GetGraphic())
-{
-aRet = *pSdrOle2Obj->GetGraphic();
+if (pSdrOle2Obj->GetGraphic())
+{
+aRet = *pSdrOle2Obj->GetGraphic();
+}
 }
-}
-else
-{
-// Support extracting a snapshot from video media, if possible.
-const SdrMediaObj* pSdrMediaObj = dynamic_cast(&rSdrObject);
-if (pSdrMediaObj)
+else
 {
-const css::uno::Reference& xGraphic
-= pSdrMediaObj->getSnapshot();
-   

core.git: download.lst external/pdfium

2024-02-14 Thread Miklos Vajna (via logerrit)
 download.lst   |4 -
 external/pdfium/build.patch.1  |   83 +++--
 external/pdfium/inc/pch/precompiled_pdfium.hxx |8 --
 3 files changed, 18 insertions(+), 77 deletions(-)

New commits:
commit 192db287045bf9c6de4272845b36b0cda625a316
Author: Miklos Vajna 
AuthorDate: Wed Feb 14 08:22:37 2024 +0100
Commit: Miklos Vajna 
CommitDate: Wed Feb 14 15:19:14 2024 +0100

Update pdfium to 6296

- external/pdfium/build.patch.1: drop most hunks which no longer apply,
  assuming they were only relevant for the RHEL 7 / C++17 baseline.

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

diff --git a/download.lst b/download.lst
index 15f67f8a409e..f242427f172b 100644
--- a/download.lst
+++ b/download.lst
@@ -523,8 +523,8 @@ PAGEMAKER_TARBALL := libpagemaker-0.0.4.tar.xz
 # three static lines
 # so that git cherry-pick
 # will not run into conflicts
-PDFIUM_SHA256SUM := 
4d3f08fe0e2fda86246832085426616826dcca0912202874428bfbc24d13d95c
-PDFIUM_TARBALL := pdfium-6179.tar.bz2
+PDFIUM_SHA256SUM := 
6bc4dac8f1ef646a9bbd50848cb3fb8a108087ed6b3973bbee5846dc371b646d
+PDFIUM_TARBALL := pdfium-6296.tar.bz2
 # three static lines
 # so that git cherry-pick
 # will not run into conflicts
diff --git a/external/pdfium/build.patch.1 b/external/pdfium/build.patch.1
index 3dbd9427c037..0e8472efe8c8 100644
--- a/external/pdfium/build.patch.1
+++ b/external/pdfium/build.patch.1
@@ -1,61 +1,4 @@
 -*- Mode: diff -*-
-diff --git a/core/fpdfapi/font/cpdf_cidfont.cpp 
b/core/fpdfapi/font/cpdf_cidfont.cpp
-index 7d2d549b8..c4864060a 100644
 a/core/fpdfapi/font/cpdf_cidfont.cpp
-+++ b/core/fpdfapi/font/cpdf_cidfont.cpp
-@@ -754,7 +754,7 @@ int CPDF_CIDFont::GlyphFromCharCode(uint32_t charcode, 
bool* pVertGlyph) {
- uint32_t maccode = CharCodeFromUnicodeForFreetypeEncoding(
- FT_ENCODING_APPLE_ROMAN, name_unicode);
- index = maccode ? FT_Get_Char_Index(face, maccode)
--: FT_Get_Name_Index(face, name);
-+: FT_Get_Name_Index(face, const_cast(name));
-   }
-   if (index == 0 || index == 0x)
- return charcode ? static_cast(charcode) : -1;
-diff --git a/core/fpdfapi/font/cpdf_truetypefont.cpp 
b/core/fpdfapi/font/cpdf_truetypefont.cpp
-index f19ace9d0..562b015f0 100644
 a/core/fpdfapi/font/cpdf_truetypefont.cpp
-+++ b/core/fpdfapi/font/cpdf_truetypefont.cpp
-@@ -90,7 +90,7 @@ void CPDF_TrueTypeFont::LoadGlyphMap() {
-   FT_ENCODING_APPLE_ROMAN,
-   m_Encoding.UnicodeFromCharCode(charcode));
-   if (!maccode) {
--m_GlyphIndex[charcode] = FT_Get_Name_Index(face, name);
-+m_GlyphIndex[charcode] = FT_Get_Name_Index(face, 
const_cast(name));
-   } else {
- m_GlyphIndex[charcode] = FT_Get_Char_Index(face, maccode);
-   }
-@@ -104,7 +104,7 @@ void CPDF_TrueTypeFont::LoadGlyphMap() {
- m_GlyphIndex[charcode] = FT_Get_Char_Index(face, 32);
- continue;
-   }
--  m_GlyphIndex[charcode] = FT_Get_Name_Index(face, name);
-+  m_GlyphIndex[charcode] = FT_Get_Name_Index(face, 
const_cast(name));
-   if (m_GlyphIndex[charcode] != 0 || !bToUnicode)
- continue;
- 
-diff --git a/core/fpdfapi/font/cpdf_type1font.cpp 
b/core/fpdfapi/font/cpdf_type1font.cpp
-index 55510e7d7..2f13f00b8 100644
 a/core/fpdfapi/font/cpdf_type1font.cpp
-+++ b/core/fpdfapi/font/cpdf_type1font.cpp
-@@ -263,7 +263,7 @@ void CPDF_Type1Font::LoadGlyphMap() {
-   static_cast(charcode));
-   if (name) {
- m_Encoding.SetUnicode(charcode, UnicodeFromAdobeName(name));
--m_GlyphIndex[charcode] = FT_Get_Name_Index(m_Font.GetFaceRec(), name);
-+m_GlyphIndex[charcode] = FT_Get_Name_Index(m_Font.GetFaceRec(), 
const_cast(name));
-   } else {
- m_GlyphIndex[charcode] = FT_Get_Char_Index(
- m_Font.GetFaceRec(), static_cast(charcode));
-@@ -294,7 +294,7 @@ void CPDF_Type1Font::LoadGlyphMap() {
-   continue;
- 
- m_Encoding.SetUnicode(charcode, UnicodeFromAdobeName(name));
--m_GlyphIndex[charcode] = FT_Get_Name_Index(m_Font.GetFaceRec(), name);
-+m_GlyphIndex[charcode] = FT_Get_Name_Index(m_Font.GetFaceRec(), 
const_cast(name));
- if (m_GlyphIndex[charcode] != 0)
-   continue;
- 
 diff --git a/core/fpdfdoc/cpdf_metadata.cpp b/core/fpdfdoc/cpdf_metadata.cpp
 index 31564f45f..5858549ef 100644
 --- a/core/fpdfdoc/cpdf_metadata.cpp
@@ -69,19 +12,6 @@ index 31564f45f..5858549ef 100644
  
std::vector unsupported;
CheckForSharedFormInternal(/*depth=*/0, doc->GetRoot(), &unsupported);
-diff --git a/core/fxcodec/jpx/cjpx_decoder.cpp 
b/core/fxcodec/jpx/cjpx_decoder.cpp
-index 2e7a72aa1..65fb3deaa 100644
 a/core/fxcodec/jpx/cjpx_decoder.cpp
-+++ b/c

core.git: filter/qa svx/source

2024-02-14 Thread Jaume Pujantell (via logerrit)
 filter/qa/unit/data/text-in-image.odp |binary
 filter/qa/unit/svg.cxx|   18 +
 svx/source/svdraw/svdxcgv.cxx |   63 +-
 3 files changed, 51 insertions(+), 30 deletions(-)

New commits:
commit 6565e46f3e49173c4c37f8b51450f5352ac08341
Author: Jaume Pujantell 
AuthorDate: Tue Feb 13 09:27:00 2024 +0100
Commit: Miklos Vajna 
CommitDate: Wed Feb 14 14:51:16 2024 +0100

tdf#159704 svx: preserve text when getting grpahic from sdrobject

When getting a Graphic object from an SdrGrafObj with text the text was 
lost.

Change-Id: I3a8316511e502b832b65dc72faebaf8c00923c38
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/163293
Tested-by: Jenkins CollaboraOffice 
Reviewed-by: Miklos Vajna 
(cherry picked from commit d0241915eba35c9dc0cc42f322df798a270db00f)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/163342
Tested-by: Jenkins

diff --git a/filter/qa/unit/data/text-in-image.odp 
b/filter/qa/unit/data/text-in-image.odp
new file mode 100644
index ..660e27062373
Binary files /dev/null and b/filter/qa/unit/data/text-in-image.odp differ
diff --git a/filter/qa/unit/svg.cxx b/filter/qa/unit/svg.cxx
index 30a47557f9bb..4446fa35cb9b 100644
--- a/filter/qa/unit/svg.cxx
+++ b/filter/qa/unit/svg.cxx
@@ -293,6 +293,24 @@ CPPUNIT_TEST_FIXTURE(SvgFilterTest, testTab)
 assertXPath(pXmlDoc, 
"//svg:g[@class='TextShape']//svg:tspan[@class='TextPosition']"_ostr, 2);
 }
 
+CPPUNIT_TEST_FIXTURE(SvgFilterTest, textInImage)
+{
+// Load document containing empty paragraphs with ids.
+loadFromFile(u"text-in-image.odp");
+
+// Export to SVG.
+save("impress_svg_Export");
+
+xmlDocUniquePtr pXmlDoc = parseExportedFile();
+
+// We expect the Graphic to have an image and a text
+assertXPath(pXmlDoc, "//svg:g[@class='Graphic']//svg:image"_ostr, 1);
+assertXPath(pXmlDoc, "//svg:g[@class='Graphic']//svg:text"_ostr, 1);
+// Without the accomanying fix, this test would have failed with:
+// - Expected: 1
+// - Actual  : 0
+}
+
 CPPUNIT_PLUGIN_IMPLEMENT();
 
 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/svx/source/svdraw/svdxcgv.cxx b/svx/source/svdraw/svdxcgv.cxx
index 050a99707740..5d16cbae2598 100644
--- a/svx/source/svdraw/svdxcgv.cxx
+++ b/svx/source/svdraw/svdxcgv.cxx
@@ -599,42 +599,45 @@ Graphic SdrExchangeView::GetObjGraphic(const SdrObject& 
rSdrObject, bool bSVG)
 {
 Graphic aRet;
 
-// try to get a graphic from the object first
-const SdrGrafObj* pSdrGrafObj(dynamic_cast< const SdrGrafObj* 
>(&rSdrObject));
-const SdrOle2Obj* pSdrOle2Obj(dynamic_cast< const SdrOle2Obj* 
>(&rSdrObject));
-
-if(pSdrGrafObj)
+if (!rSdrObject.HasText())
 {
-if(pSdrGrafObj->isEmbeddedVectorGraphicData())
+// try to get a graphic from the object first
+const SdrGrafObj* pSdrGrafObj(dynamic_cast(&rSdrObject));
+const SdrOle2Obj* pSdrOle2Obj(dynamic_cast(&rSdrObject));
+
+if (pSdrGrafObj)
 {
-// get Metafile for Svg content
-aRet = pSdrGrafObj->getMetafileFromEmbeddedVectorGraphicData();
+if (pSdrGrafObj->isEmbeddedVectorGraphicData())
+{
+// get Metafile for Svg content
+aRet = pSdrGrafObj->getMetafileFromEmbeddedVectorGraphicData();
+}
+else
+{
+// Make behaviour coherent with metafile
+// recording below (which of course also takes
+// view-transformed objects)
+aRet = pSdrGrafObj->GetTransformedGraphic();
+}
 }
-else
+else if (pSdrOle2Obj)
 {
-// Make behaviour coherent with metafile
-// recording below (which of course also takes
-// view-transformed objects)
-aRet = pSdrGrafObj->GetTransformedGraphic();
-}
-}
-else if(pSdrOle2Obj)
-{
-if(pSdrOle2Obj->GetGraphic())
-{
-aRet = *pSdrOle2Obj->GetGraphic();
+if (pSdrOle2Obj->GetGraphic())
+{
+aRet = *pSdrOle2Obj->GetGraphic();
+}
 }
-}
-else
-{
-// Support extracting a snapshot from video media, if possible.
-const SdrMediaObj* pSdrMediaObj = dynamic_cast(&rSdrObject);
-if (pSdrMediaObj)
+else
 {
-const css::uno::Reference& xGraphic
-= pSdrMediaObj->getSnapshot();
-if (xGraphic.is())
-aRet = Graphic(xGraphic);
+// Support extracting a snapshot from video media, if possible.
+const SdrMediaObj* pSdrMediaObj = dynamic_cast(&rSdrObject);
+if (pSdrMediaObj)
+{
+const css::uno::Reference& xGraphic
+= pSdrMediaObj->getSnapshot();
+if (xGraphic.is())
+   

core.git: Branch 'feature/cib_contract891c' - translations

2024-02-14 Thread Stephan Bergmann (via logerrit)
 translations |2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

New commits:
commit 8015740d5ea58e88f16350b13fba176322702fae
Author: Stephan Bergmann 
AuthorDate: Wed Feb 14 14:23:34 2024 +0100
Commit: Gerrit Code Review 
CommitDate: Wed Feb 14 14:23:34 2024 +0100

Update git submodules

* Update translations from branch 'feature/cib_contract891c'
  to 344c4f04c017df491bb59f62e2d622b293749590
  - German translation for STR_DANGEROUS_TO_OPEN

diff --git a/translations b/translations
index 90099e80a00e..344c4f04c017 16
--- a/translations
+++ b/translations
@@ -1 +1 @@
-Subproject commit 90099e80a00e6780196777110a5614e0619db2cf
+Subproject commit 344c4f04c017df491bb59f62e2d622b293749590


translations.git: Changes to 'feature/cib_contract891c'

2024-02-14 Thread Stephan Bergmann (via logerrit)
New branch 'feature/cib_contract891c' available with the following commits:
commit 344c4f04c017df491bb59f62e2d622b293749590
Author: Stephan Bergmann 
Date:   Wed Feb 14 13:12:27 2024 +0100

German translation for STR_DANGEROUS_TO_OPEN



core.git: sfx2/source

2024-02-14 Thread Julien Nabet (via logerrit)
 sfx2/source/doc/sfxbasemodel.cxx |2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

New commits:
commit 7c0c8a3ae258808012c3514dadeb02fc0c6fc43b
Author: Julien Nabet 
AuthorDate: Wed Feb 14 10:21:20 2024 +0100
Commit: Xisco Fauli 
CommitDate: Wed Feb 14 14:19:47 2024 +0100

tdf#159707: fix crash when changing to edit mode (calc)

bt:
0x7f9eb4b902f2 in 
com::sun::star::uno::Reference::operator->() 
const (this=0x55b8c2b54888) at include/com/sun/star/uno/Reference.h:387
0x7f9eb4c03584 in 
ScVbaEventsHelper::notifyEvent(com::sun::star::document::EventObject const&) 
(this=0x55b8c2b54840, rEvent=...) at 
/home/julien/lo/libreoffice/sc/source/ui/vba/vbaeventshelper.cxx:605
0x7f9ef464bd3c in (anonymous 
namespace)::NotifySingleListenerIgnoreRE::operator()(com::sun::star::uno::Reference
 const&) const (this=0x7ffc5044dfc0, listener=uno::Reference to 
(ScVbaEventsHelper *) 0x55b8c2b54870) at 
/home/julien/lo/libreoffice/sfx2/source/doc/sfxbasemodel.cxx:3293
0x7f9ef463b8aa in 
comphelper::OInterfaceContainerHelper3::forEach<(anonymous
 
namespace)::NotifySingleListenerIgnoreRE >((anonymous 
namespace)::NotifySingleListenerIgnoreRE const&)
(this=0x55b8c2735c18, func=...) at 
include/comphelper/interfacecontainer3.hxx:279
0x7f9ef463b010 in SfxBaseModel::postEvent_Impl(rtl::OUString const&, 
com::sun::star::uno::Reference const&, 
com::sun::star::uno::Any const&)
(this=0x55b8c2308ae0, aName="OnUnload", xController=empty uno::Reference, 
supplement=uno::Any(void)) at 
/home/julien/lo/libreoffice/sfx2/source/doc/sfxbasemodel.cxx:3338
0x7f9ef463a089 in SfxBaseModel::Notify(SfxBroadcaster&, SfxHint const&) 
(this=0x55b8c2308ae0, rBC=..., rHint=...) at 
/home/julien/lo/libreoffice/sfx2/source/doc/sfxbasemodel.cxx:2960

See full bt here:
https://bugs.documentfoundation.org/attachment.cgi?id=192546

Regression from:

https://git.libreoffice.org/core/+/d2fccf0117a37f8aab8bb50ece419987f06af6b9%5E%21
"cool#6893 improve listeners in SfxBaseModel"

Change-Id: I372808dade20c47275ab599054d8e9572dc3da4d
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/163356
Reviewed-by: Julien Nabet 
Reviewed-by: Noel Grandin 
Tested-by: Jenkins

diff --git a/sfx2/source/doc/sfxbasemodel.cxx b/sfx2/source/doc/sfxbasemodel.cxx
index b1862799b6b7..5de773ac01e2 100644
--- a/sfx2/source/doc/sfxbasemodel.cxx
+++ b/sfx2/source/doc/sfxbasemodel.cxx
@@ -2509,7 +2509,7 @@ void SAL_CALL SfxBaseModel::removeEventListener( const 
Reference< document::XEve
 {
 SfxModelGuard aGuard( *this );
 
-m_pData->m_aEventListeners.removeInterface( aListener );
+m_pData->m_aDocumentEventListeners1.removeInterface( aListener );
 }
 
 //  XShapeEventBroadcaster


core.git: Branch 'feature/cib_contract891c' - sd/source

2024-02-14 Thread Caolán McNamara (via logerrit)
 sd/source/ui/app/sdmod1.cxx |   30 +++---
 1 file changed, 19 insertions(+), 11 deletions(-)

New commits:
commit 6e2b93e5a10d2270e83255e74cb7a727d09d20c8
Author: Caolán McNamara 
AuthorDate: Wed Nov 22 21:14:41 2023 +
Commit: Stephan Bergmann 
CommitDate: Wed Feb 14 14:06:09 2024 +0100

reuse AllowedLinkProtocolFromDocument in impress/draw

Reviewed-on: https://gerrit.libreoffice.org/c/core/+/159843
Tested-by: Jenkins
Reviewed-by: Caolán McNamara 
(cherry picked from commit f0942eed2eb328b04856f20613f5226d66b66a20)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/159759
Reviewed-by: Michael Stahl 
Signed-off-by: Xisco Fauli 
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/159884
Reviewed-by: Miklos Vajna 
Signed-off-by: Xisco Fauli 
(cherry picked from commit 4938e035ff121ec850d5f8c4bae5ab634653ca12)
Conflicts:
sd/source/ui/app/sdmod1.cxx

Change-Id: I73ca4f087946a45dbf92d69a0dc1e769de9b5690
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/163369
Tested-by: Stephan Bergmann 
Reviewed-by: Stephan Bergmann 

diff --git a/sd/source/ui/app/sdmod1.cxx b/sd/source/ui/app/sdmod1.cxx
index 094becb271fc..ccbb96ebaaec 100644
--- a/sd/source/ui/app/sdmod1.cxx
+++ b/sd/source/ui/app/sdmod1.cxx
@@ -34,6 +34,7 @@
 #include 
 #include 
 #include 
+#include 
 #include 
 #include 
 #include 
@@ -48,6 +49,7 @@
 #include "pres.hxx"
 #include "optsitem.hxx"
 #include "ViewShell.hxx"
+#include "Window.hxx"
 #include "sdattr.hxx"
 #include "sdpage.hxx"
 #include "DrawDocShell.hxx"
@@ -208,26 +210,32 @@ void SdModule::Execute(SfxRequest& rReq)
 {
 bool bIntercept = false;
 ::sd::DrawDocShell* pDocShell = dynamic_cast< ::sd::DrawDocShell 
*>( SfxObjectShell::Current() );
-if (pDocShell)
+::sd::ViewShell* pViewShell = pDocShell ? 
pDocShell->GetViewShell() : nullptr;
+if (pViewShell)
 {
-::sd::ViewShell* pViewShell = pDocShell->GetViewShell();
-if (pViewShell)
+if( sd::SlideShow::IsRunning( pViewShell->GetViewShellBase() ) 
)
 {
-if( sd::SlideShow::IsRunning( 
pViewShell->GetViewShellBase() ) )
+// Prevent documents from opening while the slide
+// show is running, except when this request comes
+// from a shape interaction.
+if (rReq.GetArgs() == nullptr)
 {
-// Prevent documents from opening while the slide
-// show is running, except when this request comes
-// from a shape interaction.
-if (rReq.GetArgs() == nullptr)
-{
-bIntercept = true;
-}
+bIntercept = true;
 }
 }
 }
 
 if (!bIntercept)
 {
+if (const SfxStringItem* pURLItem = 
rReq.GetArg(SID_FILE_NAME))
+{
+if (!pViewShell || 
!SfxObjectShell::AllowedLinkProtocolFromDocument(pURLItem->GetValue(),
+   
 pViewShell->GetObjectShell(),
+   
 pViewShell->GetActiveWindow()))
+{
+return;
+}
+}
 SfxGetpApp()->ExecuteSlot(rReq, SfxGetpApp()->GetInterface());
 }
 else


core.git: Branch 'feature/cib_contract891c' - 2 commits - dbaccess/source include/sfx2 sc/source sfx2/source sw/source

2024-02-14 Thread Caolán McNamara (via logerrit)
 dbaccess/source/core/dataaccess/ModelImpl.cxx |3 +-
 include/sfx2/docmacromode.hxx |5 ++-
 include/sfx2/objsh.hxx|6 
 include/sfx2/sfx.hrc  |1 
 sc/source/core/data/global.cxx|8 -
 sfx2/source/appl/app.src  |5 +++
 sfx2/source/doc/docmacromode.cxx  |8 -
 sfx2/source/doc/objmisc.cxx   |   35 +++
 sfx2/source/doc/objxtor.cxx   |1 
 sfx2/source/inc/objshimp.hxx  |3 +-
 sw/source/uibase/wrtsh/wrtsh2.cxx |   38 --
 11 files changed, 92 insertions(+), 21 deletions(-)

New commits:
commit af4985b11d421acb1d7620353714364304fa9f5f
Author: Caolán McNamara 
AuthorDate: Wed Nov 15 11:39:24 2023 +
Commit: Stephan Bergmann 
CommitDate: Wed Feb 14 14:06:01 2024 +0100

reuse AllowedLinkProtocolFromDocument in writer

reorg calc hyperlink check to reuse elsewhere

Change-Id: I20ae3c5df15502c3a0a366fb4a2924c06ffac3d0
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/159487
Tested-by: Jenkins
Reviewed-by: Caolán McNamara 
(cherry picked from commit e6a7537762e19fde446441edd10d301f9b37ce75)

reuse AllowedLinkProtocolFromDocument in writer

Change-Id: Iacf5e313fc6ca5f7d69ca6986a036f0e1ab1f2a0
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/159488
Tested-by: Caolán McNamara 
Reviewed-by: Caolán McNamara 
(cherry picked from commit 32535dfa82200b54296838b52285c054fbe5e51d)

combine these hyperlink dispatchers into one call

Change-Id: Icb7822e811013de648ccf2fbb23a5f0be9e29bb0
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/159489
Tested-by: Caolán McNamara 
Reviewed-by: Caolán McNamara 
(cherry picked from commit 0df175ccc6ea542bc5801f631ff72bed187042eb)

we can have just one LoadURL for writer

Reviewed-on: https://gerrit.libreoffice.org/c/core/+/159557
Tested-by: Jenkins
Reviewed-by: Caolán McNamara 
(cherry picked from commit 521ca9cf6acbae96cf95d9740859c9682212013d)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/159858
Tested-by: Jenkins CollaboraOffice 
Reviewed-by: Miklos Vajna 
(cherry picked from commit e32b8601dbd63cf01497889601d6c9c1241106d6)
(cherry picked from commit 7bd23139442dcd3a9c4aaa4bcfd295c45f49579a)
Conflicts:
include/sfx2/objsh.hxx
sc/source/core/data/global.cxx
sfx2/source/doc/objmisc.cxx
sw/source/uibase/shells/drwtxtex.cxx
sw/source/uibase/wrtsh/wrtsh2.cxx

Change-Id: Ia0162ee1c275292fcf200bad4662e4c2c6b7b972
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/163368
Tested-by: Stephan Bergmann 
Reviewed-by: Stephan Bergmann 

diff --git a/include/sfx2/objsh.hxx b/include/sfx2/objsh.hxx
index 9f96bd6f647d..dc1e0ee5b7f3 100644
--- a/include/sfx2/objsh.hxx
+++ b/include/sfx2/objsh.hxx
@@ -222,6 +222,9 @@ private:
 
 SAL_DLLPRIVATE bool SaveTo_Impl(SfxMedium &rMedium, const SfxItemSet* pSet 
);
 
+// true if the document had macros (or similar) on load to trigger warning 
user
+SAL_DLLPRIVATE bool  GetHadCheckedMacrosOnLoad() const;
+
 protected:
 SfxObjectShell(SfxObjectCreateMode);
 SfxObjectShell(SfxModelFlags);// see 
sfxmodelfactory.hxx
@@ -428,8 +431,8 @@ public:
 voidSetMacroCallsSeenWhileLoading();
 boolGetMacroCallsSeenWhileLoading() const;
 
-// true if the document had macros (or similar) on load to trigger warning 
user
-boolGetHadCheckedMacrosOnLoad() const;
+// true if this type of link, from a document, is allowed by the user to 
be passed to uno:OpenDoc
+static bool AllowedLinkProtocolFromDocument(const 
OUString& rUrl, SfxObjectShell* pObjShell, vcl::Window* pDialogParent);
 
 const css::uno::Sequence< css::beans::PropertyValue >& 
GetModifyPasswordInfo() const;
 boolSetModifyPasswordInfo( const 
css::uno::Sequence< css::beans::PropertyValue >& aInfo );
diff --git a/sc/source/core/data/global.cxx b/sc/source/core/data/global.cxx
index 2bc1817607f0..2f618b6ecdaa 100644
--- a/sc/source/core/data/global.cxx
+++ b/sc/source/core/data/global.cxx
@@ -28,8 +28,6 @@
 #include 
 #include 
 #include 
-#include 
-#include 
 #include 
 #include 
 #include 
@@ -890,34 +888,8 @@ void ScGlobal::OpenURL(const OUString& rURL, const 
OUString& rTarget)
 aReferName = pMed->GetName();
 }
 
-if (INetURLObject(rURL).IsExoticProtocol())
-{
-// Default to ignoring exotic protocols
-bool bAllow = false;
-if (pObjShell)
-{
-// If the document had macros when loaded then follow the allowed 
macro-mode
- 

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

2024-02-14 Thread Miklos Vajna (via logerrit)
 writerfilter/qa/cppunittests/dmapper/DomainMapperTableHandler.cxx|   
36 +-
 writerfilter/qa/cppunittests/dmapper/data/floattable-header-overlap.docx 
|binary
 writerfilter/source/dmapper/DomainMapperTableHandler.cxx |   
20 +
 3 files changed, 52 insertions(+), 4 deletions(-)

New commits:
commit f1307f09e60e715877769e9fa12c0a6313fa0c1a
Author: Miklos Vajna 
AuthorDate: Tue Feb 13 08:09:23 2024 +0100
Commit: Xisco Fauli 
CommitDate: Wed Feb 14 13:50:27 2024 +0100

tdf#159453 sw floattable: fix unexpected overlap of in-header fly and body 
text

Regression from commit e2076cf7a92694bc94bdc9f3173c2bddbe881a89
(tdf#155682 sw floattable: fix DOCX with big pictures causes endless
loop, 2023-10-25), the bugdoc's body text was wrapping around the
floating table from the header, while the expectation was that the top
of the body frame is below the bottom of the header frame.

It seems IsFollowingTextFlow is only needed when the relation of the
floating table is not "page", and this bugdoc has has an examplicit
vertical relation of page.

Solve the problem by limiting the IsFollowingTextFlow=true request for
the floating table to the VertOrientRelation=page case, which fixes the
bugdoc and keeps the old use-case working.

The doc model for the new bugdoc now matches the WW8 import result.

Change-Id: Ia3da65cd52d70b357e448a26a50ffb92a39795e6
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/163290
Reviewed-by: Miklos Vajna 
Tested-by: Jenkins
(cherry picked from commit f74a6ef94ac957e4c146fc9923d30ce6bd31b5ce)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/163286
Reviewed-by: Xisco Fauli 
Signed-off-by: Xisco Fauli 
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/163298

diff --git a/writerfilter/qa/cppunittests/dmapper/DomainMapperTableHandler.cxx 
b/writerfilter/qa/cppunittests/dmapper/DomainMapperTableHandler.cxx
index 7be7da99f219..4843a3e76bb0 100644
--- a/writerfilter/qa/cppunittests/dmapper/DomainMapperTableHandler.cxx
+++ b/writerfilter/qa/cppunittests/dmapper/DomainMapperTableHandler.cxx
@@ -7,7 +7,7 @@
  * file, You can obtain one at http://mozilla.org/MPL/2.0/.
  */
 
-#include 
+#include 
 
 #include 
 #include 
@@ -19,17 +19,18 @@
 #include 
 #include 
 #include 
+#include 
 
 using namespace ::com::sun::star;
 
 namespace
 {
 /// Tests for writerfilter/source/dmapper/DomainMapperTableHandler.cxx.
-class Test : public UnoApiTest
+class Test : public UnoApiXmlTest
 {
 public:
 Test()
-: UnoApiTest("/writerfilter/qa/cppunittests/dmapper/data/")
+: UnoApiXmlTest("/writerfilter/qa/cppunittests/dmapper/data/")
 {
 }
 };
@@ -197,6 +198,35 @@ CPPUNIT_TEST_FIXTURE(Test, 
testDOCXFloatingTableFootnoteRedline)
 uno::Reference xDrawPage = xModel->getDrawPage();
 CPPUNIT_ASSERT_EQUAL(static_cast(0), xDrawPage->getCount());
 }
+
+CPPUNIT_TEST_FIXTURE(Test, testDOCXFloatingTableHeaderBodyOverlap)
+{
+// Given a document with a floating table in a header, the floating table 
extends the header
+// frame:
+// When importing that document:
+loadFromFile(u"floattable-header-overlap.docx");
+
+// Then make sure the fly bottom is less than the top of the body text:
+uno::Reference xModel(mxComponent, uno::UNO_QUERY);
+css::uno::Reference xDumper(xModel->getCurrentController(), 
uno::UNO_QUERY);
+OString aDump = xDumper->dump("layout").toUtf8();
+auto pCharBuffer = reinterpret_cast(aDump.getStr());
+xmlDocUniquePtr pXmlDoc(xmlParseDoc(pCharBuffer));
+sal_Int32 nFlyBottom = getXPath(pXmlDoc, "//fly/infos/bounds", 
"bottom").toInt32();
+// Body text top is body top + height of the first line, that's just a fly 
portion (kind of a
+// top margin).
+sal_Int32 nBodyTop = getXPath(pXmlDoc, 
"//page[1]/body/txt[1]/infos/bounds", "top").toInt32();
+// Without the accompanying fix in place, this test would have failed, the 
first line was not a
+// fly portion but it was actual text, above the floating table.
+assertXPath(pXmlDoc, 
"//page[1]/body/txt[1]/SwParaPortion/SwLineLayout[1]/child::*", "type",
+"PortionType::Fly");
+sal_Int32 nBodyFlyPortionHeight
+= getXPath(pXmlDoc, 
"//page[1]/body/txt[1]/SwParaPortion/SwLineLayout[1]", "height")
+  .toInt32();
+sal_Int32 nBodyTextTop = nBodyTop + nBodyFlyPortionHeight;
+// Fly bottom was 3063, body text top was 7148.
+CPPUNIT_ASSERT_LESS(nBodyTextTop, nFlyBottom);
+}
 }
 
 CPPUNIT_PLUGIN_IMPLEMENT();
diff --git 
a/writerfilter/qa/cppunittests/dmapper/data/floattable-header-overlap.docx 
b/writerfilter/qa/cppunittests/dmapper/data/floattable-header-overlap.docx
new file mode 100644
index ..1230b9f4e07c
Binary files /dev/null and 
b/writerfilter/qa/cppunittests/dmapper/data/floattable-header-overlap.docx 
differ
diff --git a/writerfilter/source/dmapper/Domai

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

2024-02-14 Thread Miklos Vajna (via logerrit)
 writerfilter/qa/cppunittests/dmapper/DomainMapperTableHandler.cxx  |   
14 ++
 writerfilter/qa/cppunittests/dmapper/data/floattable-footnote-redline.docx 
|binary
 writerfilter/source/dmapper/DomainMapperTableHandler.cxx   |   
 7 -
 writerfilter/source/dmapper/SettingsTable.cxx  |   
 2 +
 writerfilter/source/dmapper/SettingsTable.hxx  |   
 2 +
 5 files changed, 24 insertions(+), 1 deletion(-)

New commits:
commit 9589438d53f32ba7b59512d56a6dbd1d28de70a6
Author: Miklos Vajna 
AuthorDate: Tue Jan 30 08:51:20 2024 +0100
Commit: Xisco Fauli 
CommitDate: Wed Feb 14 13:49:56 2024 +0100

tdf#159107 sw floattable: prefer inline table in footnote with change 
tracking

Writer doesn't really support tables in footnotes, see the warning at
the top of SwFlowFrame::MoveFwd(). Still, there is some initial support
for them, since commit 11c51eefe8c3210cef2b5850f401ba67a401d01
(tdf#95806 tdf#125877 tdf#141172 DOCX: fix tables in footnotes,
2021-03-28).  Similarly, redlines really just track insertion and
deletion, but some initial support for table operations were added in
commit eebe4747d2d13545004937bb0267ccfc8ab9d63f (tdf#144270 sw: manage
tracked table (row) deletion/insertion, 2022-01-12).

The combination of these is a bit fragile, but the bugdoc happened to be
imported as an inline table (in a footnote, with recording changes)
before commit d477fa8ac1b0d3ee81427217bbb5950278ab16db (sw floattable:
unconditionally map  to SwFormatFlySplit, 2023-03-17).

Fix the problem by explicitly importing floating tables as inline in the
footnote + redline case to restore the working use-case.

DOCX import of this combination can be enabled again once Writer layout
works for the produced model.

Change-Id: I9cd0a1fabb9807f5117cb5a36ec8597d6646eece
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/162733
Reviewed-by: Miklos Vajna 
Tested-by: Jenkins
(cherry picked from commit af15f8b7f346898677f1eee6521a6be1ff63eb56)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/162716
Reviewed-by: Michael Stahl 
Signed-off-by: Xisco Fauli 
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/163297

diff --git a/writerfilter/qa/cppunittests/dmapper/DomainMapperTableHandler.cxx 
b/writerfilter/qa/cppunittests/dmapper/DomainMapperTableHandler.cxx
index 6d732ec5edc1..7be7da99f219 100644
--- a/writerfilter/qa/cppunittests/dmapper/DomainMapperTableHandler.cxx
+++ b/writerfilter/qa/cppunittests/dmapper/DomainMapperTableHandler.cxx
@@ -183,6 +183,20 @@ CPPUNIT_TEST_FIXTURE(Test, testDOCXFloatingTableHeader)
 // 2233 pages and then there was a layout loop.
 CPPUNIT_ASSERT_EQUAL(static_cast(2), nLastPage);
 }
+
+CPPUNIT_TEST_FIXTURE(Test, testDOCXFloatingTableFootnoteRedline)
+{
+// Given a document with a floating table in a footnote, with track 
changes recorded (but not
+// visible):
+// When importing that document:
+loadFromFile(u"floattable-footnote-redline.docx");
+
+// Then make sure the table is imported as inline, till Writer layout is 
ready to handle
+// floating tables in footnotes:
+uno::Reference xModel(mxComponent, 
uno::UNO_QUERY);
+uno::Reference xDrawPage = xModel->getDrawPage();
+CPPUNIT_ASSERT_EQUAL(static_cast(0), xDrawPage->getCount());
+}
 }
 
 CPPUNIT_PLUGIN_IMPLEMENT();
diff --git 
a/writerfilter/qa/cppunittests/dmapper/data/floattable-footnote-redline.docx 
b/writerfilter/qa/cppunittests/dmapper/data/floattable-footnote-redline.docx
new file mode 100644
index ..10904ce43eb5
Binary files /dev/null and 
b/writerfilter/qa/cppunittests/dmapper/data/floattable-footnote-redline.docx 
differ
diff --git a/writerfilter/source/dmapper/DomainMapperTableHandler.cxx 
b/writerfilter/source/dmapper/DomainMapperTableHandler.cxx
index 7a7fb78f4e15..eda2946a3b9f 100644
--- a/writerfilter/source/dmapper/DomainMapperTableHandler.cxx
+++ b/writerfilter/source/dmapper/DomainMapperTableHandler.cxx
@@ -1603,7 +1603,12 @@ void DomainMapperTableHandler::endTable(unsigned int 
nestedTableLevel)
 // m_xText points to the body text, get the current xText from 
m_rDMapper_Impl, in case e.g. we would be in a header.
 uno::Reference 
xTextAppendAndConvert(m_rDMapper_Impl.GetTopTextAppend(), uno::UNO_QUERY);
 uno::Reference xFrameAnchor;
-if (xTextAppendAndConvert.is())
+
+// Writer layout has problems with redlines on floating table rows 
in footnotes, avoid
+// them.
+bool bInFootnote = m_rDMapper_Impl.IsInFootOrEndnote();
+bool bRecordChanges = 
m_rDMapper_Impl.GetSettingsTable()->GetRecordChanges();
+if (xTextAppendAndConvert.is() && !(bInFootnote && bRecordChanges))
 {
 std::deque aFramedRedlines = 
m_rDMapper_Impl.m_aStoredRedlines[S

core.git: translations

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

New commits:
commit 0f3e2dc248f46619a7d2c082da381dd9534bf2ee
Author: Christian Lohmaier 
AuthorDate: Wed Feb 14 13:43:36 2024 +0100
Commit: Gerrit Code Review 
CommitDate: Wed Feb 14 13:43:36 2024 +0100

Update git submodules

* Update translations from branch 'master'
  to 55632263e22f8b68db3e9b2cfdf4e9f2a8aaa6af
  - update translations for master

and force-fix errors using pocheck

Change-Id: I1e042648f81e0c59b842f5e6a26cdb981db525fc

diff --git a/translations b/translations
index 7eb44b4e6e21..55632263e22f 16
--- a/translations
+++ b/translations
@@ -1 +1 @@
-Subproject commit 7eb44b4e6e21e49027b3caca5f5c85d0aa1f7859
+Subproject commit 55632263e22f8b68db3e9b2cfdf4e9f2a8aaa6af


core.git: i18npool/source

2024-02-14 Thread Noel Grandin (via logerrit)
 i18npool/source/collator/collator_unicode.cxx |2 +-
 i18npool/source/collator/gencoll_rule.cxx |5 -
 2 files changed, 1 insertion(+), 6 deletions(-)

New commits:
commit 164cab17d4125d2a4b6b5cc607c9b316ef46c115
Author: Noel Grandin 
AuthorDate: Wed Feb 14 10:39:46 2024 +0200
Commit: Noel Grandin 
CommitDate: Wed Feb 14 13:30:18 2024 +0100

rename some of the collator function symbols

to prevent conflicts when I merge some of these libraries

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

diff --git a/i18npool/source/collator/collator_unicode.cxx 
b/i18npool/source/collator/collator_unicode.cxx
index a3a1b4f84e66..589c8ad6e6e9 100644
--- a/i18npool/source/collator/collator_unicode.cxx
+++ b/i18npool/source/collator/collator_unicode.cxx
@@ -159,7 +159,7 @@ Collator_Unicode::loadCollatorAlgorithm(const OUString& 
rAlgorithm, const lang::
 constexpr OUString sModuleName( u"" SAL_MODULENAME( "i18npool" ) 
""_ustr );
 hModule = osl_loadModuleRelative( &thisModule, sModuleName.pData, 
SAL_LOADMODULE_DEFAULT );
 if (hModule) {
-OUStringBuffer aBuf("get_" + rLocale.Language + "_");
+OUStringBuffer aBuf("get_collator_data_" + rLocale.Language + 
"_");
 if ( rLocale.Language == "zh" ) {
 OUString func_base = aBuf.makeStringAndClear();
 if (OUString("TW HK MO").indexOf(rLocale.Country) >= 0)
diff --git a/i18npool/source/collator/gencoll_rule.cxx 
b/i18npool/source/collator/gencoll_rule.cxx
index 2d55e0c8917d..d8254f46bb9d 100644
--- a/i18npool/source/collator/gencoll_rule.cxx
+++ b/i18npool/source/collator/gencoll_rule.cxx
@@ -62,13 +62,8 @@ static void data_write(char* file, char* name, sal_uInt8 
*data, sal_Int32 len)
 }
 fprintf(fp, "
};

");
 
-fprintf(fp, "#ifndef DISABLE_DYNLOADING
");
-fprintf(fp, "SAL_DLLPUBLIC_EXPORT const sal_uInt8* get_%s() { return %s; }
", name, name);
-fprintf(fp, "SAL_DLLPUBLIC_EXPORT size_t get_%s_length() { return 
sizeof(%s); }
", name, name);
-fprintf(fp, "#else
");
 fprintf(fp, "SAL_DLLPUBLIC_EXPORT const sal_uInt8* get_collator_data_%s() 
{ return %s; }
", name, name);
 fprintf(fp, "SAL_DLLPUBLIC_EXPORT size_t get_collator_data_%s_length() { 
return sizeof(%s); }
", name, name);
-fprintf(fp, "#endif
");
 fprintf(fp, "
");
 fprintf (fp, "}
");
 


core.git: Changes to 'refs/tags/cp-23.05.9-1'

2024-02-14 Thread Andras Timar (via logerrit)
Tag 'cp-23.05.9-1' created by Andras Timar  at 
2024-02-14 12:04 +

cp-23.05.9-1

Changes since cp-23.05.8-4-26:
---
 0 files changed
---


translations.git: Changes to 'refs/tags/cp-23.05.9-1'

2024-02-14 Thread Andras Timar (via logerrit)
Tag 'cp-23.05.9-1' created by Andras Timar  at 
2024-02-14 12:04 +

cp-23.05.9-1

Changes since cp-23.05.6-4:
Andras Timar (1):
  Update German translation (easy conditional formatting dialog)

---
 source/de/sc/messages.po |  981 +++
 1 file changed, 494 insertions(+), 487 deletions(-)
---


help.git: Changes to 'refs/tags/cp-23.05.9-1'

2024-02-14 Thread Andras Timar (via logerrit)
Tag 'cp-23.05.9-1' created by Andras Timar  at 
2024-02-14 12:04 +

cp-23.05.9-1

Changes since cp-23.05.8-4:
Andras Timar (1):
  Too big enviroment on Windows can cause failure with xargs

---
 CustomTarget_html.mk |4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
---


dictionaries.git: Changes to 'refs/tags/cp-23.05.9-1'

2024-02-14 Thread Andras Timar (via logerrit)
Tag 'cp-23.05.9-1' created by Andras Timar  at 
2024-02-14 12:04 +

cp-23.05.9-1

Changes since co-23.05-branch-point:
Andras Timar (1):
  On Linux dictionaries are packaged separately

---
 Module_dictionaries.mk |6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)
---


core.git: Branch 'distro/collabora/co-23.05' - configure.ac

2024-02-14 Thread Andras Timar (via logerrit)
 configure.ac |2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

New commits:
commit 959a80bf7b140cd7a0bd1dea67ade602529a2457
Author: Andras Timar 
AuthorDate: Wed Feb 14 13:03:47 2024 +0100
Commit: Andras Timar 
CommitDate: Wed Feb 14 13:03:47 2024 +0100

Bump version to 23.05.9.1

Change-Id: Ie7ce6f8a14322f75059d2190c89b5a3d8d9a69b2

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


core.git: bin/update_pch desktop/Pagein_draw.mk desktop/Pagein_impress.mk Repository.mk sd/CppunitTest_sd_dialogs_test.mk sd/inc sd/Library_sd.mk sd/Library_sdui.mk sd/Module_sd.mk sd/source sd/util

2024-02-14 Thread Noel Grandin (via logerrit)
 Repository.mk |1 
 bin/update_pch|1 
 desktop/Pagein_draw.mk|1 
 desktop/Pagein_impress.mk |1 
 sd/CppunitTest_sd_dialogs_test.mk |1 
 sd/Library_sd.mk  |   65 
 sd/Library_sdui.mk|  133 
 sd/Module_sd.mk   |1 
 sd/inc/pch/precompiled_sdui.cxx   |   12 
 sd/inc/pch/precompiled_sdui.hxx   |  529 --
 sd/inc/sdabstdlg.hxx  |2 
 sd/source/console/presenter.component |   18 -
 sd/source/ui/dlg/copydlg.cxx  |   47 +--
 sd/source/ui/dlg/headerfooterdlg.cxx  |5 
 sd/source/ui/dlg/morphdlg.cxx |6 
 sd/source/ui/dlg/sdabstdlg.cxx|   33 --
 sd/source/ui/dlg/sduiexp.cxx  |4 
 sd/util/sd.component  |6 
 18 files changed, 105 insertions(+), 761 deletions(-)

New commits:
commit 2cf7c26293462406d91ee050c6677930065e660b
Author: Noel Grandin 
AuthorDate: Tue Feb 13 14:21:57 2024 +0200
Commit: Noel Grandin 
CommitDate: Wed Feb 14 12:43:43 2024 +0100

merge sdui library into sd

which eliminates another dynamic-symbol lookup and another complication
which was making it harder to do better with --enable-mergedlibs

sd is relatively small, so even the combined library is not as big as
one of the sw and sc libraries

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

diff --git a/Repository.mk b/Repository.mk
index 8c9923bcc6c2..add9133fefa4 100644
--- a/Repository.mk
+++ b/Repository.mk
@@ -517,7 +517,6 @@ $(eval $(call 
gb_Helper_register_plugins_for_install,OOOLIBS,ooo, \
 cui \
 $(if $(USING_X11),desktop_detector) \
 icg \
-sdui \
 $(if $(ENABLE_GEN),vclplug_gen) \
 $(if $(filter $(OS),WNT),vclplug_win) \
 $(if $(filter $(OS),MACOSX),vclplug_osx) \
diff --git a/bin/update_pch b/bin/update_pch
index 4719e5f9269f..e7ede0a5d692 100755
--- a/bin/update_pch
+++ b/bin/update_pch
@@ -92,7 +92,6 @@ DEFAULTS = \
 'sc.scui'   : ( 1, EXCLUDE, EXCLUDE, INCLUDE), #  
15.0
 'sc.vbaobj' : ( 1, EXCLUDE, EXCLUDE, INCLUDE), #  
17.3
 'sd.sd' : ( 4, EXCLUDE, EXCLUDE, INCLUDE), #  
47.4
-'sd.sdui'   : ( 4, EXCLUDE, INCLUDE, INCLUDE), #   
9.4
 'sdext.PresentationMinimizer'   : ( 2, EXCLUDE, INCLUDE, INCLUDE), #   
4.1
 'sdext.PresenterScreen' : ( 2, EXCLUDE, INCLUDE, EXCLUDE), #   
7.1
 'sfx2.sfx'  : ( 3, EXCLUDE, EXCLUDE, EXCLUDE), #  
27.4
diff --git a/desktop/Pagein_draw.mk b/desktop/Pagein_draw.mk
index 2fd0ef6ba4ff..abf7435032d6 100644
--- a/desktop/Pagein_draw.mk
+++ b/desktop/Pagein_draw.mk
@@ -11,7 +11,6 @@ $(eval $(call gb_Pagein_Pagein,draw))
 
 $(eval $(call gb_Pagein_add_objects,draw,\
 sd \
-sdui \
 svx \
 svxcore \
 ))
diff --git a/desktop/Pagein_impress.mk b/desktop/Pagein_impress.mk
index f3e4ff7b6d59..9b15cc1fe1ba 100644
--- a/desktop/Pagein_impress.mk
+++ b/desktop/Pagein_impress.mk
@@ -11,7 +11,6 @@ $(eval $(call gb_Pagein_Pagein,impress))
 
 $(eval $(call gb_Pagein_add_objects,impress,\
 sd \
-sdui \
 svx \
 svxcore \
 ))
diff --git a/sd/CppunitTest_sd_dialogs_test.mk 
b/sd/CppunitTest_sd_dialogs_test.mk
index 839f702de7ef..fd3ca391477f 100644
--- a/sd/CppunitTest_sd_dialogs_test.mk
+++ b/sd/CppunitTest_sd_dialogs_test.mk
@@ -40,7 +40,6 @@ $(eval $(call gb_CppunitTest_use_libraries,sd_dialogs_test, \
 salhelper \
 sax \
 sd \
-sdui \
 sfx \
 sot \
 svl \
diff --git a/sd/Library_sd.mk b/sd/Library_sd.mk
index 01c546ad3dca..8103d5cb0b01 100644
--- a/sd/Library_sd.mk
+++ b/sd/Library_sd.mk
@@ -49,7 +49,6 @@ $(eval $(call gb_Library_set_include,sd,\
 
 $(eval $(call gb_Library_add_defs,sd,\
-DSD_DLLIMPLEMENTATION \
-   -DSDUI_DLL_NAME=\"$(call gb_Library_get_runtime_filename,$(call 
gb_Library__get_name,sdui))\" \
 ))
 
 ifneq ($(strip $(dbg_anim_log)$(DBG_ANIM_LOG)),)
@@ -78,6 +77,7 @@ $(eval $(call gb_Library_use_libraries,sd,\
drawinglayercore \
drawinglayer \
editeng \
+   fwk \
i18nlangtag \
i18nutil \
icg \
@@ -603,4 +603,67 @@ endif # ENABLE_SDREMOTE_BLUETOOTH=TRUE
 
 endif # ENABLE_SDREMOTE=TRUE
 
+$(eval $(call gb_Library_add_exception_objects,sd,\
+sd/source/ui/dlg/brkdlg \
+sd/source/ui/dlg/copydlg \
+sd/source/ui/dlg/custsdlg \
+sd/source/ui/dlg/dlgchar \
+sd/source/ui/dlg/dlgfield \
+sd/source/ui/dlg/dlgolbul \
+sd/source/ui/dlg/dlgpage \
+sd/source/ui/dlg/dlgsnap \
+sd/source/ui/dlg/headerfooterdlg \
+sd/source/ui/dlg/inspagob \
+sd/source/ui/dlg/masterlayoutdlg \
+sd/source/ui/dlg/morphdlg \
+  

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

2024-02-14 Thread Miklos Vajna (via logerrit)
 writerfilter/qa/cppunittests/dmapper/DomainMapperTableHandler.cxx|   
38 +-
 writerfilter/qa/cppunittests/dmapper/data/floattable-header-overlap.docx 
|binary
 writerfilter/source/dmapper/DomainMapperTableHandler.cxx |   
20 +
 3 files changed, 54 insertions(+), 4 deletions(-)

New commits:
commit 20b7286268905798b86a49912ce28a86506747e7
Author: Miklos Vajna 
AuthorDate: Tue Feb 13 08:09:23 2024 +0100
Commit: Miklos Vajna 
CommitDate: Wed Feb 14 11:56:58 2024 +0100

tdf#159453 sw floattable: fix unexpected overlap of in-header fly and body 
text

Regression from commit e2076cf7a92694bc94bdc9f3173c2bddbe881a89
(tdf#155682 sw floattable: fix DOCX with big pictures causes endless
loop, 2023-10-25), the bugdoc's body text was wrapping around the
floating table from the header, while the expectation was that the top
of the body frame is below the bottom of the header frame.

It seems IsFollowingTextFlow is only needed when the relation of the
floating table is not "page", and this bugdoc has has an examplicit
vertical relation of page.

Solve the problem by limiting the IsFollowingTextFlow=true request for
the floating table to the VertOrientRelation=page case, which fixes the
bugdoc and keeps the old use-case working.

The doc model for the new bugdoc now matches the WW8 import result.

(cherry picked from commit f74a6ef94ac957e4c146fc9923d30ce6bd31b5ce)

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

diff --git a/writerfilter/qa/cppunittests/dmapper/DomainMapperTableHandler.cxx 
b/writerfilter/qa/cppunittests/dmapper/DomainMapperTableHandler.cxx
index b72b81913978..5924fb90bc2a 100644
--- a/writerfilter/qa/cppunittests/dmapper/DomainMapperTableHandler.cxx
+++ b/writerfilter/qa/cppunittests/dmapper/DomainMapperTableHandler.cxx
@@ -7,7 +7,7 @@
  * file, You can obtain one at http://mozilla.org/MPL/2.0/.
  */
 
-#include 
+#include 
 
 #include 
 #include 
@@ -19,17 +19,18 @@
 #include 
 #include 
 #include 
+#include 
 
 using namespace ::com::sun::star;
 
 namespace
 {
 /// Tests for writerfilter/source/dmapper/DomainMapperTableHandler.cxx.
-class Test : public UnoApiTest
+class Test : public UnoApiXmlTest
 {
 public:
 Test()
-: UnoApiTest("/writerfilter/qa/cppunittests/dmapper/data/")
+: UnoApiXmlTest("/writerfilter/qa/cppunittests/dmapper/data/")
 {
 }
 };
@@ -197,6 +198,37 @@ CPPUNIT_TEST_FIXTURE(Test, 
testDOCXFloatingTableFootnoteRedline)
 uno::Reference xDrawPage = xModel->getDrawPage();
 CPPUNIT_ASSERT_EQUAL(static_cast(0), xDrawPage->getCount());
 }
+
+CPPUNIT_TEST_FIXTURE(Test, testDOCXFloatingTableHeaderBodyOverlap)
+{
+// Given a document with a floating table in a header, the floating table 
extends the header
+// frame:
+// When importing that document:
+loadFromFile(u"floattable-header-overlap.docx");
+
+// Then make sure the fly bottom is less than the top of the body text:
+uno::Reference xModel(mxComponent, uno::UNO_QUERY);
+css::uno::Reference xDumper(xModel->getCurrentController(), 
uno::UNO_QUERY);
+OString aDump = xDumper->dump("layout").toUtf8();
+auto pCharBuffer = reinterpret_cast(aDump.getStr());
+xmlDocUniquePtr pXmlDoc(xmlParseDoc(pCharBuffer));
+sal_Int32 nFlyBottom = getXPath(pXmlDoc, "//fly/infos/bounds"_ostr, 
"bottom"_ostr).toInt32();
+// Body text top is body top + height of the first line, that's just a fly 
portion (kind of a
+// top margin).
+sal_Int32 nBodyTop
+= getXPath(pXmlDoc, "//page[1]/body/txt[1]/infos/bounds"_ostr, 
"top"_ostr).toInt32();
+// Without the accompanying fix in place, this test would have failed, the 
first line was not a
+// fly portion but it was actual text, above the floating table.
+assertXPath(pXmlDoc, 
"//page[1]/body/txt[1]/SwParaPortion/SwLineLayout[1]/child::*"_ostr,
+"type"_ostr, "PortionType::Fly");
+sal_Int32 nBodyFlyPortionHeight
+= getXPath(pXmlDoc, 
"//page[1]/body/txt[1]/SwParaPortion/SwLineLayout[1]"_ostr,
+   "height"_ostr)
+  .toInt32();
+sal_Int32 nBodyTextTop = nBodyTop + nBodyFlyPortionHeight;
+// Fly bottom was 3063, body text top was 7148.
+CPPUNIT_ASSERT_LESS(nBodyTextTop, nFlyBottom);
+}
 }
 
 CPPUNIT_PLUGIN_IMPLEMENT();
diff --git 
a/writerfilter/qa/cppunittests/dmapper/data/floattable-header-overlap.docx 
b/writerfilter/qa/cppunittests/dmapper/data/floattable-header-overlap.docx
new file mode 100644
index ..1230b9f4e07c
Binary files /dev/null and 
b/writerfilter/qa/cppunittests/dmapper/data/floattable-header-overlap.docx 
differ
diff --git a/writerfilter/source/dmapper/DomainMapperTableHandler.cxx 
b/writerfilter/source/dmapper/DomainMapperTableHandler.cxx
index e63d1cf9

core.git: sc/qa sc/source

2024-02-14 Thread Miklos Vajna (via logerrit)
 sc/qa/filter/html/html.cxx|   22 ++
 sc/source/filter/html/htmlexp.cxx |   26 ++
 2 files changed, 48 insertions(+)

New commits:
commit 4e2a4fbeb7c44cc47b3cf803cbcc6cba63b3d481
Author: Miklos Vajna 
AuthorDate: Wed Feb 14 09:35:14 2024 +0100
Commit: Miklos Vajna 
CommitDate: Wed Feb 14 11:45:17 2024 +0100

tdf#159483 sc HTML export: handle data-sheets-value attribute for the text 
case

HTML pasting "'01" from google sheets to Calc worked already, but
HTML copying from Calc still converted 01 to 1.

What's required is to emit a general marker in the HTML output and then
the correct data-sheets-value attribute on the relevant  element.

Add a way to inject a marker in ScHTMLExport::WriteBody() (so
data-sheets-* is considered at all) and extend
ScHTMLExport::WriteCell() to write the data-sheets-value attribute for
the text case as a start.

Other types like booleans are not yet handled at export time.

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

diff --git a/sc/qa/filter/html/html.cxx b/sc/qa/filter/html/html.cxx
index c6112e357d80..e0d7977c8000 100644
--- a/sc/qa/filter/html/html.cxx
+++ b/sc/qa/filter/html/html.cxx
@@ -192,6 +192,28 @@ CPPUNIT_TEST_FIXTURE(Test, testPasteSingleCell)
  pDoc->GetFormula(/*col=*/2, /*row=*/0, /*tab=*/0));
 CPPUNIT_ASSERT_EQUAL(static_cast(3), pDoc->GetValue(/*col=*/2, 
/*row=*/0, /*tab=*/0));
 }
+
+CPPUNIT_TEST_FIXTURE(Test, testCopyText)
+{
+// Given a document with 01 in A1:
+createScDoc();
+ScDocument* pDoc = getScDoc();
+ScAddress aCellPos(/*nColP=*/0, /*nRowP=*/0, /*nTabP=*/0);
+pDoc->SetString(aCellPos, "'01");
+
+// When copying that text from A1:
+ScImportExport aExporter(*pDoc, aCellPos);
+SvMemoryStream aStream;
+CPPUNIT_ASSERT(aExporter.ExportStream(aStream, OUString(), 
SotClipboardFormatId::HTML));
+
+// Then make sure A1 is text:
+// Without the accompanying fix in place, this test would have failed with:
+// - XPath '//td' no attribute 'data-sheets-value' exist
+// i.e. metadata was missing to avoid converting 01 to 1 (number).
+aStream.Seek(0);
+htmlDocUniquePtr pHtmlDoc = parseHtmlStream(&aStream);
+assertXPath(pHtmlDoc, "//td"_ostr, "data-sheets-value"_ostr, "{ \"1\": 2, 
\"2\": \"01\"}");
+}
 }
 
 CPPUNIT_PLUGIN_IMPLEMENT();
diff --git a/sc/source/filter/html/htmlexp.cxx 
b/sc/source/filter/html/htmlexp.cxx
index 2a3cb6a4f8ae..a2f14f6eff43 100644
--- a/sc/source/filter/html/htmlexp.cxx
+++ b/sc/source/filter/html/htmlexp.cxx
@@ -87,6 +87,7 @@
 #include 
 #include 
 #include 
+#include 
 
 using ::editeng::SvxBorderLine;
 using namespace ::com::sun::star;
@@ -671,6 +672,20 @@ void ScHTMLExport::WriteBody()
 }
 
 rStrm.WriteChar( '>' ); OUT_LF();
+
+// A marker right after  can be used, so that data-sheets-* 
attributes are considered
+// at all. This is disabled by default.
+OString aMarker;
+char* pEnv = getenv("SC_DEBUG_HTML_MARKER");
+if (pEnv)
+{
+aMarker = pEnv;
+}
+else if (comphelper::LibreOfficeKit::isActive())
+{
+aMarker = ""_ostr;
+}
+rStrm.WriteOString(aMarker);
 }
 
 if ( bAll )
@@ -1128,6 +1143,17 @@ void ScHTMLExport::WriteCell( sc::ColumnBlockPosition& 
rBlockPos, SCCOL nCol, SC
 aStrTD.append(HTMLOutFuncs::CreateTableDataOptionsValNum(bValueData, fVal,
 nFormat, *pFormatter, &aNonConvertibleChars));
 
+if (!bValueData)
+{
+// 2 is text.
+tools::JsonWriter aJson;
+aJson.put("1", static_cast(2));
+aJson.put("2", pDoc->GetString(aPos));
+OUString aJsonString = 
OUString::fromUtf8(aJson.finishAndGetAsOString());
+aStrTD.append(" " OOO_STRING_SVTOOLS_HTML_O_DSval "=\""
+  + HTMLOutFuncs::ConvertStringToHTML(aJsonString) + "\"");
+}
+
 TAG_ON(aStrTD.makeStringAndClear());
 
 //write the note for this as the first thing in the tag


core.git: solenv/gbuild

2024-02-14 Thread Noel Grandin (via logerrit)
 solenv/gbuild/extensions/pre_MergedLibsList.mk |   18 ++
 1 file changed, 18 insertions(+)

New commits:
commit ae17922b7d0f797129dd5fbd5514d691ac9ebeaa
Author: Noel Grandin 
AuthorDate: Wed Feb 14 09:33:05 2024 +0200
Commit: Noel Grandin 
CommitDate: Wed Feb 14 10:49:36 2024 +0100

add more libs into --enable-mergelibs=more build

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

diff --git a/solenv/gbuild/extensions/pre_MergedLibsList.mk 
b/solenv/gbuild/extensions/pre_MergedLibsList.mk
index 9a2fffa033ac..c51ea9fcfe7f 100644
--- a/solenv/gbuild/extensions/pre_MergedLibsList.mk
+++ b/solenv/gbuild/extensions/pre_MergedLibsList.mk
@@ -130,6 +130,11 @@ gb_MERGE_LIBRARY_LIST += \
date \
$(call gb_Helper_optional,DBCONNECTIVITY,dbpool2) \
dlgprov \
+   $(if $(ENABLE_EVOAB2),evoab) \
+   $(call gb_Helper_optional,DBCONNECTIVITY, \
+   flat \
+   file) \
+   $(if $(ENABLE_FIREBIRD_SDBC),firebird_sdbc) \
$(if $(filter WNT,$(OS)), \
fps \
) \
@@ -138,13 +143,26 @@ gb_MERGE_LIBRARY_LIST += \
) \
graphicfilter \
hwp \
+   $(if $(ENABLE_JAVA),hsqldb) \
log \
$(if $(ENABLE_LWP),lwpft) \
+   $(if $(filter $(OS),MACOSX), \
+   macab1 \
+   macabdrv1 \
+   ) \
+   mozbootstrap \
msforms \
+   $(call gb_Helper_optional,DBCONNECTIVITY,mysql_jdbc) \
+   $(call gb_Helper_optional,MARIADBC,$(call 
gb_Helper_optional,DBCONNECTIVITY,mysqlc)) \
+   odbc \
pdffilter \
+   $(if $(BUILD_POSTGRESQL_SDBC), \
+   postgresql-sdbc \
+   postgresql-sdbc-impl) \
pricing \
$(call gb_Helper_optional,SCRIPTING,protocolhandler) \
$(call gb_Helper_optional,SCRIPTING,scriptframe) \
+   sdbc2 \
slideshow \
$(if $(filter WNT,$(OS)), \
smplmail \


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

2024-02-14 Thread Hubert Figuière (via logerrit)
 sc/source/ui/unoobj/docuno.cxx |3 +++
 1 file changed, 3 insertions(+)

New commits:
commit 3f7eb1423bdcc5d1506a87096d535d05a59fab00
Author: Hubert Figuière 
AuthorDate: Tue Feb 13 15:56:57 2024 -0500
Commit: Michael Meeks 
CommitDate: Wed Feb 14 10:16:12 2024 +0100

calc: getPartInfo() returns the sheet protected state

Change-Id: I67e2a26680895b5c76977109f4c3f9e1638a9f9e
Signed-off-by: Hubert Figuière 
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/163336
Tested-by: Michael Meeks 
Reviewed-by: Michael Meeks 

diff --git a/sc/source/ui/unoobj/docuno.cxx b/sc/source/ui/unoobj/docuno.cxx
index fbc33cff551d..a6de0da0cc92 100644
--- a/sc/source/ui/unoobj/docuno.cxx
+++ b/sc/source/ui/unoobj/docuno.cxx
@@ -614,6 +614,7 @@ OUString ScModelObj::getPartInfo( int nPart )
 return OUString();
 
 const bool bIsVisible = pViewData->GetDocument().IsVisible(nPart);
+const bool bIsProtected = pViewData->GetDocument().IsTabProtected(nPart);
 //FIXME: Implement IsSelected().
 const bool bIsSelected = false; 
//pViewData->GetDocument()->IsSelected(nPart);
 const bool bIsRTLLayout = pViewData->GetDocument().IsLayoutRTL(nPart);
@@ -624,6 +625,8 @@ OUString ScModelObj::getPartInfo( int nPart )
 OUString::number(static_cast(bIsSelected)) +
 "\", \"rtllayout\": \"" +
 OUString::number(static_cast(bIsRTLLayout)) +
+"\", \"protected\": \"" +
+OUString::number(static_cast(bIsProtected)) +
 "\" }";
 return aPartInfo;
 }


core.git: sc/source

2024-02-14 Thread Hubert Figuière (via logerrit)
 sc/source/ui/unoobj/docuno.cxx |3 +++
 1 file changed, 3 insertions(+)

New commits:
commit f34025d36dda12ca99bb82f80e711fbd93fe4967
Author: Hubert Figuière 
AuthorDate: Tue Feb 13 15:56:57 2024 -0500
Commit: Michael Meeks 
CommitDate: Wed Feb 14 10:16:26 2024 +0100

calc: getPartInfo() returns the sheet protected state

Change-Id: I67e2a26680895b5c76977109f4c3f9e1638a9f9e
Signed-off-by: Hubert Figuière 
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/163337
Tested-by: Jenkins
Reviewed-by: Michael Meeks 

diff --git a/sc/source/ui/unoobj/docuno.cxx b/sc/source/ui/unoobj/docuno.cxx
index e45ef91d2246..abb046ba1dd2 100644
--- a/sc/source/ui/unoobj/docuno.cxx
+++ b/sc/source/ui/unoobj/docuno.cxx
@@ -616,6 +616,7 @@ OUString ScModelObj::getPartInfo( int nPart )
 return OUString();
 
 const bool bIsVisible = pViewData->GetDocument().IsVisible(nPart);
+const bool bIsProtected = pViewData->GetDocument().IsTabProtected(nPart);
 //FIXME: Implement IsSelected().
 const bool bIsSelected = false; 
//pViewData->GetDocument()->IsSelected(nPart);
 const bool bIsRTLLayout = pViewData->GetDocument().IsLayoutRTL(nPart);
@@ -626,6 +627,8 @@ OUString ScModelObj::getPartInfo( int nPart )
 OUString::number(static_cast(bIsSelected)) +
 "\", \"rtllayout\": \"" +
 OUString::number(static_cast(bIsRTLLayout)) +
+"\", \"protected\": \"" +
+OUString::number(static_cast(bIsProtected)) +
 "\" }";
 return aPartInfo;
 }


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

2024-02-14 Thread Tomaž Vajngerl (via logerrit)
 sfx2/source/view/lokhelper.cxx |2 --
 1 file changed, 2 deletions(-)

New commits:
commit 5fec109a88b9833a005dd95892eec464a254d268
Author: Tomaž Vajngerl 
AuthorDate: Thu Feb 8 18:55:44 2024 +0900
Commit: Caolán McNamara 
CommitDate: Wed Feb 14 10:06:52 2024 +0100

lok: remove unneeded mutex guard

Change-Id: I9e9ef3fd4ad43c2523c286f534e14e839aada453
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/163114
Tested-by: Jenkins CollaboraOffice 
Reviewed-by: Miklos Vajna 
(cherry picked from commit 21c215a0345feb347c7adeea5aca766ede23f54a)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/163282
Tested-by: Caolán McNamara 
Reviewed-by: Caolán McNamara 

diff --git a/sfx2/source/view/lokhelper.cxx b/sfx2/source/view/lokhelper.cxx
index 3cc4db8084bb..80bdb38aa13a 100644
--- a/sfx2/source/view/lokhelper.cxx
+++ b/sfx2/source/view/lokhelper.cxx
@@ -1142,11 +1142,9 @@ void LOKEditViewHistory::Update(bool bRemove)
 if (!comphelper::LibreOfficeKit::isActive())
 return;
 
-static std::mutex aMutex;
 SfxViewShell* pViewShell = SfxViewShell::Current();
 if (pViewShell)
 {
-std::lock_guard aLockGuard{aMutex};
 int nDocId = pViewShell->GetDocId().get();
 if (maEditViewHistory.find(nDocId) != maEditViewHistory.end())
 maEditViewHistory[nDocId].remove(pViewShell);


core.git: framework/source sw/source writerfilter/source xmlhelp/source

2024-02-14 Thread varshneydevansh (via logerrit)
 framework/source/services/autorecovery.cxx  |   52 
 sw/source/core/text/EnhancedPDFExportHelper.cxx |   12 ++---
 writerfilter/source/ooxml/OOXMLDocumentImpl.cxx |   16 +++
 xmlhelp/source/cxxhelp/provider/databases.cxx   |   14 +++---
 xmlhelp/source/treeview/tvread.cxx  |   10 ++--
 5 files changed, 52 insertions(+), 52 deletions(-)

New commits:
commit 0859e497be07acceb0a950183d5997374783266f
Author: varshneydevansh 
AuthorDate: Fri Feb 2 00:12:33 2024 +0530
Commit: Hossein 
CommitDate: Wed Feb 14 09:58:21 2024 +0100

tdf#145539 convert const char[] in files to constexpr OUStringLiteral

OStringLiteral represent read-only memory for string literal while
OUString is a dynamic string class with reference counting
hence use OUString when you need reference counting, string
manipulation along with _ustr suffix.

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

diff --git a/framework/source/services/autorecovery.cxx 
b/framework/source/services/autorecovery.cxx
index 22bdb916a642..6852be6dc954 100644
--- a/framework/source/services/autorecovery.cxx
+++ b/framework/source/services/autorecovery.cxx
@@ -1066,35 +1066,35 @@ constexpr OUStringLiteral TYPE_PROP_EXTENSIONS = 
u"Extensions";
 constexpr OUStringLiteral CFG_ENTRY_PROP_EMPTYDOCUMENTURL = 
u"ooSetupFactoryEmptyDocumentURL";
 constexpr OUStringLiteral CFG_ENTRY_PROP_FACTORYSERVICE = 
u"ooSetupFactoryDocumentService";
 
-const char EVENT_ON_NEW[] = "OnNew";
-const char EVENT_ON_LOAD[] = "OnLoad";
-const char EVENT_ON_UNLOAD[] = "OnUnload";
-const char EVENT_ON_MODIFYCHANGED[] = "OnModifyChanged";
-const char EVENT_ON_SAVE[] = "OnSave";
-const char EVENT_ON_SAVEAS[] = "OnSaveAs";
-const char EVENT_ON_SAVETO[] = "OnCopyTo";
-const char EVENT_ON_SAVEDONE[] = "OnSaveDone";
-const char EVENT_ON_SAVEASDONE[] = "OnSaveAsDone";
-const char EVENT_ON_SAVETODONE[] = "OnCopyToDone";
-const char EVENT_ON_SAVEFAILED[] = "OnSaveFailed";
-const char EVENT_ON_SAVEASFAILED[] = "OnSaveAsFailed";
-const char EVENT_ON_SAVETOFAILED[] = "OnCopyToFailed";
+constexpr OUStringLiteral EVENT_ON_NEW = u"OnNew";
+constexpr OUStringLiteral EVENT_ON_LOAD = u"OnLoad";
+constexpr OUStringLiteral EVENT_ON_UNLOAD = u"OnUnload";
+constexpr OUStringLiteral EVENT_ON_MODIFYCHANGED = u"OnModifyChanged";
+constexpr OUStringLiteral EVENT_ON_SAVE = u"OnSave";
+constexpr OUStringLiteral EVENT_ON_SAVEAS = u"OnSaveAs";
+constexpr OUStringLiteral EVENT_ON_SAVETO = u"OnCopyTo";
+constexpr OUStringLiteral EVENT_ON_SAVEDONE = u"OnSaveDone";
+constexpr OUStringLiteral EVENT_ON_SAVEASDONE = u"OnSaveAsDone";
+constexpr OUStringLiteral EVENT_ON_SAVETODONE = u"OnCopyToDone";
+constexpr OUStringLiteral EVENT_ON_SAVEFAILED = u"OnSaveFailed";
+constexpr OUStringLiteral EVENT_ON_SAVEASFAILED = u"OnSaveAsFailed";
+constexpr OUStringLiteral EVENT_ON_SAVETOFAILED = u"OnCopyToFailed";
 
 constexpr OUString RECOVERY_ITEM_BASE_IDENTIFIER = u"recovery_item_"_ustr;
 
-const char CMD_PROTOCOL[] = "vnd.sun.star.autorecovery:";
-
-const char CMD_DO_AUTO_SAVE[] = "/doAutoSave";// force AutoSave ignoring 
the AutoSave timer
-const char CMD_DO_PREPARE_EMERGENCY_SAVE[] = "/doPrepareEmergencySave";// 
prepare the office for the following EmergencySave step (hide windows etcpp.)
-const char CMD_DO_EMERGENCY_SAVE[] = "/doEmergencySave";// do 
EmergencySave on crash
-const char CMD_DO_RECOVERY[] = "/doAutoRecovery";// recover all crashed 
documents
-const char CMD_DO_ENTRY_BACKUP[] = "/doEntryBackup";// try to store a temp 
or original file to a user defined location
-const char CMD_DO_ENTRY_CLEANUP[] = "/doEntryCleanUp";// remove the 
specified entry from the recovery cache
-const char CMD_DO_SESSION_SAVE[] = "/doSessionSave";// save all open 
documents if e.g. a window manager closes an user session
-const char CMD_DO_SESSION_QUIET_QUIT[] = "/doSessionQuietQuit";// let the 
current session be quietly closed ( the saving should be done using 
doSessionSave previously ) if e.g. a window manager closes an user session
-const char CMD_DO_SESSION_RESTORE[] = "/doSessionRestore";// restore a 
saved user session from disc
-const char CMD_DO_DISABLE_RECOVERY[] = "/disableRecovery";// disable 
recovery and auto save (!) temp. for this office session
-const char CMD_DO_SET_AUTOSAVE_STATE[] = "/setAutoSaveState";// 
disable/enable auto save (not crash save) for this office session
+constexpr OUString CMD_PROTOCOL = u"vnd.sun.star.autorecovery:"_ustr;
+
+constexpr OUString CMD_DO_AUTO_SAVE = u"/doAutoSave"_ustr;// force 
AutoSave ignoring the AutoSave timer
+constexpr OUString CMD_DO_PREPARE_EMERGENCY_SAVE = 
u"/doPrepareEmergencySave"_ustr;// prepare the office for the following 
EmergencySave step (hide windows etcpp.)
+constexpr OUString CMD_DO_EMERGENCY_SAVE = u"/doEmergencySave"_ustr;  

core.git: Branch 'distro/collabora/co-23.05' - sc/source

2024-02-14 Thread Hubert Figuière (via logerrit)
 sc/source/ui/unoobj/docuno.cxx |3 +++
 1 file changed, 3 insertions(+)

New commits:
commit db963d695dae5f9d4e3825a896f41bbdf9484bb2
Author: Hubert Figuière 
AuthorDate: Tue Feb 13 15:56:57 2024 -0500
Commit: Andras Timar 
CommitDate: Wed Feb 14 09:51:09 2024 +0100

calc: getPartInfo() returns the sheet protected state

Change-Id: I67e2a26680895b5c76977109f4c3f9e1638a9f9e
Signed-off-by: Hubert Figuière 
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/163325
Reviewed-by: Michael Meeks 
Tested-by: Jenkins CollaboraOffice 

diff --git a/sc/source/ui/unoobj/docuno.cxx b/sc/source/ui/unoobj/docuno.cxx
index cb13801b7b1e..832b2015c2b2 100644
--- a/sc/source/ui/unoobj/docuno.cxx
+++ b/sc/source/ui/unoobj/docuno.cxx
@@ -613,6 +613,7 @@ OUString ScModelObj::getPartInfo( int nPart )
 return OUString();
 
 const bool bIsVisible = pViewData->GetDocument().IsVisible(nPart);
+const bool bIsProtected = pViewData->GetDocument().IsTabProtected(nPart);
 //FIXME: Implement IsSelected().
 const bool bIsSelected = false; 
//pViewData->GetDocument()->IsSelected(nPart);
 const bool bIsRTLLayout = pViewData->GetDocument().IsLayoutRTL(nPart);
@@ -623,6 +624,8 @@ OUString ScModelObj::getPartInfo( int nPart )
 OUString::number(static_cast(bIsSelected)) +
 "\", \"rtllayout\": \"" +
 OUString::number(static_cast(bIsRTLLayout)) +
+"\", \"protected\": \"" +
+OUString::number(static_cast(bIsProtected)) +
 "\" }";
 return aPartInfo;
 }


core.git: scp2/InstallScript_setup_osl.mk scp2/Module_scp2.mk

2024-02-14 Thread Michael Weghorn (via logerrit)
 scp2/InstallScript_setup_osl.mk |2 +-
 scp2/Module_scp2.mk |2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

New commits:
commit ec69b448f4b6296edb6b28ced5ecb710be82438b
Author: Michael Weghorn 
AuthorDate: Tue Feb 13 16:25:35 2024 +0100
Commit: Michael Weghorn 
CommitDate: Wed Feb 14 09:42:53 2024 +0100

scp2: Take ENABLE_{KF,QT}6 into account

The qt6 and kf6 VCL plugins are also part
of the kde install set, so take
`ENABLE_QT6` and `ENABLE_KF6` into
account when deciding whether to install
it.

This makes packaging these VCL plugins work
when building with `--enable-qt6` and/or
`--enable-kf6`, but without `--enable-qt5`
and `--enable-kf5`.

Command that can be used for testing:

make DESTDIR=/tmp/dummy distro-pack-install -o build -o check

(Then, check whether the "installation" in /tmp/dummy
contains the VCL plugins as expected.)

Thanks to Andreas Sturmlechner for reporting
the issue on IRC #libreoffice-dev on 2024-02-12.

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

diff --git a/scp2/InstallScript_setup_osl.mk b/scp2/InstallScript_setup_osl.mk
index 6f7b58204225..cf69165c1b60 100644
--- a/scp2/InstallScript_setup_osl.mk
+++ b/scp2/InstallScript_setup_osl.mk
@@ -36,7 +36,7 @@ $(eval $(call gb_InstallScript_use_modules,setup_osl,\
$(if $(filter TRUE,$(ENABLE_EVOAB2) $(ENABLE_GIO) $(ENABLE_GTK3)),\
scp2/gnome \
) \
-   $(if $(filter TRUE,$(ENABLE_QT5) $(ENABLE_KF5) $(ENABLE_GTK3_KDE5)),\
+   $(if $(filter TRUE,$(ENABLE_QT5) $(ENABLE_QT6) $(ENABLE_KF5) 
$(ENABLE_KF6) $(ENABLE_GTK3_KDE5)),\
scp2/kde \
) \
$(if $(filter TRUE,$(ENABLE_ONLINE_UPDATE)),\
diff --git a/scp2/Module_scp2.mk b/scp2/Module_scp2.mk
index 25ae8167df56..651413fa2c17 100644
--- a/scp2/Module_scp2.mk
+++ b/scp2/Module_scp2.mk
@@ -40,7 +40,7 @@ $(eval $(call gb_Module_add_targets,scp2,\
$(if $(filter TRUE,$(ENABLE_EVOAB2) $(ENABLE_GIO) $(ENABLE_GTK3)),\
InstallModule_gnome \
) \
-   $(if $(filter TRUE,$(ENABLE_QT5) $(ENABLE_KF5) $(ENABLE_GTK3_KDE5)),\
+   $(if $(filter TRUE,$(ENABLE_QT5) $(ENABLE_QT6) $(ENABLE_KF5) 
$(ENABLE_KF6) $(ENABLE_GTK3_KDE5)),\
InstallModule_kde \
) \
 ))


core.git: Branch 'distro/collabora/co-2021' - sc/source

2024-02-14 Thread Caolán McNamara (via logerrit)
 sc/source/core/tool/interpr1.cxx |7 +--
 1 file changed, 5 insertions(+), 2 deletions(-)

New commits:
commit f6c5ba12d00be000dfacf9d1b8d94df95166e357
Author: Caolán McNamara 
AuthorDate: Tue Jan 23 17:41:11 2024 +
Commit: Miklos Vajna 
CommitDate: Wed Feb 14 09:40:43 2024 +0100

complete filename isn't meaningful in this mode

Change-Id: Icc5bdac688ca6b328dcf097c9638b4e6df211332
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/163093
Tested-by: Miklos Vajna 
Reviewed-by: Miklos Vajna 

diff --git a/sc/source/core/tool/interpr1.cxx b/sc/source/core/tool/interpr1.cxx
index 1a7a970c2e48..369df3f32d6e 100644
--- a/sc/source/core/tool/interpr1.cxx
+++ b/sc/source/core/tool/interpr1.cxx
@@ -63,8 +63,8 @@
 #include 
 #include 
 #include 
-
 #include 
+#include 
 #include 
 #include 
 #include 
@@ -2308,7 +2308,10 @@ void ScInterpreter::ScCell()
 OUStringBuffer aBuf;
 aBuf.append('\'');
 const INetURLObject& rURLObj = 
pShell->GetMedium()->GetURLObject();
-
aBuf.append(rURLObj.GetMainURL(INetURLObject::DecodeMechanism::Unambiguous));
+if (!comphelper::LibreOfficeKit::isActive())
+
aBuf.append(rURLObj.GetMainURL(INetURLObject::DecodeMechanism::Unambiguous));
+else
+
aBuf.append(rURLObj.GetLastName(INetURLObject::DecodeMechanism::Unambiguous));
 aBuf.append("'#$");
 OUString aTabName;
 mrDoc.GetName( nTab, aTabName );


core.git: include/oox

2024-02-14 Thread Patrick Luby (via logerrit)
 include/oox/helper/progressbar.hxx |2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

New commits:
commit 6525b488c5eb85a790265b3b394323491ecd70a7
Author: Patrick Luby 
AuthorDate: Tue Feb 13 17:36:35 2024 -0500
Commit: Noel Grandin 
CommitDate: Wed Feb 14 09:40:12 2024 +0100

Fix build breakage with --enable-mergelibs on macOS

With Xcode 15.2, --enable-mergelibs started failing so export a couple
constructors.

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

diff --git a/include/oox/helper/progressbar.hxx 
b/include/oox/helper/progressbar.hxx
index 7adcb75c5c61..5d77b3277152 100644
--- a/include/oox/helper/progressbar.hxx
+++ b/include/oox/helper/progressbar.hxx
@@ -37,7 +37,7 @@ namespace oox {
 
 /** Interface for progress bar classes.
  */
-class UNLESS_MERGELIBS(OOX_DLLPUBLIC) IProgressBar
+class OOX_DLLPUBLIC IProgressBar
 {
 public:
 virtual ~IProgressBar();


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

2024-02-14 Thread Mike Kaganski (via logerrit)
 starmath/source/unomodel.cxx |4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

New commits:
commit df41d922ef7e6c99f72d65dad04b56c82a79ae30
Author: Mike Kaganski 
AuthorDate: Tue Feb 13 18:55:15 2024 +0100
Commit: Xisco Fauli 
CommitDate: Wed Feb 14 09:38:48 2024 +0100

tdf#159302: Another UNO property "BaseLine" needs to use mm/100s

Change-Id: I6688577a41590624f1e1f08112f1308e810a7e37
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/16
Tested-by: Jenkins
Reviewed-by: Mike Kaganski 
(cherry picked from commit b6ef30d1b049977beb23d28a07d77012fa1daf47)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/163339
Reviewed-by: Xisco Fauli 

diff --git a/starmath/source/unomodel.cxx b/starmath/source/unomodel.cxx
index ea12928d3dbc..874dfb599af7 100644
--- a/starmath/source/unomodel.cxx
+++ b/starmath/source/unomodel.cxx
@@ -916,7 +916,9 @@ void SmModel::_getPropertyValues( const PropertyMapEntry 
**ppEntries, Any *pValu
 {
 pDocSh->ArrangeFormula();
 
-*pValue <<= static_cast( 
pDocSh->GetFormulaTree()->GetFormulaBaseline() );
+*pValue <<= static_cast(
+
o3tl::convert(pDocSh->GetFormulaTree()->GetFormulaBaseline(),
+  SmO3tlLengthUnit(), 
o3tl::Length::mm100));
 }
 break;
 }


core.git: Branch 'distro/collabora/co-23.05' - filter/qa svx/source

2024-02-14 Thread Jaume Pujantell (via logerrit)
 filter/qa/unit/data/text-in-image.odp |binary
 filter/qa/unit/svg.cxx|   25 +
 svx/source/svdraw/svdxcgv.cxx |   63 +-
 3 files changed, 58 insertions(+), 30 deletions(-)

New commits:
commit d0241915eba35c9dc0cc42f322df798a270db00f
Author: Jaume Pujantell 
AuthorDate: Tue Feb 13 09:27:00 2024 +0100
Commit: Miklos Vajna 
CommitDate: Wed Feb 14 09:37:04 2024 +0100

tdf#159704 svx: preserve text when getting grpahic from sdrobject

When getting a Graphic object from an SdrGrafObj with text the text was 
lost.

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

diff --git a/filter/qa/unit/data/text-in-image.odp 
b/filter/qa/unit/data/text-in-image.odp
new file mode 100644
index ..660e27062373
Binary files /dev/null and b/filter/qa/unit/data/text-in-image.odp differ
diff --git a/filter/qa/unit/svg.cxx b/filter/qa/unit/svg.cxx
index 4c1ddd10b58a..4900c742200e 100644
--- a/filter/qa/unit/svg.cxx
+++ b/filter/qa/unit/svg.cxx
@@ -346,6 +346,31 @@ CPPUNIT_TEST_FIXTURE(SvgFilterTest, testTab)
 assertXPath(pXmlDoc, 
"//svg:g[@class='TextShape']//svg:tspan[@class='TextPosition']", 2);
 }
 
+CPPUNIT_TEST_FIXTURE(SvgFilterTest, textInImage)
+{
+// Load document containing empty paragraphs with ids.
+loadFromURL(u"text-in-image.odp");
+
+// Export to SVG.
+uno::Reference xStorable(mxComponent, 
uno::UNO_QUERY_THROW);
+SvMemoryStream aStream;
+uno::Reference xOut = new 
utl::OOutputStreamWrapper(aStream);
+utl::MediaDescriptor aMediaDescriptor;
+aMediaDescriptor["FilterName"] <<= OUString("impress_svg_Export");
+aMediaDescriptor["OutputStream"] <<= xOut;
+xStorable->storeToURL("private:stream", 
aMediaDescriptor.getAsConstPropertyValueList());
+aStream.Seek(STREAM_SEEK_TO_BEGIN);
+
+xmlDocUniquePtr pXmlDoc = parseXmlStream(&aStream);
+
+// We expect the Graphic to have an image and a text
+assertXPath(pXmlDoc, "//svg:g[@class='Graphic']//svg:image", 1);
+assertXPath(pXmlDoc, "//svg:g[@class='Graphic']//svg:text", 1);
+// Without the accomanying fix, this test would have failed with:
+// - Expected: 1
+// - Actual  : 0
+}
+
 CPPUNIT_PLUGIN_IMPLEMENT();
 
 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/svx/source/svdraw/svdxcgv.cxx b/svx/source/svdraw/svdxcgv.cxx
index f9365136afbd..01a43f86819c 100644
--- a/svx/source/svdraw/svdxcgv.cxx
+++ b/svx/source/svdraw/svdxcgv.cxx
@@ -604,42 +604,45 @@ Graphic SdrExchangeView::GetObjGraphic(const SdrObject& 
rSdrObject, bool bSVG)
 {
 Graphic aRet;
 
-// try to get a graphic from the object first
-const SdrGrafObj* pSdrGrafObj(dynamic_cast< const SdrGrafObj* 
>(&rSdrObject));
-const SdrOle2Obj* pSdrOle2Obj(dynamic_cast< const SdrOle2Obj* 
>(&rSdrObject));
-
-if(pSdrGrafObj)
+if (!rSdrObject.HasText())
 {
-if(pSdrGrafObj->isEmbeddedVectorGraphicData())
+// try to get a graphic from the object first
+const SdrGrafObj* pSdrGrafObj(dynamic_cast(&rSdrObject));
+const SdrOle2Obj* pSdrOle2Obj(dynamic_cast(&rSdrObject));
+
+if (pSdrGrafObj)
 {
-// get Metafile for Svg content
-aRet = pSdrGrafObj->getMetafileFromEmbeddedVectorGraphicData();
+if (pSdrGrafObj->isEmbeddedVectorGraphicData())
+{
+// get Metafile for Svg content
+aRet = pSdrGrafObj->getMetafileFromEmbeddedVectorGraphicData();
+}
+else
+{
+// Make behaviour coherent with metafile
+// recording below (which of course also takes
+// view-transformed objects)
+aRet = pSdrGrafObj->GetTransformedGraphic();
+}
 }
-else
+else if (pSdrOle2Obj)
 {
-// Make behaviour coherent with metafile
-// recording below (which of course also takes
-// view-transformed objects)
-aRet = pSdrGrafObj->GetTransformedGraphic();
-}
-}
-else if(pSdrOle2Obj)
-{
-if(pSdrOle2Obj->GetGraphic())
-{
-aRet = *pSdrOle2Obj->GetGraphic();
+if (pSdrOle2Obj->GetGraphic())
+{
+aRet = *pSdrOle2Obj->GetGraphic();
+}
 }
-}
-else
-{
-// Support extracting a snapshot from video media, if possible.
-const SdrMediaObj* pSdrMediaObj = dynamic_cast(&rSdrObject);
-if (pSdrMediaObj)
+else
 {
-const css::uno::Reference& xGraphic
-= pSdrMediaObj->getSnapshot();
-if (xGraphic.is())
-aRet = Graphic(xGraphic);
+// Support extracting a snapshot from video media, if possible.
+

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

2024-02-14 Thread Oliver Specht (via logerrit)
 sw/source/uibase/shells/textsh.cxx |   15 ++-
 1 file changed, 14 insertions(+), 1 deletion(-)

New commits:
commit f5c3296eca92e8dd6b3bdf7410dd5a636a197d10
Author: Oliver Specht 
AuthorDate: Thu Jan 18 15:48:04 2024 +0100
Commit: Thorsten Behrens 
CommitDate: Wed Feb 14 09:26:09 2024 +0100

tdf#63259 rotate case also at start/end of a word

Rotate either rotates the selection or the word the cursor is directly 
before,
inside or directly after

Change-Id: Ia21e3120d2b00978b9f4ce06738b42e90d2ada62
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/162256
Tested-by: Jenkins
Reviewed-by: Michael Stahl 
(cherry picked from commit 3d01c4ee56e0435815977b1717c84b1a2c233bfc)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/163338
Reviewed-by: Thorsten Behrens 

diff --git a/sw/source/uibase/shells/textsh.cxx 
b/sw/source/uibase/shells/textsh.cxx
index 0924935b3d7e..97de98540151 100644
--- a/sw/source/uibase/shells/textsh.cxx
+++ b/sw/source/uibase/shells/textsh.cxx
@@ -877,7 +877,20 @@ void SwTextShell::ExecTransliteration( SfxRequest const & 
rReq )
 void SwTextShell::ExecRotateTransliteration( SfxRequest const & rReq )
 {
 if( rReq.GetSlot() == SID_TRANSLITERATE_ROTATE_CASE )
-GetShell().TransliterateText( m_aRotateCase.getNextMode() );
+{
+SwWrtShell& rSh = GetShell();
+if (rSh.HasSelection())
+{
+rSh.TransliterateText(m_aRotateCase.getNextMode());
+}
+else
+{
+rSh.Push(); // save cur cursor
+if ((rSh.IsEndWrd() || rSh.IsStartWord() || rSh.IsInWord()) && 
rSh.SelWrd())
+rSh.TransliterateText(m_aRotateCase.getNextMode());
+rSh.Pop(SwCursorShell::PopMode::DeleteCurrent);
+}
+}
 }
 
 SwTextShell::SwTextShell(SwView &_rView) :