core.git: Branch 'distro/collabora/co-23.05' - sw/inc sw/qa sw/source

2024-01-25 Thread Caolán McNamara (via logerrit)
 dev/null   |binary
 sw/inc/viewopt.hxx |5 +-
 sw/qa/extras/tiledrendering/tiledrendering.cxx |   53 -
 sw/source/uibase/config/viewopt.cxx|6 --
 4 files changed, 39 insertions(+), 25 deletions(-)

New commits:
commit 5234435a552d3d4cc421ba5c8600d8215f9f8f4b
Author: Caolán McNamara 
AuthorDate: Thu Jan 25 14:50:29 2024 +
Commit: Miklos Vajna 
CommitDate: Fri Jan 26 08:17:37 2024 +0100

revert: 'LOKit: always display hidden chars when showing formatting...'

and add a counter-reason test.

When we have multiple views of a document, whether in LOKit or in
desktop via "Window, New Window" then we have just one layout and render
that layout in each view. So with default settings: View, Formatting
Marks, we can correctly render the Pilcows in one view but not in the
another even though we share a single layout.

If "Show Hidden Characters" is enabled, then when "view formatting" is
also enabled then hidden characters are shown when view formatting is
enabled, and not when it is disabled.

But if "show hidden characters" are enabled, then if formatting marks
are enabled in one view and and not another then the hidden characters
will be either shown in both views or hidden in both views, depending on
whether the shared layout is done with "show/hide hidden characters". So
we currently can't show/hide the hidden characters per-view.

revert:
commit 7a6b80995f69304149e0ab7a8e1fa92a15b20d07
Date:   Wed Oct 4 10:04:42 2023 -0400

LOKit: always display hidden chars when showing formatting marks

This arises from noting that in kit then on turning on formatting marks
in one view, then the other view rendering options changed, which isn't
wanted. But on attempting to keep the other ViewShell settings
unaffected it turns out to be futile given the shared layout.

Change-Id: I210b86fae84bc8137af415cb9c93dacdeab7d448
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/162579
Tested-by: Jenkins CollaboraOffice 
Reviewed-by: Justin Luth 
Reviewed-by: Miklos Vajna 

diff --git a/sw/inc/viewopt.hxx b/sw/inc/viewopt.hxx
index 6aaf24b65f39..a6fd5eea8a57 100644
--- a/sw/inc/viewopt.hxx
+++ b/sw/inc/viewopt.hxx
@@ -486,7 +486,10 @@ public:
 void SetTreatSubOutlineLevelsAsContent(bool b)
 { m_nCoreOptions.bTreatSubOutlineLevelsAsContent = b; }
 
-bool IsShowHiddenChar(bool bHard = false) const;
+bool IsShowHiddenChar(bool bHard = false) const
+{ return !m_bReadonly && m_nCoreOptions.bCharHidden &&
+(m_nCoreOptions.bViewMetachars || bHard); }
+
 void SetShowHiddenChar( bool b )
 { m_nCoreOptions.bCharHidden = b; }
 
diff --git a/sw/qa/extras/tiledrendering/data/hiddenLoremIpsum.docx 
b/sw/qa/extras/tiledrendering/data/hiddenLoremIpsum.docx
deleted file mode 100644
index 0802f6e7d314..
Binary files a/sw/qa/extras/tiledrendering/data/hiddenLoremIpsum.docx and 
/dev/null differ
diff --git a/sw/qa/extras/tiledrendering/tiledrendering.cxx 
b/sw/qa/extras/tiledrendering/tiledrendering.cxx
index ffa997cfdd67..b9d842529d68 100644
--- a/sw/qa/extras/tiledrendering/tiledrendering.cxx
+++ b/sw/qa/extras/tiledrendering/tiledrendering.cxx
@@ -757,6 +757,7 @@ namespace {
 bool m_bOwnSelectionSet;
 bool m_bViewSelectionSet;
 OString m_aViewSelection;
+OString m_aViewRenderState;
 bool m_bTilesInvalidated;
 bool m_bViewCursorVisible;
 bool m_bGraphicViewSelection;
@@ -904,6 +905,11 @@ namespace {
 m_bViewLock = 
aTree.get_child("rectangle").get_value() != "EMPTY";
 }
 break;
+case LOK_CALLBACK_VIEW_RENDER_STATE:
+{
+m_aViewRenderState = pPayload;
+}
+break;
 case LOK_CALLBACK_REDLINE_TABLE_SIZE_CHANGED:
 {
 m_aRedlineTableChanged.clear();
@@ -3044,24 +3050,6 @@ CPPUNIT_TEST_FIXTURE(SwTiledRenderingTest, 
testPilcrowRedlining)
 comphelper::dispatchCommand(".uno:ControlCodes", {});
 }
 
-CPPUNIT_TEST_FIXTURE(SwTiledRenderingTest, 
testShowHiddenCharsWhenShowFormatting)
-{
-// In LOKit, ignore the config setting for
-// Tools - Options - Writer - Formatting Aids - Display Formatting - 
Hidden characters
-// and always show hidden content when showing pilcrow formatting
-
-createSwDoc("hiddenLoremIpsum.docx");
-
-// Since LOKit is active in TiledRendering, turning on "Show formatting" 
will show hidden text.
-comphelper::dispatchCommand(".uno:ControlCodes", {}); // show format marks
-Scheduler::ProcessEventsToIdle();
-
-// Without this patch, no body text would be visible - so only 1 page 
instead of 3.
-CPP

core.git: bridges/source

2024-01-25 Thread Sakura286 (via logerrit)
 bridges/source/cpp_uno/gcc3_linux_riscv64/abi.cxx |  263 --
 bridges/source/cpp_uno/gcc3_linux_riscv64/abi.hxx |   19 +
 bridges/source/cpp_uno/gcc3_linux_riscv64/cpp2uno.cxx |  107 +++
 bridges/source/cpp_uno/gcc3_linux_riscv64/uno2cpp.cxx |  181 
 4 files changed, 370 insertions(+), 200 deletions(-)

New commits:
commit e49653f440d8fced0414df93a85bb8adc6f9ffb4
Author: Sakura286 
AuthorDate: Tue Dec 19 08:21:33 2023 +
Commit: Stephan Bergmann 
CommitDate: Fri Jan 26 08:10:52 2024 +0100

(riscv64) Fix Java bridgetest failure

* Refactor the code related to struct processing. Fix Java bridge-
  test failure. Fixed test list:
  * bridgetest-javaserver
  * [CUT] smoketest
  * [JUT] forms_unoapi_1
  * [JUT] forms_unoapi_2
  * [JUT] forms_unoapi_3
  * [JUT] forms_unoapi_4
* Clean higher bit to prevent compiler generate wrong code when
  pyuno calls functions through UNO environment. This fixes some
  weired uitest failure.
* Reorder the datatype list. Optimize the inserting args section in
  uno2cpp.cxx.
* Remove some unused code.

Change-Id: I74330126d31d847485b1d81fc34376b1d020f886
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/160970
Tested-by: Jenkins
Tested-by: René Engelhard 
Reviewed-by: Stephan Bergmann 

diff --git a/bridges/source/cpp_uno/gcc3_linux_riscv64/abi.cxx 
b/bridges/source/cpp_uno/gcc3_linux_riscv64/abi.cxx
index b090953efde9..29b1975a316e 100644
--- a/bridges/source/cpp_uno/gcc3_linux_riscv64/abi.cxx
+++ b/bridges/source/cpp_uno/gcc3_linux_riscv64/abi.cxx
@@ -19,7 +19,22 @@
 
 namespace abi_riscv64
 {
-void countnGreg(sal_Int32& nGreg, sal_Int32& nFreg,
+/*
+   F: floating point reg
+   G: general purpose reg
+*/
+enum class ReturnKind
+{
+FF_Align4,
+FF_Align8,
+FG_Align4,
+FG_Align8,
+GF_Align4,
+GF_Align8,
+DEFAULT
+};
+
+void countnGreg(sal_Int32& nGreg, sal_Int32& nFreg, bool& firstIsGreg, 
sal_Int32& align,
 const typelib_CompoundTypeDescription* pTypeDescr)
 {
 for (int i = 0; i < pTypeDescr->nMembers; i++)
@@ -33,63 +48,257 @@ void countnGreg(sal_Int32& nGreg, sal_Int32& nFreg,
 typelib_TypeDescription* childTypeDescr = nullptr;
 TYPELIB_DANGER_GET(&childTypeDescr, pTypeInStruct);
 countnGreg(
-nGreg, nFreg,
+nGreg, nFreg, firstIsGreg, align,
 reinterpret_cast(childTypeDescr));
 TYPELIB_DANGER_RELEASE(childTypeDescr);
 }
 break;
-case typelib_TypeClass_FLOAT:
 case typelib_TypeClass_DOUBLE:
+// Align to the larger type
+align = 8;
+[[fallthrough]];
+case typelib_TypeClass_FLOAT:
 nFreg++;
 break;
+case typelib_TypeClass_HYPER:
+case typelib_TypeClass_UNSIGNED_HYPER:
+align = 8;
+[[fallthrough]];
 default:
+if (nFreg > 0)
+{
+firstIsGreg = false;
+}
 nGreg++;
 break;
 }
 }
 }
 
-void fillStruct(const typelib_TypeDescription* pTypeDescr, sal_Int64* gret, 
double* fret,
-void* pRegisterReturn)
+ReturnKind getReturnKind(const typelib_TypeDescription* pTypeDescr)
 {
-#ifdef BRIDGE_DEBUG
-printf("In fillStruct, pTypeDescr = %p, gret = %p, fret = %p, 
pRegisterReturn = %p
",
-   pTypeDescr, gret, fret, pRegisterReturn);
-#endif
 sal_Int32 nGreg = 0;
 sal_Int32 nFreg = 0;
-countnGreg(nGreg, nFreg, reinterpret_cast(pTypeDescr));
-char* pAdjust = reinterpret_cast(pRegisterReturn);
-if (nGreg == 0 && nFreg <= 2)
+sal_Int32 align = 4;
+bool firstIsGreg = true;
+countnGreg(nGreg, nFreg, firstIsGreg, align,
+   reinterpret_cast(pTypeDescr));
+if (nGreg == 0 && nFreg == 2)
 {
-if (pTypeDescr->nSize <= 8 && nFreg == 2)
-{
-std::memcpy(pAdjust, fret, 4);
-std::memcpy(pAdjust + 4, fret + 1, 4);
-}
+if (align == 4)
+return ReturnKind::FF_Align4;
 else
-{
-std::memcpy(pAdjust, fret, 16);
-}
+return ReturnKind::FF_Align8;
 }
-else if (nFreg == 1 && nGreg == 1)
+else if (nGreg == 1 && nFreg == 1)
 {
-if (pTypeDescr->nSize > 8)
+if (firstIsGreg)
 {
-std::memcpy(pAdjust, gret, 8);
-std::memcpy(pAdjust + 8, fret, 8);
+if (align == 4)
+return ReturnKind::GF_Align4;
+else
+return ReturnKind::GF_Align8;
 }
 else
 {
-std::memcpy(pAdjust, gret, 4);
-std::memcpy(pAdjust + 4, fret, 4);
+if (align == 4)
+   

core.git: cui/source cui/uiconfig include/unotools officecfg/registry sw/qa unotools/source xmloff/source

2024-01-25 Thread Samuel Mehrbrodt (via logerrit)
 cui/source/inc/securityoptions.hxx |3 
 cui/source/options/securityoptions.cxx |6 +
 cui/uiconfig/ui/securityoptionsdialog.ui   |   48 ++---
 include/unotools/securityoptions.hxx   |1 
 officecfg/registry/schema/org/openoffice/Office/Common.xcs |8 ++
 sw/qa/extras/odfexport/odfexport2.cxx  |   18 
 unotools/source/config/securityoptions.cxx |9 ++
 xmloff/source/core/SettingsExportHelper.cxx|   10 ++
 8 files changed, 93 insertions(+), 10 deletions(-)

New commits:
commit ba8911931c18e6a4cc737ffc9f0f415f1ba794d7
Author: Samuel Mehrbrodt 
AuthorDate: Thu Jan 25 13:01:24 2024 +0100
Commit: Samuel Mehrbrodt 
CommitDate: Fri Jan 26 07:08:19 2024 +0100

Don't export printer name & config in privacy mode

Don't export printer name & printer config when
RemovePersonalInfoOnSaving is enabled, as it might contain
sensitive data such as printer location.

Add an option to export printer settings even when
RemovePersonalInfoOnSaving is enabled.

Change-Id: I3d2ca91ad2032050c919d382c11c9ceabf331770
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/162577
Tested-by: Jenkins
Reviewed-by: Samuel Mehrbrodt 

diff --git a/cui/source/inc/securityoptions.hxx 
b/cui/source/inc/securityoptions.hxx
index 981c9ac29bf8..a86b4f0c605a 100644
--- a/cui/source/inc/securityoptions.hxx
+++ b/cui/source/inc/securityoptions.hxx
@@ -53,6 +53,8 @@ namespace svx
 std::unique_ptr m_xNoteAuthorImg;
 std::unique_ptr m_xDocumentVersionCB;
 std::unique_ptr m_xDocumentVersionImg;
+std::unique_ptr m_xPrinterSettingsCB;
+std::unique_ptr m_xPrinterSettingsImg;
 
 public:
 SecurityOptionsDialog(weld::Window* pParent);
@@ -68,6 +70,7 @@ namespace svx
 bool IsRemoveDocUserInfoChecked() const { return 
m_xDocPropertiesCB->get_active(); }
 bool IsRemoveNoteAuthorInfoChecked() const { return 
m_xNoteAuthorCB->get_active(); }
 bool IsRemoveDocVersionInfoChecked() const { return 
m_xDocumentVersionCB->get_active(); }
+bool IsKeepPrinterSettingsChecked() const { return 
m_xPrinterSettingsCB->get_active(); }
 bool IsRecommPasswdChecked() const { return 
m_xRecommPasswdCB->get_active(); }
 bool IsCtrlHyperlinkChecked() const { return 
m_xCtrlHyperlinkCB->get_active(); }
 bool IsBlockUntrustedRefererLinksChecked() const { return 
m_xBlockUntrustedRefererLinksCB->get_active(); }
diff --git a/cui/source/options/securityoptions.cxx 
b/cui/source/options/securityoptions.cxx
index f42b0c35dd4b..d99ad64e545e 100644
--- a/cui/source/options/securityoptions.cxx
+++ b/cui/source/options/securityoptions.cxx
@@ -73,6 +73,8 @@ SecurityOptionsDialog::SecurityOptionsDialog(weld::Window* 
pParent)
 , m_xNoteAuthorImg(m_xBuilder->weld_widget("locknoteauthor"))
 , m_xDocumentVersionCB(m_xBuilder->weld_check_button("documentversion"))
 , m_xDocumentVersionImg(m_xBuilder->weld_widget("lockdocumentversion"))
+, m_xPrinterSettingsCB(m_xBuilder->weld_check_button("printersettings"))
+, m_xPrinterSettingsImg(m_xBuilder->weld_widget("lockprintersettings"))
 {
 m_xRemovePersInfoCB->connect_toggled(LINK(this, SecurityOptionsDialog, 
ShowPersonalInfosToggle));
 init();
@@ -103,6 +105,8 @@ void SecurityOptionsDialog::init()
 *m_xNoteAuthorImg);
 enableAndSet(SvtSecurityOptions::EOption::DocWarnKeepDocVersionInfo, 
*m_xDocumentVersionCB,
 *m_xDocumentVersionImg);
+enableAndSet(SvtSecurityOptions::EOption::DocKeepPrinterSettings, 
*m_xPrinterSettingsCB,
+*m_xPrinterSettingsImg);
 enableAndSet(SvtSecurityOptions::EOption::DocWarnRecommendPassword, 
*m_xRecommPasswdCB,
 *m_xRecommPasswdImg);
 enableAndSet(SvtSecurityOptions::EOption::CtrlClickHyperlink, 
*m_xCtrlHyperlinkCB,
@@ -128,6 +132,7 @@ bool SecurityOptionsDialog::SetSecurityOptions()
 CheckAndSave(SvtSecurityOptions::EOption::DocWarnKeepDocUserInfo, 
IsRemoveDocUserInfoChecked(), bModified);
 CheckAndSave(SvtSecurityOptions::EOption::DocWarnKeepNoteAuthorDateInfo, 
IsRemoveNoteAuthorInfoChecked(), bModified);
 CheckAndSave(SvtSecurityOptions::EOption::DocWarnKeepDocVersionInfo, 
IsRemoveDocVersionInfoChecked(), bModified);
+CheckAndSave(SvtSecurityOptions::EOption::DocKeepPrinterSettings, 
IsKeepPrinterSettingsChecked(), bModified);
 CheckAndSave(SvtSecurityOptions::EOption::DocWarnRecommendPassword, 
IsRecommPasswdChecked(), bModified);
 CheckAndSave(SvtSecurityOptions::EOption::CtrlClickHyperlink, 
IsCtrlHyperlinkChecked(), bModified);
 CheckAndSave(SvtSecurityOptions::EOption::BlockUntrustedRefererLinks, 
IsBlockUntrustedRefererLinksChecked(), bModified);
@@ -143,6 +148,7 @@ void SecurityOptionsDialog::changeKeepSecurityInfosEnabled()
 m_xDocPropertiesCB->set_sensitive(bEnable);
 m_xNoteAutho

core.git: bin/gbuild-to-ide solenv/gbuild

2024-01-25 Thread Mike Kaganski (via logerrit)
 bin/gbuild-to-ide |  171 --
 solenv/gbuild/extensions/post_GbuildToJson.mk |   10 -
 2 files changed, 88 insertions(+), 93 deletions(-)

New commits:
commit 3460799175e6c5795aa07c784e16d10ba9081d49
Author: Mike Kaganski 
AuthorDate: Thu Jan 25 23:41:52 2024 +0600
Commit: Mike Kaganski 
CommitDate: Fri Jan 26 01:43:38 2024 +0100

Clear gb_GbuildToJson_DENYLISTEDMODULES, allow these modules

Filter "empty" targets in Visual Studio solutions: it makes little sense
to add generated files to projects (they aren't intended for editing in
IDE); so most external libraries, which only have "generated" sources,
and aren't part of core anyway, would have zero source files in their
projects - thus excluded.

Handle C++/CLI files; use their specific CXXCLRFLAGS (set them to the
source files explicitly, overriding CXXFLAGS set on the project level).
While here, do the same with CFLAGS and C files.

Do not add H(XX) files (with names identical to C(XX) files) to the VS
projects. This adds a tiny subset of all headers, which is inconsistent.

Change-Id: I6bd932277287d3444bb547b93f2867d226072d60
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/162582
Tested-by: Jenkins
Reviewed-by: Mike Kaganski 

diff --git a/bin/gbuild-to-ide b/bin/gbuild-to-ide
index 5869870de1a9..733520934c30 100755
--- a/bin/gbuild-to-ide
+++ b/bin/gbuild-to-ide
@@ -39,7 +39,7 @@ class GbuildLinkTarget:
 
 @staticmethod
 def __split_objs(objsline):
-return [obj for obj in objsline.strip().split(' ') if len(obj) > 0 and 
obj != 'CXXOBJECTS' and obj != 'COBJECTS' and obj != 'OBJCXXOBJECTS' and obj != 
'+=']
+return [obj for obj in objsline.strip().split(' ') if obj not in { '', 
'CXXOBJECTS', 'COBJECTS', 'OBJCXXOBJECTS', 'CXXCLROBJECTS', '+=' }]
 
 @staticmethod
 def __split_defs(defsline):
@@ -64,17 +64,19 @@ class GbuildLinkTarget:
 
 def __init__(self, json):
 (foundincludes, foundisystem) = 
GbuildLinkTarget.__split_includes(json['INCLUDE'])
-(self.name, self.location, self.include, self.include_sys, self.defs, 
self.cxxobjects, self.cxxflags, self.cobjects, self.objcxxobjects, self.cflags, 
self.linked_libs, self.linked_static_libs, self.link_target) = (
+(self.name, self.location, self.include, self.include_sys, self.defs, 
self.cxxobjects, self.objcxxobjects, self.cxxflags, self.cobjects, self.cflags, 
self.cxxclrobjects, self.cxxclrflags, self.linked_libs, 
self.linked_static_libs, self.link_target) = (
 
type(self).targetpattern.match(os.path.basename(json['MAKEFILE'])).group(1),
 os.path.dirname(json['MAKEFILE']),
 foundincludes,
 foundisystem,
 GbuildLinkTarget.__split_defs(json['DEFS']),
 GbuildLinkTarget.__split_objs(json['CXXOBJECTS']),
+GbuildLinkTarget.__split_objs(json['OBJCXXOBJECTS']),
 GbuildLinkTarget.__split_flags(json['CXXFLAGS'], 
json['CXXFLAGSAPPEND']),
 GbuildLinkTarget.__split_objs(json['COBJECTS']),
-GbuildLinkTarget.__split_objs(json['OBJCXXOBJECTS']),
 GbuildLinkTarget.__split_flags(json['CFLAGS'], 
json['CFLAGSAPPEND']),
+GbuildLinkTarget.__split_objs(json['CXXCLROBJECTS']),
+GbuildLinkTarget.__split_flags(json['CXXCLRFLAGS'], 
json['CXXCLRFLAGSAPPEND']),
 json['LINKED_LIBS'].strip().split(' '),
 json['LINKED_STATIC_LIBS'].strip().split(' '),
 json['LINKTARGET'].strip())
@@ -889,13 +891,21 @@ class 
VisualStudioIntegrationGenerator(IdeIntegrationGenerator):
 self.target = target
 self.path = project_path
 
+# Check if the target is empty (no source files would be added to project 
file)
+@staticmethod
+def should_skip(target):
+return not target.cxxobjects and not target.cxxclrobjects and not 
target.cobjects
+
 def emit(self):
 all_projects = []
-for location in self.gbuildparser.target_by_location:
+for location, targets in self.gbuildparser.target_by_location.items():
 projects = []
 module = location.split('/')[-1]
 module_directory = os.path.join(self.solution_directory, module)
-for target in self.gbuildparser.target_by_location[location]:
+for target in targets:
+if self.should_skip(target):
+print('  %s: no files to add, skipping' % 
target.target_name())
+continue
 project_path = os.path.join(module_directory, '%s.vcxproj' % 
target.target_name())
 project_guid = self.write_project(project_path, target)
 p = VisualStudioIntegrationGenerator.Project(project_guid, 
target, project_path)
@@ -925,6 +935,9 @@ class 
VisualStudioIntegrationGenerator(IdeIntegrationGenerator):
 
 def write_solution(s

help.git: source/text

2024-01-25 Thread Dione Maddern (via logerrit)
 source/text/shared/02/blockarrows.xhp  |1 +
 source/text/shared/menu/save_image.xhp |2 +-
 source/text/simpress/01/1305.xhp   |3 ++-
 source/text/simpress/02/1008.xhp   |4 ++--
 4 files changed, 6 insertions(+), 4 deletions(-)

New commits:
commit e2e86e560d0fea20accc64f8de6fa2011f4b6488
Author: Dione Maddern 
AuthorDate: Wed Jan 24 15:03:14 2024 +0100
Commit: Olivier Hallot 
CommitDate: Fri Jan 26 00:53:19 2024 +0100

tdf#155877 Fix broken links in Shapes and Page Menu help pages

Correct typo in /text/simpress/02/1008.xhp so that pressing F1 opens 
the correct help page for Shapes > Insert > Curves and Polygons > Polygon (45 
degree).

Add HID bookmark in /text/shared/02/blockarrows.xhp so that pressing f1 
opens the correct help page for Shapes > Insert > Block Arrows > Up and Down 
Arrow Callout.

Add correct HID bookmark in /text/shared/menu/save_image.xhp so that 
pressing F1 opens the correct help page for Page > Save Background Image.

Add HID bookmark to /text/simpress/01/1305.xhp so that pressing F1 
opens the correct help page for Shapes > Convert.

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

diff --git a/source/text/shared/02/blockarrows.xhp 
b/source/text/shared/02/blockarrows.xhp
index e2b5b858f8..0b781b9a28 100644
--- a/source/text/shared/02/blockarrows.xhp
+++ b/source/text/shared/02/blockarrows.xhp
@@ -60,6 +60,7 @@
 
 
 
+  
 
 
 Click an icon from the Block 
Arrows toolbar, then drag in the document to draw the shape.
diff --git a/source/text/shared/menu/save_image.xhp 
b/source/text/shared/menu/save_image.xhp
index 601d9389e5..4411fa86f0 100644
--- a/source/text/shared/menu/save_image.xhp
+++ b/source/text/shared/menu/save_image.xhp
@@ -23,7 +23,7 @@
 slide background image;save
 
 
-
+
 Save Background Image
 Saves the background image of the current 
slidepage.
 
diff --git a/source/text/simpress/01/1305.xhp 
b/source/text/simpress/01/1305.xhp
index b76d1c48c9..6956f8363a 100644
--- a/source/text/simpress/01/1305.xhp
+++ b/source/text/simpress/01/1305.xhp
@@ -33,7 +33,8 @@
   
   
   
-  Convert
+  
+Convert
   Options for 
converting the selected object.
   
   
diff --git a/source/text/simpress/02/1008.xhp 
b/source/text/simpress/02/1008.xhp
index ade0bc119a..a83fc39e9f 100644
--- a/source/text/simpress/02/1008.xhp
+++ b/source/text/simpress/02/1008.xhp
@@ -139,9 +139,9 @@
 
 
 
-
+
 Polygon (45°)
-Draws a line composed of a series of 
straight line segments, that are constrained by angles of 45 degree. Drag to 
draw a line segment, click to define the endpoint of the line segment, and then 
drag to draw a new line segment. Double-click to finish drawing the line. To 
create a closed shape, hold down OptionAlt
 and double-click.
+Draws a line composed of a series of 
straight line segments, that are constrained by angles of 45 degree. Drag to 
draw a line segment, click to define the endpoint of the line segment, and then 
drag to draw a new line segment. Double-click to finish drawing the line. To 
create a closed shape, hold down OptionAlt
 and double-click.
 
 
 


core.git: helpcontent2

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

New commits:
commit 8abcdf66bab029a0668aacd4a608e04e490be996
Author: Dione Maddern 
AuthorDate: Fri Jan 26 00:53:19 2024 +0100
Commit: Gerrit Code Review 
CommitDate: Fri Jan 26 00:53:19 2024 +0100

Update git submodules

* Update helpcontent2 from branch 'master'
  to e2e86e560d0fea20accc64f8de6fa2011f4b6488
  - tdf#155877 Fix broken links in Shapes and Page Menu help pages

Correct typo in /text/simpress/02/1008.xhp so that pressing F1 
opens the correct help page for Shapes > Insert > Curves and Polygons > Polygon 
(45 degree).

Add HID bookmark in /text/shared/02/blockarrows.xhp so that pressing f1 
opens the correct help page for Shapes > Insert > Block Arrows > Up and Down 
Arrow Callout.

Add correct HID bookmark in /text/shared/menu/save_image.xhp so that 
pressing F1 opens the correct help page for Page > Save Background Image.

Add HID bookmark to /text/simpress/01/1305.xhp so that pressing F1 
opens the correct help page for Shapes > Convert.

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

diff --git a/helpcontent2 b/helpcontent2
index c762a3dc8124..e2e86e560d0f 16
--- a/helpcontent2
+++ b/helpcontent2
@@ -1 +1 @@
-Subproject commit c762a3dc812420858edbab9bf841ca69c133b985
+Subproject commit e2e86e560d0fea20accc64f8de6fa2011f4b6488


Yiğit Akçay license statement

2024-01-25 Thread yigit . akcay
All of my past & future contributions to LibreOffice may be
licensed under the MPLv2/LGPLv3+ dual license.

Best regards
Yiğit Akçay



core.git: sw/inc sw/source

2024-01-25 Thread Noel Grandin (via logerrit)
 sw/inc/swabstdlg.hxx |2 -
 sw/source/ui/dialog/swdlgfact.cxx|7 +-
 sw/source/ui/dialog/swdlgfact.hxx|7 +++---
 sw/source/ui/frmdlg/wrap.cxx |5 ++--
 sw/source/uibase/inc/drwbassh.hxx|2 -
 sw/source/uibase/inc/wrap.hxx|7 +-
 sw/source/uibase/shells/drwbassh.cxx |   39 +--
 7 files changed, 45 insertions(+), 24 deletions(-)

New commits:
commit 630494adc98a245feadd573aa8463f46b15c7787
Author: Noel Grandin 
AuthorDate: Thu Jan 25 15:40:51 2024 +0200
Commit: Noel Grandin 
CommitDate: Thu Jan 25 21:41:05 2024 +0100

make wrap dialog async

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

diff --git a/sw/inc/swabstdlg.hxx b/sw/inc/swabstdlg.hxx
index a9ceb855b337..690b20c6ea3b 100644
--- a/sw/inc/swabstdlg.hxx
+++ b/sw/inc/swabstdlg.hxx
@@ -486,7 +486,7 @@ public:
   bool 
bSetAutoFormat = true,
   const 
SwTableAutoFormat* pSelFormat = nullptr ) = 0;
 virtual VclPtr CreateSwBorderDlg(weld::Window* pParent, 
SfxItemSet& rSet, SwBorderModes nType) = 0;
-virtual VclPtr CreateSwWrapDlg(weld::Window* pParent, 
SfxItemSet& rSet, SwWrtShell* pSh) = 0;
+virtual VclPtr CreateSwWrapDlg(weld::Window* pParent, 
const SfxItemSet& rSet, SwWrtShell* pSh) = 0;
 
 virtual VclPtr CreateSwTableWidthDlg(weld::Window 
*pParent, SwTableFUNC &rFnc) = 0;
 virtual VclPtr CreateSwTableTabDlg(weld::Window* 
pParent,
diff --git a/sw/source/ui/dialog/swdlgfact.cxx 
b/sw/source/ui/dialog/swdlgfact.cxx
index 30e41e4edaf4..412e3682a910 100644
--- a/sw/source/ui/dialog/swdlgfact.cxx
+++ b/sw/source/ui/dialog/swdlgfact.cxx
@@ -112,6 +112,11 @@ short SwAbstractSfxController_Impl::Execute()
 return m_xDlg->run();
 }
 
+bool SwAbstractSfxController_Impl::StartExecuteAsync(AsyncContext &rCtx)
+{
+return weld::GenericDialogController::runAsync(m_xDlg, rCtx.maEndDialogFn);
+}
+
 short AbstractNumFormatDlg_Impl::Execute()
 {
 return m_xDlg->run();
@@ -1126,7 +1131,7 @@ VclPtr 
SwAbstractDialogFactory_Impl::CreateSwBorderDlg(weld::
 return 
VclPtr::Create(std::make_unique(pParent,
 rSet, nType));
 }
 
-VclPtr 
SwAbstractDialogFactory_Impl::CreateSwWrapDlg(weld::Window* pParent, 
SfxItemSet& rSet, SwWrtShell* pSh)
+VclPtr 
SwAbstractDialogFactory_Impl::CreateSwWrapDlg(weld::Window* pParent, const 
SfxItemSet& rSet, SwWrtShell* pSh)
 {
 return 
VclPtr::Create(std::make_unique(pParent,
 rSet, pSh, true/*bDrawMode*/));
 }
diff --git a/sw/source/ui/dialog/swdlgfact.hxx 
b/sw/source/ui/dialog/swdlgfact.hxx
index c2c043bb3eb6..ac79f2652ddc 100644
--- a/sw/source/ui/dialog/swdlgfact.hxx
+++ b/sw/source/ui/dialog/swdlgfact.hxx
@@ -116,13 +116,14 @@ public:
 
 class SwAbstractSfxController_Impl : public SfxAbstractDialog
 {
-std::unique_ptr m_xDlg;
+std::shared_ptr m_xDlg;
 public:
-explicit 
SwAbstractSfxController_Impl(std::unique_ptr p)
+explicit 
SwAbstractSfxController_Impl(std::shared_ptr p)
 : m_xDlg(std::move(p))
 {
 }
 virtual short Execute() override;
+virtual bool StartExecuteAsync(AsyncContext &rCtx) override;
 virtual const SfxItemSet* GetOutputItemSet() const override;
 virtual void SetText(const OUString& rStr) override;
 };
@@ -793,7 +794,7 @@ public:
   const 
SwTableAutoFormat* pSelFormat = nullptr) override;
 virtual VclPtr CreateSwBorderDlg(weld::Window* pParent, 
SfxItemSet& rSet, SwBorderModes nType) override;
 
-virtual VclPtr CreateSwWrapDlg(weld::Window* pParent, 
SfxItemSet& rSet, SwWrtShell* pSh) override;
+virtual VclPtr CreateSwWrapDlg(weld::Window* pParent, 
const SfxItemSet& rSet, SwWrtShell* pSh) override;
 virtual VclPtr CreateSwTableWidthDlg(weld::Window 
*pParent, SwTableFUNC &rFnc) override;
 virtual VclPtr CreateSwTableTabDlg(weld::Window* 
pParent,
 const SfxItemSet* pItemSet, SwWrtShell* pSh) override;
diff --git a/sw/source/ui/frmdlg/wrap.cxx b/sw/source/ui/frmdlg/wrap.cxx
index 684fe38b22bb..a6ebfec47619 100644
--- a/sw/source/ui/frmdlg/wrap.cxx
+++ b/sw/source/ui/frmdlg/wrap.cxx
@@ -51,10 +51,11 @@ const WhichRangesContainer 
SwWrapTabPage::s_aWrapPageRg(svl::Items<
 >);
 
 SwWrapDlg::SwWrapDlg(weld::Window* pParent, const SfxItemSet& rSet, 
SwWrtShell* pWrtShell, bool bDrawMode)
-: SfxSingleTabDialogController(pParent, &rSet, 
"modules/swriter/ui/wrapdialog.ui", "WrapDialog")
+: SwWrapDlgBase{rSet}, // this is an async dialog, so we need to store a 
copy of the rSet
+  SfxSingleTabDialogController(pParent, &maInputSet, 
"modules/swriter/ui/wrapdialog.ui", "WrapDialog")
 {
 // create TabPage
-auto xNewPage = SwWrapTabPage::Create(get_content_area(), th

core.git: bin/symstore.sh

2024-01-25 Thread Andrea Gelmini (via logerrit)
 bin/symstore.sh |2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

New commits:
commit bae0c8eb3ee3f7d36e8eb0deb662ab029a162f08
Author: Andrea Gelmini 
AuthorDate: Mon Jan 22 17:51:31 2024 +0100
Commit: Julien Nabet 
CommitDate: Thu Jan 25 19:16:35 2024 +0100

Fix typo

Change-Id: Iea9aa138ae2e38635d4a717e8518f83d3775ee9a
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/162411
Reviewed-by: Julien Nabet 
Tested-by: Julien Nabet 

diff --git a/bin/symstore.sh b/bin/symstore.sh
index 8d9be4b8fa58..330e34a79eb5 100755
--- a/bin/symstore.sh
+++ b/bin/symstore.sh
@@ -120,7 +120,7 @@ VERBOSE=verbose_none
 USAGE="Usage: $0 [-h|-k |-p |-c 
|-n|-v]
-h:  this cruft
-c  specifies a comment for the transaction
-   -n   do not store exe/dll on the symbole server
+   -n   do not store exe/dll on the symbol server
-k :keep this number of old symbol versions around
 (default: ${MAX_KEEP}. Set to 0 for unlimited)
-v   verbose mode, output detail report of files


core.git: Branch 'libreoffice-24-2-0' - readlicense_oo/license

2024-01-25 Thread Christian Lohmaier (via logerrit)
 readlicense_oo/license/CREDITS.fodt | 4851 +++-
 1 file changed, 2564 insertions(+), 2287 deletions(-)

New commits:
commit 5212d0d520d3375b4a790ea456d1b4201d3e0ba0
Author: Christian Lohmaier 
AuthorDate: Thu Jan 25 18:46:08 2024 +0100
Commit: Christian Lohmaier 
CommitDate: Thu Jan 25 18:49:45 2024 +0100

update credits

Change-Id: Ifb0ea3df4b544706527081f0ff21694c4dd2cad6
(cherry picked from commit 038476af694ef28f01aedb168273c3ba8709c209)
(cherry picked from commit 8304814a587fa1bdafe2541a1a4c252ec3bc72ae)

diff --git a/readlicense_oo/license/CREDITS.fodt 
b/readlicense_oo/license/CREDITS.fodt
index 3a01416f7c2b..e552e56da725 100644
--- a/readlicense_oo/license/CREDITS.fodt
+++ b/readlicense_oo/license/CREDITS.fodt
@@ -1,24 +1,24 @@
 
 
 http://www.w3.org/TR/css3-text/"; 
xmlns:grddl="http://www.w3.org/2003/g/data-view#"; 
xmlns:xhtml="http://www.w3.org/1999/xhtml"; 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"; 
xmlns:xsd="http://www.w3.org/2001/XMLSchema"; 
xmlns:xforms="http://www.w3.org/2002/xforms"; 
xmlns:dom="http://www.w3.org/2001/xml-events"; 
xmlns:script="urn:oasis:names:tc:opendocument:xmlns:script:1.0" 
xmlns:form="urn:oasis:names:tc:opendocument:xmlns:form:1.0" 
xmlns:math="http://www.w3.org/1998/Math/MathML"; 
xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0" 
xmlns:ooo="http://openoffice.org/2004/office"; 
xmlns:fo="urn:oasis:names:tc:opendocument:xmlns:xsl-fo-compatible:1.0" 
xmlns:config="urn:oasis:names:tc:opendocument:xmlns:config:1.0" 
xmlns:ooow="http://openoffice.org/2004/writer"; 
xmlns:xlink="http://www.w3.org/1999/xlink"; 
xmlns:drawooo="http://openoffice.org/2010/draw"; 
xmlns:oooc="http://openoffice.org/2004/calc"; 
xmlns:dc="http://purl.org/dc/elements/1.1/"; xmlns:c
 alcext="urn:org:documentfoundation:names:experimental:calc:xmlns:calcext:1.0" 
xmlns:style="urn:oasis:names:tc:opendocument:xmlns:style:1.0" 
xmlns:text="urn:oasis:names:tc:opendocument:xmlns:text:1.0" 
xmlns:of="urn:oasis:names:tc:opendocument:xmlns:of:1.2" 
xmlns:tableooo="http://openoffice.org/2009/table"; 
xmlns:draw="urn:oasis:names:tc:opendocument:xmlns:drawing:1.0" 
xmlns:dr3d="urn:oasis:names:tc:opendocument:xmlns:dr3d:1.0" 
xmlns:rpt="http://openoffice.org/2005/report"; 
xmlns:formx="urn:openoffice:names:experimental:ooxml-odf-interop:xmlns:form:1.0"
 xmlns:svg="urn:oasis:names:tc:opendocument:xmlns:svg-compatible:1.0" 
xmlns:chart="urn:oasis:names:tc:opendocument:xmlns:chart:1.0" 
xmlns:officeooo="http://openoffice.org/2009/office"; 
xmlns:table="urn:oasis:names:tc:opendocument:xmlns:table:1.0" 
xmlns:field="urn:openoffice:names:experimental:ooo-ms-interop:xmlns:field:1.0" 
xmlns:number="urn:oasis:names:tc:opendocument:xmlns:datastyle:1.0" 
xmlns:meta="urn:oasis:names:tc:opendocument:xmlns:
 meta:1.0" 
xmlns:loext="urn:org:documentfoundation:names:experimental:office:xmlns:loext:1.0"
 office:version="1.3" office:mimetype="application/vnd.oasis.opendocument.text">
- Credits » 
LibreOfficeCreditscontributorscodersdevelopersCredits
 for the LibreOffice 
development/coding.LibreOffice/7.4.7.2$Linux_X86_64
 
LibreOffice_project/40$Build-22012-02-20T22:17:18.06000PT14M12S3JUebjoxEpqXoQcpltWRTwzBZEEHtch3wApdhgiQPFiA
+ Credits » 
LibreOfficeCreditscontributorscodersdevelopersCredits
 for the LibreOffice 
development/coding.LibreOffice/7.6.4.1$Linux_X86_64
 
LibreOffice_project/e19e193f88cd6c0525a17fb7a176ed8e6a3e2aa12012-02-20T22:17:18.06000PT14M12S3JUebjoxEpqXoQcpltWRTwzBZEEHtch3wApdhgiQPFiA
  
   
-   1752245
+   1169
501
-   48182
-   21592
+   55167
+   26989
true
true

 
  view2
- 24075
- 1773068
+ 3649
+ 3434
  501
- 1752245
- 48682
- 1773835
+ 1169
+ 55667
+ 28157
  0
  0
  false
@@ -26,68 +26,53 @@
  false
  false
  false
+ false
+ false
+ false
 

   
   
-   false
-   false
-   false
+   true
+   false
true
-   true
+   false
true
-   true
-   true
+   false
false
0
-   false
-   false
+   false
+   false
+   false
+   false
false
-   false
+   false
true
+   true
true
-   false
false
-   false
+   
+   false
false
-   false
+   false
+   false
+   false
true
-   true
true
false
-   false
-   false
false
false
+   false
false
false
-   false
true
-   false
-   false
-   true
+   false
false
-   false
-   false
-   true
-   0
-   1
-   true
-   false
-   
-   high-resolution
-   false
-   
+   1557161
+   false
Adressen
-   false
-   false
-   true
-   false
-   false
-   true
-   true
-   false
-   true
+   true
+   false

 
  hu
@@ -97,54 +82,73 @@
  
 

-   
-   true
-   12928953
-   
-   true
-   false
+   false
+   13054093
true
-   true
-   0
-   
+   false
false
-   false
-   false
-   false
-   false
+   false
+   1
+   true
true
+   false
+   false
+   false
+   false
+   true
+   

core.git: Branch 'libreoffice-24-2' - readlicense_oo/license

2024-01-25 Thread Christian Lohmaier (via logerrit)
 readlicense_oo/license/CREDITS.fodt | 4851 +++-
 1 file changed, 2564 insertions(+), 2287 deletions(-)

New commits:
commit 8304814a587fa1bdafe2541a1a4c252ec3bc72ae
Author: Christian Lohmaier 
AuthorDate: Thu Jan 25 18:46:08 2024 +0100
Commit: Christian Lohmaier 
CommitDate: Thu Jan 25 18:48:48 2024 +0100

update credits

Change-Id: Ifb0ea3df4b544706527081f0ff21694c4dd2cad6
(cherry picked from commit 038476af694ef28f01aedb168273c3ba8709c209)

diff --git a/readlicense_oo/license/CREDITS.fodt 
b/readlicense_oo/license/CREDITS.fodt
index 3a01416f7c2b..e552e56da725 100644
--- a/readlicense_oo/license/CREDITS.fodt
+++ b/readlicense_oo/license/CREDITS.fodt
@@ -1,24 +1,24 @@
 
 
 http://www.w3.org/TR/css3-text/"; 
xmlns:grddl="http://www.w3.org/2003/g/data-view#"; 
xmlns:xhtml="http://www.w3.org/1999/xhtml"; 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"; 
xmlns:xsd="http://www.w3.org/2001/XMLSchema"; 
xmlns:xforms="http://www.w3.org/2002/xforms"; 
xmlns:dom="http://www.w3.org/2001/xml-events"; 
xmlns:script="urn:oasis:names:tc:opendocument:xmlns:script:1.0" 
xmlns:form="urn:oasis:names:tc:opendocument:xmlns:form:1.0" 
xmlns:math="http://www.w3.org/1998/Math/MathML"; 
xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0" 
xmlns:ooo="http://openoffice.org/2004/office"; 
xmlns:fo="urn:oasis:names:tc:opendocument:xmlns:xsl-fo-compatible:1.0" 
xmlns:config="urn:oasis:names:tc:opendocument:xmlns:config:1.0" 
xmlns:ooow="http://openoffice.org/2004/writer"; 
xmlns:xlink="http://www.w3.org/1999/xlink"; 
xmlns:drawooo="http://openoffice.org/2010/draw"; 
xmlns:oooc="http://openoffice.org/2004/calc"; 
xmlns:dc="http://purl.org/dc/elements/1.1/"; xmlns:c
 alcext="urn:org:documentfoundation:names:experimental:calc:xmlns:calcext:1.0" 
xmlns:style="urn:oasis:names:tc:opendocument:xmlns:style:1.0" 
xmlns:text="urn:oasis:names:tc:opendocument:xmlns:text:1.0" 
xmlns:of="urn:oasis:names:tc:opendocument:xmlns:of:1.2" 
xmlns:tableooo="http://openoffice.org/2009/table"; 
xmlns:draw="urn:oasis:names:tc:opendocument:xmlns:drawing:1.0" 
xmlns:dr3d="urn:oasis:names:tc:opendocument:xmlns:dr3d:1.0" 
xmlns:rpt="http://openoffice.org/2005/report"; 
xmlns:formx="urn:openoffice:names:experimental:ooxml-odf-interop:xmlns:form:1.0"
 xmlns:svg="urn:oasis:names:tc:opendocument:xmlns:svg-compatible:1.0" 
xmlns:chart="urn:oasis:names:tc:opendocument:xmlns:chart:1.0" 
xmlns:officeooo="http://openoffice.org/2009/office"; 
xmlns:table="urn:oasis:names:tc:opendocument:xmlns:table:1.0" 
xmlns:field="urn:openoffice:names:experimental:ooo-ms-interop:xmlns:field:1.0" 
xmlns:number="urn:oasis:names:tc:opendocument:xmlns:datastyle:1.0" 
xmlns:meta="urn:oasis:names:tc:opendocument:xmlns:
 meta:1.0" 
xmlns:loext="urn:org:documentfoundation:names:experimental:office:xmlns:loext:1.0"
 office:version="1.3" office:mimetype="application/vnd.oasis.opendocument.text">
- Credits » 
LibreOfficeCreditscontributorscodersdevelopersCredits
 for the LibreOffice 
development/coding.LibreOffice/7.4.7.2$Linux_X86_64
 
LibreOffice_project/40$Build-22012-02-20T22:17:18.06000PT14M12S3JUebjoxEpqXoQcpltWRTwzBZEEHtch3wApdhgiQPFiA
+ Credits » 
LibreOfficeCreditscontributorscodersdevelopersCredits
 for the LibreOffice 
development/coding.LibreOffice/7.6.4.1$Linux_X86_64
 
LibreOffice_project/e19e193f88cd6c0525a17fb7a176ed8e6a3e2aa12012-02-20T22:17:18.06000PT14M12S3JUebjoxEpqXoQcpltWRTwzBZEEHtch3wApdhgiQPFiA
  
   
-   1752245
+   1169
501
-   48182
-   21592
+   55167
+   26989
true
true

 
  view2
- 24075
- 1773068
+ 3649
+ 3434
  501
- 1752245
- 48682
- 1773835
+ 1169
+ 55667
+ 28157
  0
  0
  false
@@ -26,68 +26,53 @@
  false
  false
  false
+ false
+ false
+ false
 

   
   
-   false
-   false
-   false
+   true
+   false
true
-   true
+   false
true
-   true
-   true
+   false
false
0
-   false
-   false
+   false
+   false
+   false
+   false
false
-   false
+   false
true
+   true
true
-   false
false
-   false
+   
+   false
false
-   false
+   false
+   false
+   false
true
-   true
true
false
-   false
-   false
false
false
+   false
false
false
-   false
true
-   false
-   false
-   true
+   false
false
-   false
-   false
-   true
-   0
-   1
-   true
-   false
-   
-   high-resolution
-   false
-   
+   1557161
+   false
Adressen
-   false
-   false
-   true
-   false
-   false
-   true
-   true
-   false
-   true
+   true
+   false

 
  hu
@@ -97,54 +82,73 @@
  
 

-   
-   true
-   12928953
-   
-   true
-   false
+   false
+   13054093
true
-   true
-   0
-   
+   false
false
-   false
-   false
-   false
-   false
+   false
+   1
+   true
true
+   false
+   false
+   false
+   false
+   true
+   true
+   true
+   true
+   false
+   true
0
-   false
-   false
-   f

core.git: Branch 'libreoffice-7-6' - readlicense_oo/license

2024-01-25 Thread Christian Lohmaier (via logerrit)
 readlicense_oo/license/CREDITS.fodt | 4851 +++-
 1 file changed, 2564 insertions(+), 2287 deletions(-)

New commits:
commit 1d2ea4dfafe9bf987f991f6af30d80479a4dea5f
Author: Christian Lohmaier 
AuthorDate: Thu Jan 25 18:46:08 2024 +0100
Commit: Christian Lohmaier 
CommitDate: Thu Jan 25 18:48:24 2024 +0100

update credits

Change-Id: Ifb0ea3df4b544706527081f0ff21694c4dd2cad6
(cherry picked from commit 038476af694ef28f01aedb168273c3ba8709c209)

diff --git a/readlicense_oo/license/CREDITS.fodt 
b/readlicense_oo/license/CREDITS.fodt
index 3a01416f7c2b..e552e56da725 100644
--- a/readlicense_oo/license/CREDITS.fodt
+++ b/readlicense_oo/license/CREDITS.fodt
@@ -1,24 +1,24 @@
 
 
 http://www.w3.org/TR/css3-text/"; 
xmlns:grddl="http://www.w3.org/2003/g/data-view#"; 
xmlns:xhtml="http://www.w3.org/1999/xhtml"; 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"; 
xmlns:xsd="http://www.w3.org/2001/XMLSchema"; 
xmlns:xforms="http://www.w3.org/2002/xforms"; 
xmlns:dom="http://www.w3.org/2001/xml-events"; 
xmlns:script="urn:oasis:names:tc:opendocument:xmlns:script:1.0" 
xmlns:form="urn:oasis:names:tc:opendocument:xmlns:form:1.0" 
xmlns:math="http://www.w3.org/1998/Math/MathML"; 
xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0" 
xmlns:ooo="http://openoffice.org/2004/office"; 
xmlns:fo="urn:oasis:names:tc:opendocument:xmlns:xsl-fo-compatible:1.0" 
xmlns:config="urn:oasis:names:tc:opendocument:xmlns:config:1.0" 
xmlns:ooow="http://openoffice.org/2004/writer"; 
xmlns:xlink="http://www.w3.org/1999/xlink"; 
xmlns:drawooo="http://openoffice.org/2010/draw"; 
xmlns:oooc="http://openoffice.org/2004/calc"; 
xmlns:dc="http://purl.org/dc/elements/1.1/"; xmlns:c
 alcext="urn:org:documentfoundation:names:experimental:calc:xmlns:calcext:1.0" 
xmlns:style="urn:oasis:names:tc:opendocument:xmlns:style:1.0" 
xmlns:text="urn:oasis:names:tc:opendocument:xmlns:text:1.0" 
xmlns:of="urn:oasis:names:tc:opendocument:xmlns:of:1.2" 
xmlns:tableooo="http://openoffice.org/2009/table"; 
xmlns:draw="urn:oasis:names:tc:opendocument:xmlns:drawing:1.0" 
xmlns:dr3d="urn:oasis:names:tc:opendocument:xmlns:dr3d:1.0" 
xmlns:rpt="http://openoffice.org/2005/report"; 
xmlns:formx="urn:openoffice:names:experimental:ooxml-odf-interop:xmlns:form:1.0"
 xmlns:svg="urn:oasis:names:tc:opendocument:xmlns:svg-compatible:1.0" 
xmlns:chart="urn:oasis:names:tc:opendocument:xmlns:chart:1.0" 
xmlns:officeooo="http://openoffice.org/2009/office"; 
xmlns:table="urn:oasis:names:tc:opendocument:xmlns:table:1.0" 
xmlns:field="urn:openoffice:names:experimental:ooo-ms-interop:xmlns:field:1.0" 
xmlns:number="urn:oasis:names:tc:opendocument:xmlns:datastyle:1.0" 
xmlns:meta="urn:oasis:names:tc:opendocument:xmlns:
 meta:1.0" 
xmlns:loext="urn:org:documentfoundation:names:experimental:office:xmlns:loext:1.0"
 office:version="1.3" office:mimetype="application/vnd.oasis.opendocument.text">
- Credits » 
LibreOfficeCreditscontributorscodersdevelopersCredits
 for the LibreOffice 
development/coding.LibreOffice/7.4.7.2$Linux_X86_64
 
LibreOffice_project/40$Build-22012-02-20T22:17:18.06000PT14M12S3JUebjoxEpqXoQcpltWRTwzBZEEHtch3wApdhgiQPFiA
+ Credits » 
LibreOfficeCreditscontributorscodersdevelopersCredits
 for the LibreOffice 
development/coding.LibreOffice/7.6.4.1$Linux_X86_64
 
LibreOffice_project/e19e193f88cd6c0525a17fb7a176ed8e6a3e2aa12012-02-20T22:17:18.06000PT14M12S3JUebjoxEpqXoQcpltWRTwzBZEEHtch3wApdhgiQPFiA
  
   
-   1752245
+   1169
501
-   48182
-   21592
+   55167
+   26989
true
true

 
  view2
- 24075
- 1773068
+ 3649
+ 3434
  501
- 1752245
- 48682
- 1773835
+ 1169
+ 55667
+ 28157
  0
  0
  false
@@ -26,68 +26,53 @@
  false
  false
  false
+ false
+ false
+ false
 

   
   
-   false
-   false
-   false
+   true
+   false
true
-   true
+   false
true
-   true
-   true
+   false
false
0
-   false
-   false
+   false
+   false
+   false
+   false
false
-   false
+   false
true
+   true
true
-   false
false
-   false
+   
+   false
false
-   false
+   false
+   false
+   false
true
-   true
true
false
-   false
-   false
false
false
+   false
false
false
-   false
true
-   false
-   false
-   true
+   false
false
-   false
-   false
-   true
-   0
-   1
-   true
-   false
-   
-   high-resolution
-   false
-   
+   1557161
+   false
Adressen
-   false
-   false
-   true
-   false
-   false
-   true
-   true
-   false
-   true
+   true
+   false

 
  hu
@@ -97,54 +82,73 @@
  
 

-   
-   true
-   12928953
-   
-   true
-   false
+   false
+   13054093
true
-   true
-   0
-   
+   false
false
-   false
-   false
-   false
-   false
+   false
+   1
+   true
true
+   false
+   false
+   false
+   false
+   true
+   true
+   true
+   true
+   false
+   true
0
-   false
-   false
-   f

core.git: readlicense_oo/license

2024-01-25 Thread Christian Lohmaier (via logerrit)
 readlicense_oo/license/CREDITS.fodt | 4851 +++-
 1 file changed, 2564 insertions(+), 2287 deletions(-)

New commits:
commit 038476af694ef28f01aedb168273c3ba8709c209
Author: Christian Lohmaier 
AuthorDate: Thu Jan 25 18:46:08 2024 +0100
Commit: Christian Lohmaier 
CommitDate: Thu Jan 25 18:46:20 2024 +0100

update credits

Change-Id: Ifb0ea3df4b544706527081f0ff21694c4dd2cad6

diff --git a/readlicense_oo/license/CREDITS.fodt 
b/readlicense_oo/license/CREDITS.fodt
index 3a01416f7c2b..e552e56da725 100644
--- a/readlicense_oo/license/CREDITS.fodt
+++ b/readlicense_oo/license/CREDITS.fodt
@@ -1,24 +1,24 @@
 
 
 http://www.w3.org/TR/css3-text/"; 
xmlns:grddl="http://www.w3.org/2003/g/data-view#"; 
xmlns:xhtml="http://www.w3.org/1999/xhtml"; 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"; 
xmlns:xsd="http://www.w3.org/2001/XMLSchema"; 
xmlns:xforms="http://www.w3.org/2002/xforms"; 
xmlns:dom="http://www.w3.org/2001/xml-events"; 
xmlns:script="urn:oasis:names:tc:opendocument:xmlns:script:1.0" 
xmlns:form="urn:oasis:names:tc:opendocument:xmlns:form:1.0" 
xmlns:math="http://www.w3.org/1998/Math/MathML"; 
xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0" 
xmlns:ooo="http://openoffice.org/2004/office"; 
xmlns:fo="urn:oasis:names:tc:opendocument:xmlns:xsl-fo-compatible:1.0" 
xmlns:config="urn:oasis:names:tc:opendocument:xmlns:config:1.0" 
xmlns:ooow="http://openoffice.org/2004/writer"; 
xmlns:xlink="http://www.w3.org/1999/xlink"; 
xmlns:drawooo="http://openoffice.org/2010/draw"; 
xmlns:oooc="http://openoffice.org/2004/calc"; 
xmlns:dc="http://purl.org/dc/elements/1.1/"; xmlns:c
 alcext="urn:org:documentfoundation:names:experimental:calc:xmlns:calcext:1.0" 
xmlns:style="urn:oasis:names:tc:opendocument:xmlns:style:1.0" 
xmlns:text="urn:oasis:names:tc:opendocument:xmlns:text:1.0" 
xmlns:of="urn:oasis:names:tc:opendocument:xmlns:of:1.2" 
xmlns:tableooo="http://openoffice.org/2009/table"; 
xmlns:draw="urn:oasis:names:tc:opendocument:xmlns:drawing:1.0" 
xmlns:dr3d="urn:oasis:names:tc:opendocument:xmlns:dr3d:1.0" 
xmlns:rpt="http://openoffice.org/2005/report"; 
xmlns:formx="urn:openoffice:names:experimental:ooxml-odf-interop:xmlns:form:1.0"
 xmlns:svg="urn:oasis:names:tc:opendocument:xmlns:svg-compatible:1.0" 
xmlns:chart="urn:oasis:names:tc:opendocument:xmlns:chart:1.0" 
xmlns:officeooo="http://openoffice.org/2009/office"; 
xmlns:table="urn:oasis:names:tc:opendocument:xmlns:table:1.0" 
xmlns:field="urn:openoffice:names:experimental:ooo-ms-interop:xmlns:field:1.0" 
xmlns:number="urn:oasis:names:tc:opendocument:xmlns:datastyle:1.0" 
xmlns:meta="urn:oasis:names:tc:opendocument:xmlns:
 meta:1.0" 
xmlns:loext="urn:org:documentfoundation:names:experimental:office:xmlns:loext:1.0"
 office:version="1.3" office:mimetype="application/vnd.oasis.opendocument.text">
- Credits » 
LibreOfficeCreditscontributorscodersdevelopersCredits
 for the LibreOffice 
development/coding.LibreOffice/7.4.7.2$Linux_X86_64
 
LibreOffice_project/40$Build-22012-02-20T22:17:18.06000PT14M12S3JUebjoxEpqXoQcpltWRTwzBZEEHtch3wApdhgiQPFiA
+ Credits » 
LibreOfficeCreditscontributorscodersdevelopersCredits
 for the LibreOffice 
development/coding.LibreOffice/7.6.4.1$Linux_X86_64
 
LibreOffice_project/e19e193f88cd6c0525a17fb7a176ed8e6a3e2aa12012-02-20T22:17:18.06000PT14M12S3JUebjoxEpqXoQcpltWRTwzBZEEHtch3wApdhgiQPFiA
  
   
-   1752245
+   1169
501
-   48182
-   21592
+   55167
+   26989
true
true

 
  view2
- 24075
- 1773068
+ 3649
+ 3434
  501
- 1752245
- 48682
- 1773835
+ 1169
+ 55667
+ 28157
  0
  0
  false
@@ -26,68 +26,53 @@
  false
  false
  false
+ false
+ false
+ false
 

   
   
-   false
-   false
-   false
+   true
+   false
true
-   true
+   false
true
-   true
-   true
+   false
false
0
-   false
-   false
+   false
+   false
+   false
+   false
false
-   false
+   false
true
+   true
true
-   false
false
-   false
+   
+   false
false
-   false
+   false
+   false
+   false
true
-   true
true
false
-   false
-   false
false
false
+   false
false
false
-   false
true
-   false
-   false
-   true
+   false
false
-   false
-   false
-   true
-   0
-   1
-   true
-   false
-   
-   high-resolution
-   false
-   
+   1557161
+   false
Adressen
-   false
-   false
-   true
-   false
-   false
-   true
-   true
-   false
-   true
+   true
+   false

 
  hu
@@ -97,54 +82,73 @@
  
 

-   
-   true
-   12928953
-   
-   true
-   false
+   false
+   13054093
true
-   true
-   0
-   
+   false
false
-   false
-   false
-   false
-   false
+   false
+   1
+   true
true
+   false
+   false
+   false
+   false
+   true
+   true
+   true
+   true
+   false
+   true
0
-   false
-   false
-   false
+   
+   true
+   true
+   false
+   false
+   
+   0
+   true
+   f

core.git: Repository.mk static/CustomTarget_unoembind.mk static/Module_static.mk static/Package_unoembind.mk static/README.wasm.md static/source

2024-01-25 Thread Stephan Bergmann (via logerrit)
 Repository.mk |1 
 static/CustomTarget_unoembind.mk  |   10 
 static/Module_static.mk   |1 
 static/Package_unoembind.mk   |   18 +
 static/README.wasm.md |   18 -
 static/source/embindmaker/embindmaker.cxx |  335 +++---
 6 files changed, 260 insertions(+), 123 deletions(-)

New commits:
commit cbae6e581ad62771122d35742bd304be44fb982c
Author: Stephan Bergmann 
AuthorDate: Thu Jan 25 16:59:49 2024 +0100
Commit: Stephan Bergmann 
CommitDate: Thu Jan 25 18:31:42 2024 +0100

Let embindmaker also generate a .js file with more natural names

(i.e., Module.unoembind_uno.com.sun.star... vs. Module.com$sun$star$..., 
and see
the updated examples in static/README.wasm.md for further shortening that to
just css...)

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

diff --git a/Repository.mk b/Repository.mk
index 2eb8ae6936e8..f39f9dc656df 100644
--- a/Repository.mk
+++ b/Repository.mk
@@ -1036,6 +1036,7 @@ $(eval $(call 
gb_Helper_register_packages_for_install,ooo,\
) \
resource_fonts \
cui \
+   $(if $(filter EMSCRIPTEN,$(OS)),unoembind) \
 ))
 
 $(eval $(call gb_Helper_register_packages_for_install,ooo_fonts,\
diff --git a/static/CustomTarget_unoembind.mk b/static/CustomTarget_unoembind.mk
index 4bed6f585fa7..cccb36f1dce2 100644
--- a/static/CustomTarget_unoembind.mk
+++ b/static/CustomTarget_unoembind.mk
@@ -11,12 +11,16 @@ $(eval $(call 
gb_CustomTarget_CustomTarget,static/unoembind))
 
 $(eval $(call gb_CustomTarget_register_targets,static/unoembind, \
 bindings_uno.cxx \
+bindings_uno.js \
 ))
 
-$(call gb_CustomTarget_get_workdir,static/unoembind)/bindings_uno.cxx: \
+$(call gb_CustomTarget_get_workdir,static/unoembind)/bindings_uno.cxx \
+$(call gb_CustomTarget_get_workdir,static/unoembind)/bindings_uno.js: \
 $(call gb_Executable_get_target_for_build,embindmaker) $(call 
gb_UnoApi_get_target,udkapi) \
 $(call gb_UnoApi_get_target,offapi)
-   $(call gb_Executable_get_command,embindmaker) uno +$(call 
gb_UnoApi_get_target,udkapi) \
-+$(call gb_UnoApi_get_target,offapi) > $@
+   $(call gb_Executable_get_command,embindmaker) uno \
+$(call gb_CustomTarget_get_workdir,static/unoembind)/bindings_uno.cxx \
+$(call gb_CustomTarget_get_workdir,static/unoembind)/bindings_uno.js \
++$(call gb_UnoApi_get_target,udkapi) +$(call 
gb_UnoApi_get_target,offapi)
 
 # vim: set noet sw=4 ts=4:
diff --git a/static/Module_static.mk b/static/Module_static.mk
index 3b785c7ba4cb..c91441a6b924 100644
--- a/static/Module_static.mk
+++ b/static/Module_static.mk
@@ -19,6 +19,7 @@ ifeq (EMSCRIPTEN,$(OS))
 $(eval $(call gb_Module_add_targets,static,\
 CustomTarget_emscripten_fs_image \
 CustomTarget_unoembind \
+Package_unoembind \
 StaticLibrary_unoembind \
 $(if $(ENABLE_QT5), \
 CustomTarget_wasm-qt5-mandelbrot_moc \
diff --git a/static/Package_unoembind.mk b/static/Package_unoembind.mk
new file mode 100644
index ..d1f82b970424
--- /dev/null
+++ b/static/Package_unoembind.mk
@@ -0,0 +1,18 @@
+# -*- Mode: makefile-gmake; tab-width: 4; indent-tabs-mode: t; fill-column: 
100 -*-
+#
+# This file is part of the LibreOffice project.
+#
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+#
+
+$(eval $(call gb_Package_Package,unoembind,$(call 
gb_CustomTarget_get_workdir,static/unoembind)))
+
+$(eval $(call gb_Package_use_custom_target,unoembind,static/unoembind))
+
+$(eval $(call gb_Package_add_files,unoembind,$(LIBO_BIN_FOLDER), \
+bindings_uno.js \
+))
+
+# vim: set noet sw=4 ts=4:
diff --git a/static/README.wasm.md b/static/README.wasm.md
index f39a79247d00..2bfecb404a7e 100644
--- a/static/README.wasm.md
+++ b/static/README.wasm.md
@@ -223,29 +223,33 @@ improvement! ;)
 Some usage examples through javascript of the current implementation:
 ```js
 // inserts a string at the start of the Writer document.
+Module.init_unoembind_uno();
+let css = Module.unoembind_uno.com.sun.star;
 xModel = Module.getCurrentModelFromViewSh();
-xTextDocument = new Module.com$sun$star$text$XTextDocumentRef(xModel, 
Module.UnoReference_Query.UNO_QUERY);
+xTextDocument = new css.text.XTextDocument(xModel, 
Module.UnoReference_Query.UNO_QUERY);
 xText = xTextDocument.getText();
-xSimpleText = new Module.com$sun$star$text$XSimpleTextRef(xText, 
Module.UnoReference_Query.UNO_QUERY);
+xSimpleText = new css.text.XSimpleText(xText, 
Module.UnoReference_Query.UNO_QUERY);
 xTextCursor = xSimpleText.createTextCursor();
-xTextRange = new Module.com$sun$star$text$XTextRangeRef(xTextCursor, 
Module.UnoReference_Query.UN

ESC meeting minutes: 2024-01-25

2024-01-25 Thread Miklos Vajna

* Present:
+ Caolan, Cloph, Heiko, Olivier, Ilmari, Stephan, Stephane, Xisco, Hossein, 
Miklos, Michael W, Michael S, Gabriel

* Completed Action Items:
+ try to restore source code links in crashreports (Cloph)
  + done, for new reports
  + also fixed 24.2 reports
+ look at missing bundled python in bibisect binaries (Xisco)
  + see mailing list post

* Pending Action Items:

* Release Engineering update (Cloph)
+ 7.6: 7.6.5 RC1 in 1 week
  + plan to tag on Tuesday
+ 24.2: RC 3 this week, later today
  + open reviews: 
  + libreoffice-24-2-0 branch, needs +2 reviews
  + late features:
+ MAR updates (Stephan)
+ still need to put that in place (Cloph)
  + in practice, this is only needed for .1 (Stephan)
  + good to check the rc2 -> rc2 already (Cloph)
+ Jenkins config read permission, is that good to not have? (Miklos)
  + ${LODE_HOME}/bin/tb_slave_wrapper --real --mode=config --clean (Cloph)
  + Config=windows_msc_dbgutil_32 , Config=linux_clang_dbgutil_64
Config=macosx_clang_dbgutil , Config=linux_gcc_release_64
→ determines what distro-config is used from distro-configs/Jenkins
  + ${LODE_HOME}/bin/kill-wrapper "${LODE_HOME}/bin/tb_slave_wrapper --real 
--mode=config --clean" 900
  + think this is all the non-trivial bits (Cloph)
(with_jdk_home is set to older JDK for 7-6 branch for example, or 
android builds set PATH=${PATH}:/opt/rh/rh-python38/root/usr/bin in addition)
  + jenkins builders have LODE_HOME environment variable set (cloph)
→ that e.g. has some special treatment in configure.ac to 
--enable-werror

* Documentation (Olivier)
+ Helpcontent2
  + Updated in Help for UNO commands (ohallot)
  + Updates in links (D. Maddern)
  + Fix on macOS-specific Help (P. Luby)
+ Guides
  + Published Getting Started Guide 7.6 (R. Thornton, V. Slavitskaya, + ... 
)
 
https://blog.documentfoundation.org/blog/2024/01/25/new-getting-started-guide-for-libreoffice-7-6/
+ Most annoying bug for Guides:
+ https://bugs.documentfoundation.org/show_bug.cgi?id=159366
  Loss of list formatting on reloading document

+ Bugzilla Documentation statistics
275(275) bugs open
+ Updates:
BZ changes   1 week   1 month   3 months   12 months
   created  5(1)15(3)  35(-1)246(-1)
 commented 16(10)   62(9) 158(-1)961(4)
  resolved  1(0) 8(1)  14(-1)130(0)
+ top 10 contributors:
  Nabet, Julien made 13 changes in 1 month, and 46 changes in 1 year
  Faisal made 6 changes in 1 month, and 6 changes in 1 year
  Heiko Tietze made 5 changes in 1 month, and 105 changes in 1 year
  Ilmari Lauhakangas made 5 changes in 1 month, and 90 changes in 1 year
  Olivier Hallot made 5 changes in 1 month, and 367 changes in 1 year
  Stéphane Guillou made 5 changes in 1 month, and 278 changes in 1 year
  Kaganski, Mike made 4 changes in 1 month, and 66 changes in 1 year
  libretist made 4 changes in 1 month, and 4 changes in 1 year
  Telesto made 4 changes in 1 month, and 9 changes in 1 year
  Eivind Samseth made 3 changes in 1 month, and 3 changes in 1 year

* UX Update (Heiko)
+ Bugzilla (topicUI) statistics
249(249) (topicUI) bugs open, 59(59) (needsUXEval) needs to be 
evaluated by the UXteam
+ Updates:
BZ changes   1 week1 month3 months   12 months
 added  2(-4) 16(-8) 28(-8)  41(-7)
 commented 39(-46)   156(-56)   563(-67)   2175(-60)
   removed  0(0)   0(-1)  3(0)   14(0)
  resolved  7(3)  18(2)  68(1)  319(0)
+ top 10 contributors:
  Heiko Tietze made 101 changes in 1 month, and 1289 changes in 1 year
  Stéphane Guillou made 53 changes in 1 month, and 612 changes in 1 year
  Eyal Rozenberg made 21 changes in 1 month, and 211 changes in 1 year
  Dieter made 13 changes in 1 month, and 209 changes in 1 year
  Telesto made 13 changes in 1 month, and 48 changes in 1 year
  Jim Raykowski made 12 changes in 1 month, and 30 changes in 1 year
  Vernon, Stuart Foote made 11 changes in 1 month, and 279 changes in 1 
year
  Samuel Mehrbrodt made 8 changes in 1 month, and 18 changes in 1 year
  Seth Chaiklin made 8 changes in 1 month, and 81 changes in 1 year
  Akshay Warrier made 7 changes in 1 month, and 7 changes in 1 year
+ [Bug 159299] Usability: Menu item "View/Field Names" and causing 
confusion,
   suggest removing entry and keyboard shortcut
+ [Bug 159100] Sidebar Hide/Show widget, the Show action is active beyond 
its
   button bounds
 -> + [Bug 159091] UI: The function of the Automatic recovery dialog was 
interrupted

core.git: sw/qa xmloff/source

2024-01-25 Thread Samuel Mehrbrodt (via logerrit)
 sw/qa/extras/odfexport/data/personalmetadata.odt |binary
 sw/qa/extras/odfexport/odfexport2.cxx|   39 ++
 xmloff/source/meta/xmlmetae.cxx  |   40 ---
 3 files changed, 61 insertions(+), 18 deletions(-)

New commits:
commit c479944eb4f9f5a22c7b248185f22c86ea85d12a
Author: Samuel Mehrbrodt 
AuthorDate: Tue Jan 23 15:53:28 2024 +0100
Commit: Samuel Mehrbrodt 
CommitDate: Thu Jan 25 16:51:06 2024 +0100

Don't export personal metadata when user wishes not to

Currently the metadata is only reset to default when the option
to remove personal metadata is active.

And some metadata was still exported which might contain personal data.

Now the following elements won't be exported anymore when the 
RemovePersonalInfoOnSaving
option is set to true:
* meta:initial-creator
* meta:creation-date
* dc:date
* dc:creator
* meta:printed-by
* meta:print-date
* meta:editing-duration
* meta:editing-cycles
* meta:template

Change-Id: Ibad57fdbff04bf285881826820ec3ddb01ffbb36
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/162553
Tested-by: Jenkins
Reviewed-by: Samuel Mehrbrodt 

diff --git a/sw/qa/extras/odfexport/data/personalmetadata.odt 
b/sw/qa/extras/odfexport/data/personalmetadata.odt
new file mode 100644
index ..9af4e0a3442f
Binary files /dev/null and b/sw/qa/extras/odfexport/data/personalmetadata.odt 
differ
diff --git a/sw/qa/extras/odfexport/odfexport2.cxx 
b/sw/qa/extras/odfexport/odfexport2.cxx
index 708a4f94cba0..4160f48ab388 100644
--- a/sw/qa/extras/odfexport/odfexport2.cxx
+++ b/sw/qa/extras/odfexport/odfexport2.cxx
@@ -27,9 +27,11 @@
 #include 
 #include 
 #include 
+#include 
 #include 
 #include 
 #include 
+#include 
 #include 
 #include 
 #include 
@@ -565,6 +567,43 @@ CPPUNIT_TEST_FIXTURE(Test, tdf150927)
 assertXPath(pXmlDoc, 
"/office:document-styles/office:automatic-styles/style:style[@style:family='table']"_ostr,
 2);
 }
 
+CPPUNIT_TEST_FIXTURE(Test, testPersonalMetaData)
+{
+// 1. Remove personal info, keep user info
+auto pBatch(comphelper::ConfigurationChanges::create());
+
officecfg::Office::Common::Security::Scripting::RemovePersonalInfoOnSaving::set(true,
 pBatch);
+
officecfg::Office::Common::Security::Scripting::KeepDocUserInfoOnSaving::set(true,
 pBatch);
+pBatch->commit();
+
+loadAndReload("personalmetadata.odt");
+xmlDocUniquePtr pXmlDoc = parseExport("meta.xml");
+assertXPath(pXmlDoc, 
"/office:document-meta/office:meta/meta:initial-creator"_ostr, 1);
+assertXPath(pXmlDoc, 
"/office:document-meta/office:meta/meta:creation-date"_ostr, 1);
+assertXPath(pXmlDoc, "/office:document-meta/office:meta/dc:date"_ostr, 1);
+assertXPath(pXmlDoc, "/office:document-meta/office:meta/dc:creator"_ostr, 
1);
+assertXPath(pXmlDoc, 
"/office:document-meta/office:meta/meta:printed-by"_ostr, 1);
+assertXPath(pXmlDoc, 
"/office:document-meta/office:meta/meta:print-date"_ostr, 1);
+assertXPath(pXmlDoc, 
"/office:document-meta/office:meta/meta:editing-duration"_ostr, 0);
+assertXPath(pXmlDoc, 
"/office:document-meta/office:meta/meta:editing-cycles"_ostr, 0);
+assertXPath(pXmlDoc, 
"/office:document-meta/office:meta/meta:template"_ostr, 0);
+
+// 2. Remove user info too
+
officecfg::Office::Common::Security::Scripting::KeepDocUserInfoOnSaving::set(false,
 pBatch);
+pBatch->commit();
+
+loadAndReload("personalmetadata.odt");
+pXmlDoc = parseExport("meta.xml");
+assertXPath(pXmlDoc, 
"/office:document-meta/office:meta/meta:initial-creator"_ostr, 0);
+assertXPath(pXmlDoc, 
"/office:document-meta/office:meta/meta:creation-date"_ostr, 0);
+assertXPath(pXmlDoc, "/office:document-meta/office:meta/dc:date"_ostr, 0);
+assertXPath(pXmlDoc, "/office:document-meta/office:meta/dc:creator"_ostr, 
0);
+assertXPath(pXmlDoc, 
"/office:document-meta/office:meta/meta:printed-by"_ostr, 0);
+assertXPath(pXmlDoc, 
"/office:document-meta/office:meta/meta:print-date"_ostr, 0);
+assertXPath(pXmlDoc, 
"/office:document-meta/office:meta/meta:editing-duration"_ostr, 0);
+assertXPath(pXmlDoc, 
"/office:document-meta/office:meta/meta:editing-cycles"_ostr, 0);
+assertXPath(pXmlDoc, 
"/office:document-meta/office:meta/meta:template"_ostr, 0);
+}
+
 CPPUNIT_TEST_FIXTURE(Test, tdf151100)
 {
 // Similar to tdf135942
diff --git a/xmloff/source/meta/xmlmetae.cxx b/xmloff/source/meta/xmlmetae.cxx
index 395772ab2aca..608ba86de7da 100644
--- a/xmloff/source/meta/xmlmetae.cxx
+++ b/xmloff/source/meta/xmlmetae.cxx
@@ -95,6 +95,9 @@ void SvXMLMetaExport::SimpleDateTimeElement( const 
util::DateTime & rDate,
 
 void SvXMLMetaExport::MExport_()
 {
+bool bRemovePersonalInfo = 
SvtSecurityOptions::IsOptionSet(SvtSecurityOptions::EOption::DocWarnRemovePersonalInfo
 );
+bool bRemoveUserInfo = bRemovePersonalInfo && 
!SvtSecurityOptions::IsOptionSet

help.git: source/text

2024-01-25 Thread Gabor Kelemen (via logerrit)
 source/text/shared/00/0002.xhp   |8 +---
 source/text/shared/01/password_main.xhp  |2 +-
 source/text/shared/guide/cmis-remote-files-setup.xhp |   10 --
 source/text/shared/guide/cmis-remote-files.xhp   |4 ++--
 source/text/shared/guide/doc_save.xhp|1 -
 source/text/shared/main0650.xhp  |2 +-
 source/text/shared/optionen/01030500.xhp |2 +-
 source/text/swriter/01/05060800.xhp  |2 +-
 8 files changed, 11 insertions(+), 20 deletions(-)

New commits:
commit c762a3dc812420858edbab9bf841ca69c133b985
Author: Gabor Kelemen 
AuthorDate: Thu Jan 25 02:59:21 2024 +0100
Commit: Olivier Hallot 
CommitDate: Thu Jan 25 16:36:37 2024 +0100

tdf#146386 (related) FTP protocol is no longer supported

so remove references to it from helpcontent

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

diff --git a/source/text/shared/00/0002.xhp 
b/source/text/shared/00/0002.xhp
index baede546f3..a63d1bae74 100644
--- a/source/text/shared/00/0002.xhp
+++ b/source/text/shared/00/0002.xhp
@@ -66,12 +66,6 @@
 Frames are 
useful for designing the layout of HTML pages. $[officename] uses 
floating frames into which you can place objects such as graphics, movie files 
and sound. The context menu of a frame shows the options for restoring or 
editing frame contents. Some of these commands are also listed in Edit - 
Object when the frame is selected.
 
 
-
-
-FTP
-FTP stands for 
File Transfer Protocol and is the standard transfer protocol for files in the 
Internet. An FTP server is a program on a computer connected to the Internet 
which stores files to be transmitted with the aid of FTP. While FTP is 
responsible for transmitting and downloading Internet files, HTTP (Hypertext Transfer 
Protocol) provides the connection setup and data transfer between WWW servers 
and clients.
-
-
 
 
   HTML; definition
@@ -200,7 +194,7 @@
 
 
 URL
-The Uniform 
Resource Locator (URL) displays the address of a document or a server in the 
Internet. The general structure of a URL varies according to type and is 
generally in the form Service://Hostname:Port/Path/Page#Mark although not all 
elements are always required. An URL can be a FTP address, a WWW (HTTP) 
address, a file address or an email address.
+The Uniform 
Resource Locator (URL) displays the address of a document or a server in the 
Internet. The general structure of a URL varies according to type and is 
generally in the form Service://Hostname:Port/Path/Page#Mark although not all 
elements are always required. An URL can be a WWW (HTTP) address, a file 
address or an email address.
 
 
 
diff --git a/source/text/shared/01/password_main.xhp 
b/source/text/shared/01/password_main.xhp
index a74fa571b2..f9809564d7 100644
--- a/source/text/shared/01/password_main.xhp
+++ b/source/text/shared/01/password_main.xhp
@@ -33,7 +33,7 @@
  Set Master Password
  Assign a master password to protect the access 
to a saved password.
  
-You can save some passwords for the duration of a session, or 
permanently to a file protected by a master password. For example, 
passwords for accessing WebDAV or FTP servers are stored permanently if you 
enter a master password when prompted. Otherwise, they are only stored for the 
current session.removed text see i71792
+You can save some passwords for the duration of a session, or 
permanently to a file protected by a master password. For example, 
passwords for accessing WebDAV servers are stored permanently if you enter a 
master password when prompted. Otherwise, they are only stored for the current 
session.removed text see i71792
 You must enter the master password to access a file or service 
that is protected by a saved password. You only need to enter the master 
password once during a session.
  
  
diff --git a/source/text/shared/guide/cmis-remote-files-setup.xhp 
b/source/text/shared/guide/cmis-remote-files-setup.xhp
index 2c088f6872..6448f572f5 100644
--- a/source/text/shared/guide/cmis-remote-files-setup.xhp
+++ b/source/text/shared/guide/cmis-remote-files-setup.xhp
@@ -93,26 +93,24 @@
 Once the connection is defined, click 
OK to connect. The dialog will dim until the connection is 
established with the server. A dialog asking for the user name and 
the password may pop up to let you log in the server. Proceed entering the 
right user name and password.
 
   SSH;remote file service setup
-  FTP;remote file service setup
-  remote file service setup;FTP
   remote file service setup;SSH
 
 
-Connecting to FTP and SSH servers
+Connecting to SSH servers
 
 
 
   
-Type: FTP or SSH
+Type: SSH
   
   
 Host: the server URL, usually in the form file.service.com
   
   
-

core.git: helpcontent2

2024-01-25 Thread Gabor Kelemen (via logerrit)
 helpcontent2 |2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

New commits:
commit 6fa4af11e045f2c365923df90dceafd4e954146a
Author: Gabor Kelemen 
AuthorDate: Thu Jan 25 16:36:37 2024 +0100
Commit: Gerrit Code Review 
CommitDate: Thu Jan 25 16:36:37 2024 +0100

Update git submodules

* Update helpcontent2 from branch 'master'
  to c762a3dc812420858edbab9bf841ca69c133b985
  - tdf#146386 (related) FTP protocol is no longer supported

so remove references to it from helpcontent

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

diff --git a/helpcontent2 b/helpcontent2
index 5d2a29ee4f45..c762a3dc8124 16
--- a/helpcontent2
+++ b/helpcontent2
@@ -1 +1 @@
-Subproject commit 5d2a29ee4f4556b0133e73ea429c9c1aaede0581
+Subproject commit c762a3dc812420858edbab9bf841ca69c133b985


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

2024-01-25 Thread Michael Stahl (via logerrit)
 sw/source/core/text/itrcrsr.cxx |5 -
 1 file changed, 4 insertions(+), 1 deletion(-)

New commits:
commit 895c6f595bba45c9f23cf1820f5a56d337146bdc
Author: Michael Stahl 
AuthorDate: Tue Jan 23 18:23:12 2024 +0100
Commit: Xisco Fauli 
CommitDate: Thu Jan 25 16:18:31 2024 +0100

sw: fix crash in SwTextCursor::GetModelPositionForViewPoint()

With a field that spans 3 SwTextFrames, it happens that
rText[sal_Int32(nCurrStart + nLength) - 1]
results in rText[-1]; it looks like both nCurrStart and nLength are
correct (nCurrStart was decremented in line 1531 after "if (bFieldInfo)")
so there is a missing check here.

Change-Id: I0d5be617e8e54c20dc8633efd3a7d82510f4acd7
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/162522
Tested-by: Jenkins
Reviewed-by: Michael Stahl 
(cherry picked from commit 42a315b4a777dc371297752b6233e437d36c456b)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/162545
Tested-by: Michael Stahl 
Reviewed-by: Xisco Fauli 

diff --git a/sw/source/core/text/itrcrsr.cxx b/sw/source/core/text/itrcrsr.cxx
index 431aeea2734d..0081d03b82f5 100644
--- a/sw/source/core/text/itrcrsr.cxx
+++ b/sw/source/core/text/itrcrsr.cxx
@@ -1610,8 +1610,11 @@ TextFrameIndex 
SwTextCursor::GetModelPositionForViewPoint( SwPosition *pPos, con
 
 // Skip space at the end of the line
 if( bLastPortion && (m_pCurr->GetNext() || m_pFrame->GetFollow() )
-&& rText[sal_Int32(nCurrStart + nLength) - 1] == ' ' )
+&& sal_Int32(nLength) != 0
+&& rText[sal_Int32(nCurrStart + nLength) - 1] == ' ')
+{
 --nLength;
+}
 
 if( nWidth > nX ||
   ( nWidth == nX && pPor->IsMultiPortion() && 
static_cast(pPor)->IsDouble() ) )


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

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

New commits:
commit b6bcc3bbfb84f2a4712107d569d7ad6ba556a584
Author: Christian Lohmaier 
AuthorDate: Thu Jan 25 15:41:06 2024 +0100
Commit: Gerrit Code Review 
CommitDate: Thu Jan 25 15:41:06 2024 +0100

Update git submodules

* Update translations from branch 'libreoffice-24-2-0'
  to 5fa84a6a6193ae4a433b3d238eef053a43ca36c5
  - update translations for 24.2.0 rc3

and force-fix errors using pocheck

Change-Id: I016d4038f8ba31d6ad0427eefc057d6d90bb4560
(cherry picked from commit 7b42317e75937684f4e45303945c8ce490d7fc5c)
(cherry picked from commit 53b120579195265f189df2d70b13fbf70abe2525)

diff --git a/translations b/translations
index 90030b3e9c82..5fa84a6a6193 16
--- a/translations
+++ b/translations
@@ -1 +1 @@
-Subproject commit 90030b3e9c82fbfb5017849222e5bcfd28690327
+Subproject commit 5fa84a6a6193ae4a433b3d238eef053a43ca36c5


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

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

New commits:
commit 361f6599761869351b3e5512a8e6b61d7ed7f0dc
Author: Christian Lohmaier 
AuthorDate: Thu Jan 25 15:40:17 2024 +0100
Commit: Gerrit Code Review 
CommitDate: Thu Jan 25 15:40:17 2024 +0100

Update git submodules

* Update translations from branch 'libreoffice-24-2'
  to 53b120579195265f189df2d70b13fbf70abe2525
  - update translations for 24.2.0 rc3

and force-fix errors using pocheck

Change-Id: I016d4038f8ba31d6ad0427eefc057d6d90bb4560
(cherry picked from commit 7b42317e75937684f4e45303945c8ce490d7fc5c)

diff --git a/translations b/translations
index a83581f0967e..53b120579195 16
--- a/translations
+++ b/translations
@@ -1 +1 @@
-Subproject commit a83581f0967e2361ec420899df5319e228ed8994
+Subproject commit 53b120579195265f189df2d70b13fbf70abe2525


core.git: translations

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

New commits:
commit cc634d32906d30ef7f3b14193996e42b788bd569
Author: Christian Lohmaier 
AuthorDate: Thu Jan 25 15:39:24 2024 +0100
Commit: Gerrit Code Review 
CommitDate: Thu Jan 25 15:39:24 2024 +0100

Update git submodules

* Update translations from branch 'master'
  to 7b42317e75937684f4e45303945c8ce490d7fc5c
  - update translations for 24.2.0 rc3

and force-fix errors using pocheck

Change-Id: I016d4038f8ba31d6ad0427eefc057d6d90bb4560

diff --git a/translations b/translations
index d87db1c95a19..7b42317e7593 16
--- a/translations
+++ b/translations
@@ -1 +1 @@
-Subproject commit d87db1c95a1936c059491b083e508acdd13f2ccd
+Subproject commit 7b42317e75937684f4e45303945c8ce490d7fc5c


Minutes from the UX/design meeting 2023-Jan-25

2024-01-25 Thread Heiko Tietze

Present: Sahil, Eyal, Heiko
Comments: Mike, Ady, Rafael

Tickets/Topics

 * Remove status bar 'document modified' indicator
   + https://bugs.documentfoundation.org/show_bug.cgi?id=159073
   + status not shown in title for new documents (Eyal)
 + title does not show the status (anymore?) but the save icon
   + redundant information is not bad per se, the toolbar button is
 primarily meant to run an action but not to give feedback (users
 may not expect it there)
   + with the Notebookbar UI it's not guaranteed to see the toolbar info
   + and the statusbar icon looks pretty nice
   => WF

 * Comment indicator in Calc should be red, not magenta
   + https://bugs.documentfoundation.org/show_bug.cgi?id=159096
   + border uses now the grid line color (Heiko)
   + red would be a bad choice as it typically indicates errors (Mike)
   + yellow and red might be used for cell background (Ady)
   + orange (Rafael)
   + invert the cell background color (Ryal)
 + looses the customizability and becomes difficult on mid-bright colors
   + do it just when the picked color is close to the cell background
 + algorithm is tricky, and variable colors make the display busy
   + Magenta (a bit less glossy) is used on Excel
   + Light Magenta 3 is a bit too close with "Bad" cell style,
 Light Magenta 2 is fine (Eyal, Sahil)
 + works also well in dark mode
   => change the color

 * Double click on a comment in Navigator should open the cell for editing
   + https://bugs.documentfoundation.org/show_bug.cgi?id=158707
   + in 7.4 double click goes to cell
   + in 7.6 single click selects, double executes the default action-
 in this case go-to plus editing the comment
   + a) edit comment, cursor at the end?, b) edit cell, cursor at the end?,
 c) just go-to and toggle the comment visibility, d) just go-to cell
   + in most cases the comment text should be readable in the Navigator and
 double-click is likely intended to edit the comment (all)
   + expect double-click to toggle show/hide; directly going into edit mode
 feels dangerous but just showing makes editing difficult (ctrl+alt+c)
 and my muscle memory is F2 to edit; so ideally we select the comment
 frame in order to use F2 (all)
   + single click does not change the view but shows this comment temporarily
 (until clicking somewhere else), double-click navigates to the cell, make
 the comment permanently visible, and double-click again hides it; when
 showing the comment per double-click also selects the comment for easy
 accessed to edit (Eyal)
   + double-click surely should not edit the cell content (Eyal)
   + comments disappear unreliably (Sahil)
   + having comments in a dedicated sidebar allows more flexible
 solutions (Sahil)
   => comment in ticket

 * When search key is not found, search text seems to be selected but is not
   + https://bugs.documentfoundation.org/show_bug.cgi?id=158742
   + behavior has changed but still no selection is being made
   + changing the search term partially is more likely, ie. selection in order
 to overwrite completely is not intended (Heiko)
   + ctrl+f selects the search text in any case (Heiko)
   + clearly NAB/WF (Eyal)
   => resolve ticket


OpenPGP_signature.asc
Description: OpenPGP digital signature


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

2024-01-25 Thread Michael Stahl (via logerrit)
 sw/source/core/text/itrcrsr.cxx |5 -
 1 file changed, 4 insertions(+), 1 deletion(-)

New commits:
commit 4f8aee3ae8a792bb78bf89a0d9c5fa9c58114913
Author: Michael Stahl 
AuthorDate: Tue Jan 23 18:23:12 2024 +0100
Commit: Christian Lohmaier 
CommitDate: Thu Jan 25 14:29:12 2024 +0100

sw: fix crash in SwTextCursor::GetModelPositionForViewPoint()

With a field that spans 3 SwTextFrames, it happens that
rText[sal_Int32(nCurrStart + nLength) - 1]
results in rText[-1]; it looks like both nCurrStart and nLength are
correct (nCurrStart was decremented in line 1531 after "if (bFieldInfo)")
so there is a missing check here.

Change-Id: I0d5be617e8e54c20dc8633efd3a7d82510f4acd7
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/162522
Tested-by: Jenkins
Reviewed-by: Michael Stahl 
(cherry picked from commit 42a315b4a777dc371297752b6233e437d36c456b)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/162543
Reviewed-by: Christian Lohmaier 

diff --git a/sw/source/core/text/itrcrsr.cxx b/sw/source/core/text/itrcrsr.cxx
index 30b605cac011..a39eb77301ba 100644
--- a/sw/source/core/text/itrcrsr.cxx
+++ b/sw/source/core/text/itrcrsr.cxx
@@ -1621,8 +1621,11 @@ TextFrameIndex 
SwTextCursor::GetModelPositionForViewPoint( SwPosition *pPos, con
 
 // Skip space at the end of the line
 if( bLastPortion && (m_pCurr->GetNext() || m_pFrame->GetFollow() )
-&& rText[sal_Int32(nCurrStart + nLength) - 1] == ' ' )
+&& sal_Int32(nLength) != 0
+&& rText[sal_Int32(nCurrStart + nLength) - 1] == ' ')
+{
 --nLength;
+}
 
 if( nWidth > nX ||
   ( nWidth == nX && pPor->IsMultiPortion() && 
static_cast(pPor)->IsDouble() ) )


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

2024-01-25 Thread Xisco Fauli (via logerrit)
 sfx2/source/doc/guisaveas.cxx |2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

New commits:
commit be3f53ce62fcf02114afb0727c4a4ab6eccc23a5
Author: Xisco Fauli 
AuthorDate: Wed Jan 24 10:03:53 2024 +0100
Commit: Christian Lohmaier 
CommitDate: Thu Jan 25 14:28:18 2024 +0100

sfx2: check SfxViewShell::Current()

Seen in 
https://crashreport.libreoffice.org/stats/crash_details/52df6de5-7ea8-48e4-8c45-f18b02d9a767

Change-Id: I56c17234a0f82797d37e26b0c39eeba7f78fcee5
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/162492
Reviewed-by: Caolán McNamara 
Tested-by: Jenkins
Reviewed-by: Xisco Fauli 
(cherry picked from commit 1a4a215bc59e50958b2c04ac405c5200f5811970)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/162469
Reviewed-by: Michael Weghorn 
Tested-by: Christian Lohmaier 
Reviewed-by: Christian Lohmaier 

diff --git a/sfx2/source/doc/guisaveas.cxx b/sfx2/source/doc/guisaveas.cxx
index 657d162ff732..9e06dca31dce 100644
--- a/sfx2/source/doc/guisaveas.cxx
+++ b/sfx2/source/doc/guisaveas.cxx
@@ -1485,7 +1485,7 @@ bool SfxStoringHelper::GUIStoreModel( const 
uno::Reference< frame::XModel >& xMo
 }
 }
 
-if (!comphelper::LibreOfficeKit::isActive() && !( m_nStoreMode & 
EXPORT_REQUESTED ) )
+if (!comphelper::LibreOfficeKit::isActive() && !( m_nStoreMode & 
EXPORT_REQUESTED ) && SfxViewShell::Current() )
 {
 SfxObjectShell* pDocShell = SfxViewShell::Current()->GetObjectShell();
 


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

2024-01-25 Thread Oliver Specht (via logerrit)
 sw/qa/extras/rtfexport/data/tdf158830.rtf |  237 
 sw/qa/extras/rtfexport/data/tdf158978.rtf |  350 ++
 sw/qa/extras/rtfexport/data/tdf158982.rtf |  281 
 sw/qa/extras/rtfexport/rtfexport8.cxx |   45 +++
 writerfilter/source/rtftok/rtfsprm.cxx|2 
 5 files changed, 914 insertions(+), 1 deletion(-)

New commits:
commit ebee4f6a811ff5e9b0d9d4ae21e349ae3b0cdfdd
Author: Oliver Specht 
AuthorDate: Tue Jan 9 11:39:58 2024 +0100
Commit: Christian Lohmaier 
CommitDate: Thu Jan 25 14:27:18 2024 +0100

tdf#158830 fixes regression introduces with tdf#158044

Removing paragraph attributes equal to style attributes now works also
for paragraphs within tables.
This fixes also the regressions documented in tdf#158978 and tdf#158982

Change-Id: I9f430e23fd33cff4d6ec1d1954969666f0080574
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/161824
Tested-by: Jenkins
Tested-by: Xisco Fauli 
Reviewed-by: Xisco Fauli 
Tested-by: Gabor Kelemen 
Reviewed-by: Gabor Kelemen 
(cherry picked from commit 204d50a07501bf8445a8a0526f68987373834318)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/162109
(cherry picked from commit ad172c0fe26212dccfabe11e534ac53b82816ec9)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/162133
Reviewed-by: Ilmari Lauhakangas 
Tested-by: Christian Lohmaier 
Reviewed-by: Christian Lohmaier 

diff --git a/sw/qa/extras/rtfexport/data/tdf158830.rtf 
b/sw/qa/extras/rtfexport/data/tdf158830.rtf
new file mode 100755
index ..f6408a63b4c6
--- /dev/null
+++ b/sw/qa/extras/rtfexport/data/tdf158830.rtf
@@ -0,0 +1,237 @@
+{
tf1deflang1025nsinsicpg1250\uc1deff1\deff0\stshfdbch0\stshfloch0\stshfhich0\stshfbi0\deflang1038\deflangfe1038
  hemelang1035hemelangfe0 hemelangcs0{onttbl{0bidi roman
charset0prq2{\*\panose 02020603050405020304}Times New Roman{\*alt Times New 
Roman};}
+{1bidi swisscharset0prq2{\*\panose 020b0604020202020204}Arial{\*alt 
Helvetica};}{1bidi swisscharset0prq2{\*\panose 
020b0604020202020204}Arial{\*alt Helvetica};}
+{39bidi swisscharset0prq2{\*\panose 020f0502020204030204}Calibri;}{40
bidi swisscharset0prq2{\*\panose }Tahoma;}{42bidi 
romancharset0prq2{\*\panose 02040503050406030204}Cambria;}
+{lomajor31500bidi romancharset0prq2{\*\panose 02020603050405020304}Times 
New Roman{\*alt Times New Roman};}{dbmajor31501bidi romancharset0
prq2{\*\panose 02020603050405020304}Times New Roman{\*alt Times New Roman};}
+{himajor31502bidi romancharset0prq2{\*\panose 
02040503050406030204}Cambria;}{bimajor31503bidi romancharset0
prq2{\*\panose 02020603050405020304}Times New Roman{\*alt Times New Roman};}
+{lominor31504bidi romancharset0prq2{\*\panose 02020603050405020304}Times 
New Roman{\*alt Times New Roman};}{dbminor31505bidi romancharset0
prq2{\*\panose 02020603050405020304}Times New Roman{\*alt Times New Roman};}
+{himinor31506bidi swisscharset0prq2{\*\panose 
020f0502020204030204}Calibri;}{biminor31507bidi romancharset0
prq2{\*\panose 02020603050405020304}Times New Roman{\*alt Times New Roman};}
+{359bidi romancharset238prq2 Times New Roman CE{\*alt Times New 
Roman};}{360bidi romancharset204prq2 Times New Roman Cyr{\*alt Times New 
Roman};}
+{362bidi romancharset161prq2 Times New Roman Greek{\*alt Times New 
Roman};}{363bidi romancharset162prq2 Times New Roman Tur{\*alt Times New 
Roman};}
+{364bidi romancharset177prq2 Times New Roman (Hebrew){\*alt Times New 
Roman};}{365bidi romancharset178prq2 Times New Roman (Arabic){\*alt Times 
New Roman};}
+{366bidi romancharset186prq2 Times New Roman Baltic{\*alt Times New 
Roman};}{367bidi romancharset163prq2 Times New Roman (Vietnamese){\*alt 
Times New Roman};}{369bidi swisscharset238prq2 Arial CE{\*alt Helvetica};}
+{370bidi swisscharset204prq2 Arial Cyr{\*alt Helvetica};}{372bidi 
swisscharset161prq2 Arial Greek{\*alt Helvetica};}{373bidi swiss
charset162prq2 Arial Tur{\*alt Helvetica};}
+{374bidi swisscharset177prq2 Arial (Hebrew){\*alt Helvetica};}{375bidi 
swisscharset178prq2 Arial (Arabic){\*alt Helvetica};}{376bidi swiss
charset186prq2 Arial Baltic{\*alt Helvetica};}
+{377bidi swisscharset163prq2 Arial (Vietnamese){\*alt Helvetica};}{369
bidi swisscharset238prq2 Arial CE{\*alt Helvetica};}{370bidi swiss
charset204prq2 Arial Cyr{\*alt Helvetica};}
+{372bidi swisscharset161prq2 Arial Greek{\*alt Helvetica};}{373bidi 
swisscharset162prq2 Arial Tur{\*alt Helvetica};}{374bidi swisscharset177
prq2 Arial (Hebrew){\*alt Helvetica};}
+{375bidi swisscharset178prq2 Arial (Arabic){\*alt Helvetica};}{376bidi 
swisscharset186prq2 Arial Baltic{\*alt Helvetica};}{377bidi swiss
charset163prq2 Arial (Vietnamese){\*alt Helve

core.git: svl/source

2024-01-25 Thread Andrea Gelmini (via logerrit)
 svl/source/items/itemset.cxx |2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

New commits:
commit 1c6d885b7503dd489e6f37132a42db3fbee9c3b8
Author: Andrea Gelmini 
AuthorDate: Thu Jan 25 13:09:36 2024 +0100
Commit: Julien Nabet 
CommitDate: Thu Jan 25 14:16:43 2024 +0100

Fix typo

Change-Id: Ibdfbb8c6492d18989d587230db674a7ff2546150
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/162574
Tested-by: Julien Nabet 
Reviewed-by: Julien Nabet 

diff --git a/svl/source/items/itemset.cxx b/svl/source/items/itemset.cxx
index b02a74f53577..1c591f73c60e 100644
--- a/svl/source/items/itemset.cxx
+++ b/svl/source/items/itemset.cxx
@@ -337,7 +337,7 @@ SfxItemSet::SfxItemSet(SfxItemPool& pool, 
WhichRangesContainer wids)
 // In that case, if the Item is shareable, the new mechanism
 // will kick in: It will start sharing the Item globally,
 // but not immediately: After a defined amount of allowed
-// non-shared ocurrences (look for NUMBER_OF_UNSHARED_INSTANCES)
+// non-shared occurrences (look for NUMBER_OF_UNSHARED_INSTANCES)
 // an instance of the default ItemInstanceManager, a
 // DefaultItemInstanceManager, will be incarnated and used.
 // NOTE: Mixing shared/unshared instances is not a problem (we


core.git: svl/source

2024-01-25 Thread Andrea Gelmini (via logerrit)
 svl/source/items/itemset.cxx |2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

New commits:
commit 9fd57de12001cc7b96022c1ec79881d2fcd9b241
Author: Andrea Gelmini 
AuthorDate: Thu Jan 25 13:09:13 2024 +0100
Commit: Julien Nabet 
CommitDate: Thu Jan 25 14:16:01 2024 +0100

Fix typo

Change-Id: I99f9730e573f06e53516d0d775df1b276ff83a90
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/162573
Tested-by: Julien Nabet 
Reviewed-by: Julien Nabet 

diff --git a/svl/source/items/itemset.cxx b/svl/source/items/itemset.cxx
index 5760003fbac4..b02a74f53577 100644
--- a/svl/source/items/itemset.cxx
+++ b/svl/source/items/itemset.cxx
@@ -428,7 +428,7 @@ public:
 }
 
 // here the countdown is zero and there is not yet a 
ItemInstanceManager
-// incarnated. Do so, regsiter and return it
+// incarnated. Do so, register and return it
 assert(nullptr == aHit->second.second);
 DefaultItemInstanceManager* pNew(new 
DefaultItemInstanceManager(aHash));
 aHit->second.second = pNew;


core.git: svl/source

2024-01-25 Thread Andrea Gelmini (via logerrit)
 svl/source/items/itemset.cxx |2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

New commits:
commit 20f72a37309baab11c08f6504f4129ddf6cb8c56
Author: Andrea Gelmini 
AuthorDate: Thu Jan 25 13:08:52 2024 +0100
Commit: Julien Nabet 
CommitDate: Thu Jan 25 14:15:27 2024 +0100

Fix typo

Change-Id: I49afb3957c5633f82431408402bead2a9b0328a7
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/162572
Tested-by: Julien Nabet 
Reviewed-by: Julien Nabet 

diff --git a/svl/source/items/itemset.cxx b/svl/source/items/itemset.cxx
index 54d6c3abbc28..5760003fbac4 100644
--- a/svl/source/items/itemset.cxx
+++ b/svl/source/items/itemset.cxx
@@ -342,7 +342,7 @@ SfxItemSet::SfxItemSet(SfxItemPool& pool, 
WhichRangesContainer wids)
 // DefaultItemInstanceManager, will be incarnated and used.
 // NOTE: Mixing shared/unshared instances is not a problem (we
 // might even implement a kind of 're-hash' when this kicks in,
-// but is not really needded).
+// but is not really needed).
 // (2) Overload getItemInstanceManager for SfxPoolItem in a class
 // derived from SfxPoolItem and...
 // (2a) Return a static incarnation of DefaultItemInstanceManager to


core.git: include/svl

2024-01-25 Thread Andrea Gelmini (via logerrit)
 include/svl/poolitem.hxx |2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

New commits:
commit 5a2bdf822ddaf5133678c5ab912c3dba8212c61b
Author: Andrea Gelmini 
AuthorDate: Thu Jan 25 13:08:18 2024 +0100
Commit: Julien Nabet 
CommitDate: Thu Jan 25 14:14:42 2024 +0100

Fix typo

Change-Id: I7822db68e7389eca4ee9e21fba57735656a94d5a
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/162571
Tested-by: Julien Nabet 
Reviewed-by: Julien Nabet 

diff --git a/include/svl/poolitem.hxx b/include/svl/poolitem.hxx
index 22a5d5bcb9ff..10f0d024c75d 100644
--- a/include/svl/poolitem.hxx
+++ b/include/svl/poolitem.hxx
@@ -179,7 +179,7 @@ protected:
 // is nullptr. If you overload this it is expected that
 // you return a ptr to a static, Item-local managed
 // instance that exists the whole office lifetime. This
-// usually means to have a static instance irectly in the
+// usually means to have a static instance directly in the
 // implementation of the overloaded function (just grep
 // for examples)
 virtual ItemInstanceManager* getItemInstanceManager() const;


core.git: svl/source

2024-01-25 Thread Andrea Gelmini (via logerrit)
 svl/source/items/itemset.cxx |2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

New commits:
commit 6181be0fca677d1c83e0eccd8be31a0e8cc36ad5
Author: Andrea Gelmini 
AuthorDate: Thu Jan 25 13:08:02 2024 +0100
Commit: Julien Nabet 
CommitDate: Thu Jan 25 14:14:13 2024 +0100

Fix typo

Change-Id: I12f0cbbc1523a7451281ef501b51b56010105dfd
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/162570
Tested-by: Julien Nabet 
Reviewed-by: Julien Nabet 

diff --git a/svl/source/items/itemset.cxx b/svl/source/items/itemset.cxx
index 1fa7276e9052..54d6c3abbc28 100644
--- a/svl/source/items/itemset.cxx
+++ b/svl/source/items/itemset.cxx
@@ -327,7 +327,7 @@ SfxItemSet::SfxItemSet(SfxItemPool& pool, 
WhichRangesContainer wids)
 // Class that implements global Item sharing. It uses rtti to
 // associate every Item-derivation with a possible incarnation
 // of a DefaultItemInstanceManager. This is the default, it will
-// give direct implementatioons at the Items that overload
+// give direct implementations at the Items that overload
 // getItemInstanceManager() preference. These are expected to
 // return static instances of a derived implementation of a
 // ItemInstanceManager.


core.git: svl/source

2024-01-25 Thread Andrea Gelmini (via logerrit)
 svl/source/items/itemset.cxx |2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

New commits:
commit e40a864d34a9ed7b80fffb4f11837f9e8f2211e6
Author: Andrea Gelmini 
AuthorDate: Thu Jan 25 13:07:38 2024 +0100
Commit: Julien Nabet 
CommitDate: Thu Jan 25 14:13:53 2024 +0100

Fix typo

Change-Id: Idb09d903b97ca9697ac473b46ae85b2205be128a
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/162569
Tested-by: Julien Nabet 
Reviewed-by: Julien Nabet 

diff --git a/svl/source/items/itemset.cxx b/svl/source/items/itemset.cxx
index 69a140011ec8..1fa7276e9052 100644
--- a/svl/source/items/itemset.cxx
+++ b/svl/source/items/itemset.cxx
@@ -411,7 +411,7 @@ public:
 return pNew;
 }
 
-// start countown from NUMBER_OF_UNSHARED_INSTANCES until zero is 
reached
+// start countdown from NUMBER_OF_UNSHARED_INSTANCES until zero is 
reached
 maManagerPerType.insert({aHash, 
std::make_pair(NUMBER_OF_UNSHARED_INSTANCES, nullptr)});
 return nullptr;
 }


core.git: svl/source

2024-01-25 Thread Andrea Gelmini (via logerrit)
 svl/source/items/itemset.cxx |2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

New commits:
commit 3db7d3ad5360ac5af903ab0c14e130b95440739f
Author: Andrea Gelmini 
AuthorDate: Thu Jan 25 13:07:14 2024 +0100
Commit: Julien Nabet 
CommitDate: Thu Jan 25 14:13:29 2024 +0100

Fix typo

Change-Id: Ia769e28fa1180c40f0e25763485a7b468d1f8f94
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/162568
Tested-by: Julien Nabet 
Reviewed-by: Julien Nabet 

diff --git a/svl/source/items/itemset.cxx b/svl/source/items/itemset.cxx
index d62f54766698..69a140011ec8 100644
--- a/svl/source/items/itemset.cxx
+++ b/svl/source/items/itemset.cxx
@@ -329,7 +329,7 @@ SfxItemSet::SfxItemSet(SfxItemPool& pool, 
WhichRangesContainer wids)
 // of a DefaultItemInstanceManager. This is the default, it will
 // give direct implementatioons at the Items that overload
 // getItemInstanceManager() preference. These are expected to
-// return static instances of aderived implementation of a
+// return static instances of a derived implementation of a
 // ItemInstanceManager.
 // All in all there are now the following possibilities to support
 // this for individual Item derivations:


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

2024-01-25 Thread Marco Cecchetti (via logerrit)
 sc/source/ui/view/gridwin4.cxx |4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

New commits:
commit 7556f924bc270497abe24f2e194fcc458b255781
Author: Marco Cecchetti 
AuthorDate: Tue Jan 23 17:34:20 2024 +0100
Commit: Marco Cecchetti 
CommitDate: Thu Jan 25 13:55:21 2024 +0100

lok: calc: rtl - misplaced caret

This is a workaround since text cursor is horizontally a few pixels
misplaced wrt text in the RTL case.
This issue is a regression from
https://gerrit.libreoffice.org/c/core/+/162196

Change-Id: Ia06ee223d01a7df8841bfaca3cad32af896871d0
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/162563
Reviewed-by: Henry Castro 
Tested-by: Jenkins CollaboraOffice 

diff --git a/sc/source/ui/view/gridwin4.cxx b/sc/source/ui/view/gridwin4.cxx
index 368d92320df0..63d279dd57d2 100644
--- a/sc/source/ui/view/gridwin4.cxx
+++ b/sc/source/ui/view/gridwin4.cxx
@@ -1194,12 +1194,14 @@ void ScGridWindow::DrawContent(OutputDevice &rDevice, 
const ScTableInfo& rTableI
 // same zoom level as view used for painting
 aNewOutputArea = rDevice.LogicToPixel(aOrigOutputAreaTw);
 }
+// a small workaround for getting text position matching 
cursor position horizontally.
+const tools::Long nCursorGapPx = 2;
 // Transform the cell range X coordinates such that the edit 
cell area is
 // horizontally mirrored w.r.t the (combined-)tile.
 aNewOutputArea = tools::Rectangle(
 pLokRTLCtxt->docToTilePos(aNewOutputArea.Left() - 
aOriginAbsPx.X()) + aOriginAbsPx.X(),
 aNewOutputArea.Top(),
-pLokRTLCtxt->docToTilePos(aNewOutputArea.Right() - 
aOriginAbsPx.X()) + aOriginAbsPx.X(),
+pLokRTLCtxt->docToTilePos(aNewOutputArea.Right() - 
aOriginAbsPx.X()) + aOriginAbsPx.X() + nCursorGapPx,
 aNewOutputArea.Bottom());
 aNewOutputArea.Normalize();
 }


core.git: sw/qa

2024-01-25 Thread Noel Grandin (via logerrit)
 sw/qa/uitest/writer_tests8/tdf159102.py |   47 
 1 file changed, 24 insertions(+), 23 deletions(-)

New commits:
commit 1b83ebf42c535528b73baac2407b347f19070d07
Author: Noel Grandin 
AuthorDate: Thu Jan 25 13:53:26 2024 +0200
Commit: Noel Grandin 
CommitDate: Thu Jan 25 13:50:57 2024 +0100

disabling UITest tdf159102

because it still fails on my machine reliably

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

diff --git a/sw/qa/uitest/writer_tests8/tdf159102.py 
b/sw/qa/uitest/writer_tests8/tdf159102.py
index b1daffabfe63..2c3553f6f2c8 100644
--- a/sw/qa/uitest/writer_tests8/tdf159102.py
+++ b/sw/qa/uitest/writer_tests8/tdf159102.py
@@ -72,26 +72,27 @@ class tdf159102(UITestCase):
 if not supported_locale:
 self.skipTest("no hyphenation patterns for en_US available")
 
-xToolkit = 
self.xContext.ServiceManager.createInstance('com.sun.star.awt.Toolkit')
-with self.ui_test.load_file(get_url_for_data_file("tdf159102.fodt")) 
as writer_doc:
-# we must not depend on the installed hyphenation patterns,
-# so extend user dictionary temporarily with the hyphenation 
cur=sus and ege=stas
-self.set_custom_hyphenation()
-xToolkit.processEventsToIdle()
-# delete the text of the first line
-self.xUITest.executeCommand(".uno:GoToEndOfLine")
-self.xUITest.executeCommand('.uno:StartOfDocumentSel')
-self.xUITest.executeCommand('.uno:Delete')
-paragraphs = writer_doc.Text.createEnumeration()
-para1 = paragraphs.nextElement()
-# This was "stas.", i.e. too much shrinking
-self.assertEqual("sus egestas.", para1.String)
-
-# check next paragraph (containing different text portions)
-self.xUITest.executeCommand(".uno:GoDown")
-self.xUITest.executeCommand(".uno:GoToEndOfLine")
-self.xUITest.executeCommand('.uno:StartOfDocumentSel')
-self.xUITest.executeCommand('.uno:Delete')
-paragraphs = writer_doc.Text.createEnumeration()
-para1 = paragraphs.nextElement()
-self.assertEqual("sus egestas.", para1.String)
+# disabling this because it fails on some machines
+#xToolkit = 
self.xContext.ServiceManager.createInstance('com.sun.star.awt.Toolkit')
+#with self.ui_test.load_file(get_url_for_data_file("tdf159102.fodt")) 
as writer_doc:
+## we must not depend on the installed hyphenation patterns,
+## so extend user dictionary temporarily with the hyphenation 
cur=sus and ege=stas
+#self.set_custom_hyphenation()
+#xToolkit.processEventsToIdle()
+## delete the text of the first line
+#self.xUITest.executeCommand(".uno:GoToEndOfLine")
+#self.xUITest.executeCommand('.uno:StartOfDocumentSel')
+#self.xUITest.executeCommand('.uno:Delete')
+#paragraphs = writer_doc.Text.createEnumeration()
+#para1 = paragraphs.nextElement()
+## This was "stas.", i.e. too much shrinking
+#self.assertEqual("sus egestas.", para1.String)
+#
+## check next paragraph (containing different text portions)
+#self.xUITest.executeCommand(".uno:GoDown")
+#self.xUITest.executeCommand(".uno:GoToEndOfLine")
+#self.xUITest.executeCommand('.uno:StartOfDocumentSel')
+#self.xUITest.executeCommand('.uno:Delete')
+#paragraphs = writer_doc.Text.createEnumeration()
+#para1 = paragraphs.nextElement()
+#self.assertEqual("sus egestas.", para1.String)


core.git: sw/uiconfig

2024-01-25 Thread Rafael Lima (via logerrit)
 sw/uiconfig/swriter/ui/gotopagedialog.ui |1 +
 1 file changed, 1 insertion(+)

New commits:
commit cd01f035c4c3e20f890dd48b7a734bf0513ab667
Author: Rafael Lima 
AuthorDate: Wed Jan 24 01:09:31 2024 +0100
Commit: Rafael Lima 
CommitDate: Thu Jan 25 13:48:39 2024 +0100

tdf#159349 Dialog "Go to Page" in Writer should not be resizable

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

diff --git a/sw/uiconfig/swriter/ui/gotopagedialog.ui 
b/sw/uiconfig/swriter/ui/gotopagedialog.ui
index f40abed5018d..b57e88fc5a06 100644
--- a/sw/uiconfig/swriter/ui/gotopagedialog.ui
+++ b/sw/uiconfig/swriter/ui/gotopagedialog.ui
@@ -6,6 +6,7 @@
 False
 6
 Go to Page
+False
 True
 0
 0


core.git: sw/inc sw/source

2024-01-25 Thread Caolán McNamara (via logerrit)
 sw/inc/viewopt.hxx  |2 ++
 sw/source/core/view/viewsh.cxx  |9 +
 sw/source/uibase/config/viewopt.cxx |   12 
 3 files changed, 15 insertions(+), 8 deletions(-)

New commits:
commit 9e917a7ce95d1564814e90188bc915a38ac69468
Author: Caolán McNamara 
AuthorDate: Thu Jan 25 09:51:24 2024 +
Commit: Caolán McNamara 
CommitDate: Thu Jan 25 13:26:43 2024 +0100

extract this to a explanatory SyncLayoutRelatedViewOptions function

no change intended here

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

diff --git a/sw/inc/viewopt.hxx b/sw/inc/viewopt.hxx
index 72659849a627..95c547e5c691 100644
--- a/sw/inc/viewopt.hxx
+++ b/sw/inc/viewopt.hxx
@@ -856,6 +856,8 @@ public:
 
 // Useful for when getting the current view SwViewOption is not possible 
otherwise
 static const SwViewOption& GetCurrentViewOptions();
+
+void SyncLayoutRelatedViewOptions(const SwViewOption& rOpt);
 };
 
 inline bool SwViewOption::operator==( const SwViewOption &rOpt ) const
diff --git a/sw/source/core/view/viewsh.cxx b/sw/source/core/view/viewsh.cxx
index 9ad7015e236f..a7222d95b049 100644
--- a/sw/source/core/view/viewsh.cxx
+++ b/sw/source/core/view/viewsh.cxx
@@ -2217,14 +2217,7 @@ void SwViewShell::ApplyViewOptions( const SwViewOption 
&rOpt )
 if(&rSh == this)
 continue;
 SwViewOption aOpt( *rSh.GetViewOptions() );
-aOpt.SetFieldName( rOpt.IsFieldName() );
-aOpt.SetShowHiddenField( rOpt.IsShowHiddenField() );
-aOpt.SetShowHiddenPara( rOpt.IsShowHiddenPara() );
-aOpt.SetShowHiddenChar( rOpt.IsShowHiddenChar() );
-aOpt.SetViewLayoutBookMode( rOpt.IsViewLayoutBookMode() );
-aOpt.SetHideWhitespaceMode(rOpt.IsHideWhitespaceMode());
-aOpt.SetViewLayoutColumns(rOpt.GetViewLayoutColumns());
-aOpt.SetPostIts(rOpt.IsPostIts());
+aOpt.SyncLayoutRelatedViewOptions(rOpt);
 if ( !(aOpt == *rSh.GetViewOptions()) )
 rSh.ImplApplyViewOptions( aOpt );
 }
diff --git a/sw/source/uibase/config/viewopt.cxx 
b/sw/source/uibase/config/viewopt.cxx
index 3cf82bee15ab..abd8bbc85768 100644
--- a/sw/source/uibase/config/viewopt.cxx
+++ b/sw/source/uibase/config/viewopt.cxx
@@ -612,6 +612,18 @@ bool SwViewOption::IsIgnoreProtectedArea()
 return gIgnoreProtectedArea.get();
 }
 
+void SwViewOption::SyncLayoutRelatedViewOptions(const SwViewOption& rOpt)
+{
+SetFieldName(rOpt.IsFieldName());
+SetShowHiddenField(rOpt.IsShowHiddenField());
+SetShowHiddenPara(rOpt.IsShowHiddenPara());
+SetShowHiddenChar(rOpt.IsShowHiddenChar());
+SetViewLayoutBookMode(rOpt.IsViewLayoutBookMode());
+SetHideWhitespaceMode(rOpt.IsHideWhitespaceMode());
+SetViewLayoutColumns(rOpt.GetViewLayoutColumns());
+SetPostIts(rOpt.IsPostIts());
+}
+
 const SwViewOption& SwViewOption::GetCurrentViewOptions()
 {
 SfxViewShell* pCurrentShell = SfxViewShell::Current();


core.git: vcl/quartz

2024-01-25 Thread Christian Lohmaier (via logerrit)
 vcl/quartz/SystemFontList.cxx |7 ---
 1 file changed, 7 deletions(-)

New commits:
commit 846d7797e91245f5ee457fc447f541bcbd233699
Author: Christian Lohmaier 
AuthorDate: Wed Jan 24 13:39:56 2024 +0100
Commit: Christian Lohmaier 
CommitDate: Thu Jan 25 12:13:00 2024 +0100

janitor: remove unnecessary conditional (macOS vs iOS)

The "no Application" comment referred to an older version of the code
that tired to get a localized name for the current LibreOffice UI
language only, but that has since been removed…

Change-Id: Iac8f4aa816aee4d7a03f5fbefedee621781f33b0
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/162505
Tested-by: Jenkins
Reviewed-by: Christian Lohmaier 

diff --git a/vcl/quartz/SystemFontList.cxx b/vcl/quartz/SystemFontList.cxx
index e068caf80fb6..3ca09bfcf21e 100644
--- a/vcl/quartz/SystemFontList.cxx
+++ b/vcl/quartz/SystemFontList.cxx
@@ -52,7 +52,6 @@ FontAttributes DevFontFromCTFontDescriptor( 
CTFontDescriptorRef pFD, bool* bFont
 rDFA.SetMicrosoftSymbolEncoded( false );
 
 // get font name
-#ifdef MACOSX
 CFStringRef pLang = nullptr;
 CFStringRef pFamilyName = static_cast(
 CTFontDescriptorCopyLocalizedAttribute( pFD, 
kCTFontFamilyNameAttribute, &pLang ));
@@ -65,12 +64,6 @@ FontAttributes DevFontFromCTFontDescriptor( 
CTFontDescriptorRef pFD, bool* bFont
 }
 pFamilyName = static_cast(CTFontDescriptorCopyAttribute( 
pFD, kCTFontFamilyNameAttribute ));
 }
-#else
-// No "Application" on iOS. And it is unclear whether this code
-// snippet will actually ever get invoked on iOS anyway. So just
-// use the old code that uses a non-localized font name.
-CFStringRef pFamilyName = (CFStringRef)CTFontDescriptorCopyAttribute( pFD, 
kCTFontFamilyNameAttribute );
-#endif
 
 rDFA.SetFamilyName( GetOUString( pFamilyName ) );
 


core.git: 2 commits - basctl/source desktop/source

2024-01-25 Thread Caolán McNamara (via logerrit)
 basctl/source/basicide/baside2b.cxx |9 ++---
 desktop/source/lib/init.cxx |6 ++
 2 files changed, 12 insertions(+), 3 deletions(-)

New commits:
commit 3b6f04ea7033c5ca529363a4027cf2cb7d2c7ee3
Author: Caolán McNamara 
AuthorDate: Thu Jan 25 08:46:52 2024 +
Commit: Caolán McNamara 
CommitDate: Thu Jan 25 12:09:28 2024 +0100

Resolves: tdf#159368 crash on tools, macros, edit

when launched from startcenter

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

diff --git a/basctl/source/basicide/baside2b.cxx 
b/basctl/source/basicide/baside2b.cxx
index 52b2194a93d9..9ee9c70c23ac 100644
--- a/basctl/source/basicide/baside2b.cxx
+++ b/basctl/source/basicide/baside2b.cxx
@@ -1303,9 +1303,12 @@ void EditorWindow::ChangeFontColor( Color aColor )
 
 void EditorWindow::UpdateSyntaxHighlighting ()
 {
-const sal_uInt32 nCount = pEditEngine->GetParagraphCount();
-for (sal_uInt32 i = 0; i < nCount; ++i)
-DoDelayedSyntaxHighlight(i);
+if (pEditEngine)
+{
+const sal_uInt32 nCount = pEditEngine->GetParagraphCount();
+for (sal_uInt32 i = 0; i < nCount; ++i)
+DoDelayedSyntaxHighlight(i);
+}
 }
 
 void EditorWindow::ImplSetFont()
commit 611feba951c9d6904540472f91f34395de341dc6
Author: Caolán McNamara 
AuthorDate: Tue Jan 23 19:37:54 2024 +
Commit: Caolán McNamara 
CommitDate: Thu Jan 25 12:09:16 2024 +0100

preload sal_textenc

use RTL_TEXTENCODING_MS_1250 to trigger Impl_getTextEncodingData to
dlopen sal_textenclo early

Change-Id: Ie96b81615cbd4b479d731916518835b2f72adf6a
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/162477
Reviewed-by: Neil Guertin 
Reviewed-by: Michael Meeks 
Tested-by: Andras Timar 
(cherry picked from commit 4f404f2b18692276d157c4de9bfbb1f6370ad58d)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/162541
Tested-by: Jenkins
Reviewed-by: Caolán McNamara 

diff --git a/desktop/source/lib/init.cxx b/desktop/source/lib/init.cxx
index ebef6305c2ad..cbaa66024596 100644
--- a/desktop/source/lib/init.cxx
+++ b/desktop/source/lib/init.cxx
@@ -7430,6 +7430,12 @@ static void preloadData()
 if(bAbort)
 std::cerr << "CheckExtensionDependencies failed" << std::endl;
 
+std::cerr << "Preload textencodings"; // sal_textenc
+// Use RTL_TEXTENCODING_MS_1250 to trigger Impl_getTextEncodingData
+// to dlopen sal_textenclo
+(void)OUStringToOString(u"arbitrary string", RTL_TEXTENCODING_MS_1250);
+std::cerr << "
";
+
 // setup LanguageTool config before spell checking init
 setLanguageToolConfig();
 


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

2024-01-25 Thread Miklos Vajna (via logerrit)
 editeng/qa/unit/core-test.cxx   |   61 
 editeng/source/editeng/editeng.cxx  |7 
 editeng/source/editeng/impedit2.cxx |   33 ++-
 3 files changed, 100 insertions(+), 1 deletion(-)

New commits:
commit 280084ceb61d4329e2f0f1a503601ef6e9156ca9
Author: Miklos Vajna 
AuthorDate: Wed Jan 24 12:17:41 2024 +0100
Commit: Caolán McNamara 
CommitDate: Thu Jan 25 12:01:04 2024 +0100

cool#8023 editeng: support HTML paste

editeng text (e.g. Writer shape text or Calc cell text edit) had working
plain text and RTF paste, but HTML paste was not working.

This is typically not noticed because desktop paste usually goes via
RTF, but it can be visible when a LOK client just puts the best format
on the clipboard, i.e. HTML is provided, but RTF is unavailable in the
browser and plain text is also not written to the LOK clipboard.

Fix the problem by connecting the existing ImpEditEngine::ReadHTML() to
the generic ImpEditEngine::PasteText(): this already worked for plain
text and RTF, but not for HTML.

Note that "SIMPLE_HTML" was already supported, but that's not really
HTML but some custom format that contains HTML, and it's claimed that MS
IE 4.0 produced this.

(cherry picked from commit 57d7e73789dcc20a67da19766a27e71fddbdb991)

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

diff --git a/editeng/qa/unit/core-test.cxx b/editeng/qa/unit/core-test.cxx
index 6b3734d7c1cd..79a0673770d1 100644
--- a/editeng/qa/unit/core-test.cxx
+++ b/editeng/qa/unit/core-test.cxx
@@ -33,6 +33,7 @@
 #include 
 
 #include 
+#include 
 
 #include 
 #include 
@@ -68,6 +69,9 @@ public:
 /// Test Copy/Paste using Legacy Format
 void testCopyPaste();
 
+/// Test Paste using HTML
+void testHTMLPaste();
+
 /// Test Copy/Paste with selective selection over multiple paragraphs
 void testMultiParaSelCopyPaste();
 
@@ -114,6 +118,7 @@ public:
 CPPUNIT_TEST(testAutocorrect);
 CPPUNIT_TEST(testHyperlinkCopyPaste);
 CPPUNIT_TEST(testCopyPaste);
+CPPUNIT_TEST(testHTMLPaste);
 CPPUNIT_TEST(testMultiParaSelCopyPaste);
 CPPUNIT_TEST(testTabsCopyPaste);
 CPPUNIT_TEST(testHyperlinkSearch);
@@ -714,6 +719,62 @@ void Test::testCopyPaste()
 CPPUNIT_ASSERT_EQUAL( OUString(aText + aText), 
rDoc.GetParaAsString(sal_Int32(0)) );
 }
 
+/// XTransferable implementation that provides simple HTML content.
+class TestHTMLTransferable : public 
cppu::WeakImplHelper
+{
+public:
+uno::Any SAL_CALL getTransferData(const datatransfer::DataFlavor& rFlavor) 
override;
+uno::Sequence SAL_CALL getTransferDataFlavors() 
override;
+sal_Bool SAL_CALL isDataFlavorSupported(const datatransfer::DataFlavor& 
rFlavor) override;
+};
+
+uno::Any TestHTMLTransferable::getTransferData(const datatransfer::DataFlavor& 
rFlavor)
+{
+if (rFlavor.MimeType != "text/html")
+{
+return {};
+}
+
+uno::Any aRet;
+SvMemoryStream aStream;
+aStream.WriteOString("
test");
+aRet <<= uno::Sequence(static_cast(aStream.GetData()), aStream.GetSize());
+return aRet;
+}
+
+uno::Sequence 
TestHTMLTransferable::getTransferDataFlavors()
+{
+datatransfer::DataFlavor aFlavor;
+aFlavor.DataType = cppu::UnoType>::get();
+aFlavor.MimeType = "text/html";
+aFlavor.HumanPresentableName = aFlavor.MimeType;
+return { aFlavor };
+}
+
+sal_Bool TestHTMLTransferable::isDataFlavorSupported(const 
datatransfer::DataFlavor& rFlavor)
+{
+return rFlavor.MimeType == "text/html"
+   && rFlavor.DataType == 
cppu::UnoType>::get();
+}
+
+void Test::testHTMLPaste()
+{
+// Given an empty editeng document:
+EditEngine aEditEngine(mpItemPool.get());
+EditDoc &rDoc = aEditEngine.GetEditDoc();
+uno::Reference< datatransfer::XTransferable > xData(new 
TestHTMLTransferable);
+
+// When trying to paste HTML:
+aEditEngine.InsertText(xData, OUString(), rDoc.GetEndPaM(), true);
+
+// Then make sure the text gets pasted:
+// Without the accompanying fix in place, this test would have failed with:
+// - Expected: test
+// - Actual  :
+// i.e. RTF and plain text paste worked, but not HTML.
+CPPUNIT_ASSERT_EQUAL(OUString("test"), 
rDoc.GetParaAsString(static_cast(0)));
+}
+
 void Test::testMultiParaSelCopyPaste()
 {
 // Create EditEngine's instance
diff --git a/editeng/source/editeng/editeng.cxx 
b/editeng/source/editeng/editeng.cxx
index f3ebd8c4f806..e01a339af82f 100644
--- a/editeng/source/editeng/editeng.cxx
+++ b/editeng/source/editeng/editeng.cxx
@@ -2801,6 +2801,13 @@ bool EditEngine::HasValidData( const 
css::uno::Reference< css::datatransfer::XTr
 datatransfer::DataFlavor aFlavor;
 SotExchange::GetFormatDataFlavor( Sot

core.git: Branch 'distro/collabora/co-23.05' - editeng/source include/editeng sc/source sd/source sw/source

2024-01-25 Thread Oliver Specht (via logerrit)
 editeng/source/editeng/editeng.cxx   |4 ++--
 editeng/source/editeng/editview.cxx  |4 ++--
 editeng/source/editeng/impedit.cxx   |4 ++--
 editeng/source/editeng/impedit.hxx   |4 ++--
 editeng/source/editeng/impedit2.cxx  |   32 +---
 editeng/source/outliner/outlvw.cxx   |8 
 include/editeng/editeng.hxx  |4 +++-
 include/editeng/editview.hxx |3 ++-
 include/editeng/outliner.hxx |5 +++--
 sc/source/ui/drawfunc/drtxtob1.cxx   |3 ++-
 sd/source/ui/func/fuinsert.cxx   |1 +
 sd/source/ui/view/sdview3.cxx|   30 ++
 sw/source/uibase/shells/drwtxtex.cxx |3 ++-
 13 files changed, 84 insertions(+), 21 deletions(-)

New commits:
commit 2f2231d35a925daf8a54041e09846529add9e434
Author: Oliver Specht 
AuthorDate: Mon Oct 30 13:26:49 2023 +0100
Commit: Miklos Vajna 
CommitDate: Thu Jan 25 11:48:10 2024 +0100

tdf#157363 add HTML format when pasting into draw text

adds HTML to paste(special) in draw text in impress/draw/calc/writer

(cherry picked from commit 87be89ac27023f48f68a873b37df31aa0453d6fa)

Conflicts:
include/editeng/editeng.hxx

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

diff --git a/editeng/source/editeng/editeng.cxx 
b/editeng/source/editeng/editeng.cxx
index 2b4ac3f5259e..f3ebd8c4f806 100644
--- a/editeng/source/editeng/editeng.cxx
+++ b/editeng/source/editeng/editeng.cxx
@@ -849,9 +849,9 @@ EditSelection EditEngine::InsertText(const EditTextObject& 
rTextObject, const Ed
 
 EditSelection EditEngine::InsertText(
 uno::Reference const & rxDataObj,
-const OUString& rBaseURL, const EditPaM& rPaM, bool bUseSpecial)
+const OUString& rBaseURL, const EditPaM& rPaM, bool bUseSpecial, 
SotClipboardFormatId format)
 {
-return pImpEditEngine->PasteText(rxDataObj, rBaseURL, rPaM, bUseSpecial);
+return pImpEditEngine->PasteText(rxDataObj, rBaseURL, rPaM, bUseSpecial, 
format);
 }
 
 EditPaM EditEngine::EndOfWord(const EditPaM& rPaM)
diff --git a/editeng/source/editeng/editview.cxx 
b/editeng/source/editeng/editview.cxx
index e439dde999f5..f10bffc6b1fc 100644
--- a/editeng/source/editeng/editview.cxx
+++ b/editeng/source/editeng/editview.cxx
@@ -682,10 +682,10 @@ void EditView::Paste()
 pImpEditView->Paste( aClipBoard );
 }
 
-void EditView::PasteSpecial()
+void EditView::PasteSpecial(SotClipboardFormatId format)
 {
 Reference 
aClipBoard(GetClipboard());
-pImpEditView->Paste(aClipBoard, true );
+pImpEditView->Paste(aClipBoard, true, format );
 }
 
 Point EditView::GetWindowPosTopLeft( sal_Int32 nParagraph )
diff --git a/editeng/source/editeng/impedit.cxx 
b/editeng/source/editeng/impedit.cxx
index 8beba4660b84..fad83a42e236 100644
--- a/editeng/source/editeng/impedit.cxx
+++ b/editeng/source/editeng/impedit.cxx
@@ -1946,7 +1946,7 @@ void ImpEditView::CutCopy( css::uno::Reference< 
css::datatransfer::clipboard::XC
 }
 }
 
-void ImpEditView::Paste( css::uno::Reference< 
css::datatransfer::clipboard::XClipboard > const & rxClipboard, bool 
bUseSpecial )
+void ImpEditView::Paste( css::uno::Reference< 
css::datatransfer::clipboard::XClipboard > const & rxClipboard, bool 
bUseSpecial, SotClipboardFormatId format)
 {
 if ( !rxClipboard.is() )
 return;
@@ -2006,7 +2006,7 @@ void ImpEditView::Paste( css::uno::Reference< 
css::datatransfer::clipboard::XCli
 // paragraphs. Collect and broadcast when done instead.
 aSel = pEditEngine->InsertText(
 xDataObj, OUString(), aSel.Min(),
-bUseSpecial && 
pEditEngine->GetInternalEditStatus().AllowPasteSpecial());
+bUseSpecial && 
pEditEngine->GetInternalEditStatus().AllowPasteSpecial(), format);
 }
 
 aPasteOrDropInfos.nEndPara = pEditEngine->GetEditDoc().GetPos( 
aSel.Max().GetNode() );
diff --git a/editeng/source/editeng/impedit.hxx 
b/editeng/source/editeng/impedit.hxx
index 002eb1e04c2a..1de7e8f0a9c9 100644
--- a/editeng/source/editeng/impedit.hxx
+++ b/editeng/source/editeng/impedit.hxx
@@ -378,7 +378,7 @@ public:
 boolCommand(const CommandEvent& rCEvt);
 
 voidCutCopy( css::uno::Reference< 
css::datatransfer::clipboard::XClipboard > const & rxClipboard, bool bCut );
-voidPaste( css::uno::Reference< 
css::datatransfer::clipboard::XClipboard > const & rxClipboard, bool 
bUseSpecial = false );
+voidPaste( css::uno::Reference< 
css::datatransfer::clipboard::XClipboard > const & rxClipboard, bool 
bUseSpecial = false, SotClipboardFormatId format = SotClipboardFormatId::NONE);
 
 voidSetVisDocStartPos( const Point& rPos ) { aVisDocStartPos = 
rPos; }
 
@@ -648,7 +648,7 @@ private:
 std::unique_ptr
 CreateTextObject(EditSelection aSel

core.git: oox/source

2024-01-25 Thread Caolán McNamara (via logerrit)
 oox/source/drawingml/chart/chartspaceconverter.cxx |3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

New commits:
commit 9485d88da541c8614582b9f927ae40b1c8991c56
Author: Caolán McNamara 
AuthorDate: Wed Jan 24 20:24:12 2024 +
Commit: Caolán McNamara 
CommitDate: Thu Jan 25 11:47:38 2024 +0100

crashtesting: crash seen on import of forum-mso-en4-278652.xlsx

probably an issue since:

commit 135ce256ce9e879663d828ec6e699de521fad867
Date:   Mon Aug 14 15:59:18 2023 +0200

tdf#146487 Don't show generic diagram title when there is an empty 
title given

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

diff --git a/oox/source/drawingml/chart/chartspaceconverter.cxx 
b/oox/source/drawingml/chart/chartspaceconverter.cxx
index f9b370e04d8f..9280d42ff25c 100644
--- a/oox/source/drawingml/chart/chartspaceconverter.cxx
+++ b/oox/source/drawingml/chart/chartspaceconverter.cxx
@@ -191,7 +191,8 @@ void ChartSpaceConverter::convertFromModel( const 
Reference< XShapes >& rxExtern
&& mrModel.mxTitle->mxTextProp.is()
&& mrModel.mxTitle->mxTextProp->isEmpty();
 // Also for tdf#146487
-bool bEmptyRichText = mrModel.mxTitle->mxText.is()
+bool bEmptyRichText = mrModel.mxTitle
+&& mrModel.mxTitle->mxText.is()
 && mrModel.mxTitle->mxText->mxTextBody.is()
 && mrModel.mxTitle->mxText->mxTextBody->isEmpty();
 


core.git: sw/source

2024-01-25 Thread Michael Stahl (via logerrit)
 sw/source/uibase/sidebar/WriterInspectorTextPanel.cxx |   12 +---
 1 file changed, 9 insertions(+), 3 deletions(-)

New commits:
commit 5314947eea119a1ed4960e23c61530669b97468e
Author: Michael Stahl 
AuthorDate: Wed Jan 24 20:18:01 2024 +0100
Commit: Michael Stahl 
CommitDate: Thu Jan 25 11:47:14 2024 +0100

tdf#142806 sw: slowness if Style Inspector visible during PDF export

There are loads of bookmarks in this bugdoc, WriterInspectorTextPanel
update functions somehow iterate them all, and it's entirely pointless
because the view doesn't repaint during store anyway.

PDF export does a lot of cursor moves at the shell to get selection
rectangles, and each one triggers the slow update in AttrChangedNotify.

Also simplify, the m_pShell is already there.

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

diff --git a/sw/source/uibase/sidebar/WriterInspectorTextPanel.cxx 
b/sw/source/uibase/sidebar/WriterInspectorTextPanel.cxx
index 49086fa9a04f..c6376910f1a5 100644
--- a/sw/source/uibase/sidebar/WriterInspectorTextPanel.cxx
+++ b/sw/source/uibase/sidebar/WriterInspectorTextPanel.cxx
@@ -758,12 +758,18 @@ IMPL_LINK(WriterInspectorTextPanel, AttrChangedNotify, 
LinkParamNone*, pLink, vo
 if (m_oldLink.IsSet())
 m_oldLink.Call(pLink);
 
+if (m_pShell->IsViewLocked())
+{
+return; // tdf#142806 avoid slowdown when storing files
+}
+
 SwDocShell* pDocSh = m_pShell->GetDoc()->GetDocShell();
 std::vector aStore;
 
-SwEditShell* pEditSh = pDocSh ? pDocSh->GetDoc()->GetEditShell() : nullptr;
-if (pEditSh && pEditSh->GetCursor()->GetPointNode().GetTextNode())
-UpdateTree(*pDocSh, *pEditSh, aStore, m_nParIdx);
+if (m_pShell->GetCursor()->GetPointNode().GetTextNode())
+{
+UpdateTree(*pDocSh, *m_pShell, aStore, m_nParIdx);
+}
 
 updateEntries(aStore, m_nParIdx);
 }


core.git: sw/source vcl/qa

2024-01-25 Thread Michael Stahl (via logerrit)
 sw/source/core/layout/frmtool.cxx   |   27 +
 sw/source/core/layout/trvlfrm.cxx   |   69 +-
 sw/source/core/text/EnhancedPDFExportHelper.cxx |5 
 vcl/qa/cppunit/pdfexport/data/LinkPages.fodt|  138 +
 vcl/qa/cppunit/pdfexport/pdfexport.cxx  |  607 
 5 files changed, 814 insertions(+), 32 deletions(-)

New commits:
commit 9ba8d68c2b2fd06340bbdcb61dc3d57f6e3eb974
Author: Michael Stahl 
AuthorDate: Wed Jan 24 15:05:07 2024 +0100
Commit: Michael Stahl 
CommitDate: Thu Jan 25 11:46:46 2024 +0100

tdf#142806 sw: PDF export: fix multi-frame links/fields

* SwRootFrame::CalcFrameRects() assumption that there is only 1 frame is
  wrong, add a loop; also remove dead eMode check in else branch
* GetCursorRectsContainingText() cannot call GetCurrFrame() because that
  returns always the same frame, but it can be split across several
* fix GetFrameOfModify() to return the correct frame in case of a field
  (where it returned always the frame containing the start of the field,
  but pViewPosAndCalcFrame could be in a follow frame)

(regression from commit 5726be1314517d47dd733aabe64a3d85cce094c5)

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

diff --git a/sw/source/core/layout/frmtool.cxx 
b/sw/source/core/layout/frmtool.cxx
index 52f378580a25..423c08306919 100644
--- a/sw/source/core/layout/frmtool.cxx
+++ b/sw/source/core/layout/frmtool.cxx
@@ -3903,7 +3903,32 @@ SwFrame* GetFrameOfModify(SwRootFrame const*const 
pLayout, sw::BroadcastingModif
 } while( bClientIterChanged );
 
 if( pPos && pMinFrame && pMinFrame->IsTextFrame() )
-return static_cast(pMinFrame)->GetFrameAtPos( *pPos );
+{
+SwTextFrame * 
pAtPos(static_cast(pMinFrame)->GetFrameAtPos(*pPos));
+if (!pViewPosAndCalcFrame)
+{
+return pAtPos;
+}
+TextFrameIndex nPos(pAtPos->MapModelToViewPos(*pPos));
+SwPageFrame const*const pPage(pAtPos->getRootFrame()->GetPageAtPos(
+pViewPosAndCalcFrame->first, nullptr, true));
+SwFrame * pOnPage(pAtPos); // if all else fails return first one
+++nPos; // follow field portions are on follow frames that have 
mnOffset
+// already incremented past the field, need to check that index too
+while (pAtPos && pAtPos->GetOffset() <= nPos)
+{
+if (pAtPos->getFrameArea().Contains(pViewPosAndCalcFrame->first))
+{
+return pAtPos;
+}
+if (pAtPos->FindPageFrame() == pPage)
+{
+pOnPage = pAtPos;
+}
+pAtPos = pAtPos->GetFollow();
+}
+return pOnPage;
+}
 
 return pMinFrame;
 }
diff --git a/sw/source/core/layout/trvlfrm.cxx 
b/sw/source/core/layout/trvlfrm.cxx
index fb8deceb774b..10c4b88e87b9 100644
--- a/sw/source/core/layout/trvlfrm.cxx
+++ b/sw/source/core/layout/trvlfrm.cxx
@@ -2587,40 +2587,49 @@ void SwRootFrame::CalcFrameRects(SwShellCursor const& 
rCursor, SwRects & rRects,
 // splitting of portions vertically (causes spurious extra PDF annotations)
 if (eMode == RectsMode::NoAnchoredFlys)
 {
-assert(pStartFrame == pEndFrame); // link or field all in 1 frame
-assert(pStartFrame->IsTextFrame());
-SwTextGridItem const*const 
pGrid(GetGridItem(pStartFrame->FindPageFrame()));
-SwTextPaintInfo info(static_cast(pStartFrame), 
pStartFrame->FindPageFrame()->getFrameArea());
-SwTextPainter painter(static_cast(pStartFrame), &info);
-// because nothing outside the start/end has been added, it doesn't
-// matter to match exactly the start/end, subtracting outside is no-op
-
painter.CharToLine(static_cast(pStartFrame)->MapModelToViewPos(*pStartPos));
-do
-{
-info.SetPos(painter.GetTopLeft());
-bool const bAdjustBaseLine(
-
painter.GetLineInfo().HasSpecialAlign(pStartFrame->IsVertical())
-|| nullptr != pGrid || 
painter.GetCurr()->GetHangingBaseline());
-SwTwips nAscent, nHeight;
-painter.CalcAscentAndHeight(nAscent, nHeight);
-SwTwips const nOldY(info.Y());
-for (SwLinePortion const* pLP = 
painter.GetCurr()->GetFirstPortion();
-pLP; pLP = pLP->GetNextPortion())
+for (SwContentFrame * pFrame = pStartFrame; ; pFrame = 
pFrame->GetFollow())
+{
+assert(pFrame->IsTextFrame());
+SwTextGridItem const*const 
pGrid(GetGridItem(pFrame->FindPageFrame()));
+SwTextPaintInfo info(static_cast(pFrame), 
pFrame->FindPageFrame()->getFrameArea());
+SwTextPainter painter(static_cast(pFrame), &info);
+// because nothing outside the start/end has been adde

core.git: sw/source

2024-01-25 Thread Michael Stahl (via logerrit)
 sw/source/core/text/itrcrsr.cxx |5 -
 1 file changed, 4 insertions(+), 1 deletion(-)

New commits:
commit 42a315b4a777dc371297752b6233e437d36c456b
Author: Michael Stahl 
AuthorDate: Tue Jan 23 18:23:12 2024 +0100
Commit: Michael Stahl 
CommitDate: Thu Jan 25 11:46:22 2024 +0100

sw: fix crash in SwTextCursor::GetModelPositionForViewPoint()

With a field that spans 3 SwTextFrames, it happens that
rText[sal_Int32(nCurrStart + nLength) - 1]
results in rText[-1]; it looks like both nCurrStart and nLength are
correct (nCurrStart was decremented in line 1531 after "if (bFieldInfo)")
so there is a missing check here.

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

diff --git a/sw/source/core/text/itrcrsr.cxx b/sw/source/core/text/itrcrsr.cxx
index 0cb12bf54a21..ea399a66f5d9 100644
--- a/sw/source/core/text/itrcrsr.cxx
+++ b/sw/source/core/text/itrcrsr.cxx
@@ -1621,8 +1621,11 @@ TextFrameIndex 
SwTextCursor::GetModelPositionForViewPoint( SwPosition *pPos, con
 
 // Skip space at the end of the line
 if( bLastPortion && (m_pCurr->GetNext() || m_pFrame->GetFollow() )
-&& rText[sal_Int32(nCurrStart + nLength) - 1] == ' ' )
+&& sal_Int32(nLength) != 0
+&& rText[sal_Int32(nCurrStart + nLength) - 1] == ' ')
+{
 --nLength;
+}
 
 if( nWidth > nX ||
   ( nWidth == nX && pPor->IsMultiPortion() && 
static_cast(pPor)->IsDouble() ) )


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

2024-01-25 Thread Xisco Fauli (via logerrit)
 sw/qa/core/text/data/tdf159336.odt |binary
 sw/qa/core/text/text.cxx   |   35 +++
 sw/source/core/text/itrform2.cxx   |2 ++
 3 files changed, 37 insertions(+)

New commits:
commit c2032ed42ea8a44bd3a5f8e8a778e05005366099
Author: Xisco Fauli 
AuthorDate: Tue Jan 23 15:28:26 2024 +0100
Commit: Michael Stahl 
CommitDate: Thu Jan 25 11:42:52 2024 +0100

tdf#159336: export EditWidget with multiline enabled

How to reproduce it from scratch:
1. Open writer
2. Form - Content Controls - Rich Text/Plain Text
3. Split the control intro different lines
4. Export to PDF

-> The content control is displayed in one line

Change-Id: Ia8666c8a6520e94ae06693ea8767c1d79aa5d3a0
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/162446
Reviewed-by: Xisco Fauli 
Tested-by: Jenkins
(cherry picked from commit 8a6c9e246c746792fa0ab9d47a0fd5928b77d91d)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/162532
Reviewed-by: Michael Stahl 

diff --git a/sw/qa/core/text/data/tdf159336.odt 
b/sw/qa/core/text/data/tdf159336.odt
new file mode 100644
index ..4f396e4f2abb
Binary files /dev/null and b/sw/qa/core/text/data/tdf159336.odt differ
diff --git a/sw/qa/core/text/text.cxx b/sw/qa/core/text/text.cxx
index d61492d43d61..690fc333afb5 100644
--- a/sw/qa/core/text/text.cxx
+++ b/sw/qa/core/text/text.cxx
@@ -20,6 +20,7 @@
 #include 
 #include 
 #include 
+#include 
 #include 
 #include 
 #include 
@@ -115,6 +116,40 @@ CPPUNIT_TEST_FIXTURE(SwCoreTextTest, 
testLastBibliographyPdfExport)
 CPPUNIT_ASSERT(true);
 }
 
+CPPUNIT_TEST_FIXTURE(SwCoreTextTest, testTdf159336)
+{
+createSwDoc("tdf159336.odt");
+save("writer_pdf_Export");
+
+vcl::filter::PDFDocument aDocument;
+SvFileStream aStream(maTempFile.GetURL(), StreamMode::READ);
+CPPUNIT_ASSERT(aDocument.Read(aStream));
+
+// The document has one page.
+std::vector aPages = aDocument.GetPages();
+CPPUNIT_ASSERT_EQUAL(static_cast(1), aPages.size());
+
+auto pAnnots = 
dynamic_cast(aPages[0]->Lookup("Annots"_ostr));
+CPPUNIT_ASSERT(pAnnots);
+
+CPPUNIT_ASSERT_EQUAL(static_cast(1), 
pAnnots->GetElements().size());
+auto pAnnotReference
+= 
dynamic_cast(pAnnots->GetElements()[0]);
+CPPUNIT_ASSERT(pAnnotReference);
+vcl::filter::PDFObjectElement* pAnnot = pAnnotReference->LookupObject();
+CPPUNIT_ASSERT(pAnnot);
+CPPUNIT_ASSERT_EQUAL(
+"Annot"_ostr,
+
static_cast(pAnnot->Lookup("Type"_ostr))->GetValue());
+CPPUNIT_ASSERT_EQUAL(
+"Widget"_ostr,
+
static_cast(pAnnot->Lookup("Subtype"_ostr))->GetValue());
+// Ff = multiline
+auto pFf = 
dynamic_cast(pAnnot->Lookup("Ff"_ostr));
+CPPUNIT_ASSERT(pFf);
+CPPUNIT_ASSERT_EQUAL(4096.0, pFf->GetValue());
+}
+
 CPPUNIT_TEST_FIXTURE(SwCoreTextTest, testBibliographyUrlPdfExport)
 {
 // Given a document with a bibliography entry field:
diff --git a/sw/source/core/text/itrform2.cxx b/sw/source/core/text/itrform2.cxx
index 4305e9d0948c..f38bba2ef751 100644
--- a/sw/source/core/text/itrform2.cxx
+++ b/sw/source/core/text/itrform2.cxx
@@ -1009,6 +1009,8 @@ bool SwContentControlPortion::DescribePDFControl(const 
SwTextPaintInfo& rInf) co
 case SwContentControlType::PLAIN_TEXT:
 {
 pDescriptor = std::make_unique();
+auto pEditWidget = 
static_cast(pDescriptor.get());
+pEditWidget->MultiLine = true;
 break;
 }
 case SwContentControlType::CHECKBOX:


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

2024-01-25 Thread Michael Weghorn (via logerrit)
 svx/source/accessibility/AccessibleShape.cxx |2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

New commits:
commit 9388cfca3db302694d5ec582da942876046eb139
Author: Michael Weghorn 
AuthorDate: Wed Jan 24 10:19:58 2024 +0100
Commit: Michael Stahl 
CommitDate: Thu Jan 25 11:33:58 2024 +0100

svx a11y: Notify listeners when disposing shape

In `AccessibleShape::disposing`, call the same method
of the base class, i.e. `AccessibleContextBase::disposing`,
not `AccessibleContextBase::dispose`.

The code was moved from `AccessibleShape::dispose` to
`AccessibleShape::disposing` in

commit f11b151dc08ccfcb7e78bfd9a24c77670942ea63
Date:   Tue Apr 30 13:30:10 2002 +

#95585# Moved code from dispose to disposing().

and it seems likely that adjusting the base class method to call
was just forgotten/missed.

This resulted in the accessible getting disposed without listeners
getting notified (since `AccessibleContextBase::disposing` takes
care of that).

This resulted in a crash for the following scenario with the qt6
VCL plugin when the Orca screen reader is running:

1) start LO Writer
2) click on the "Basic shapes" toolbar button
3) click + drag to insert a shape into the document
4) click somewhere else

Backtrace is below.
`AtSpiAdaptor::handleMessage` (frame #12 in the bt) checks
whether the accessible is valid and returns early otherwise.
But since listeners were not notified when the object got disposed,
`QtAccessibleEventListener::disposing` wasn't called, which would
have taken care of invalidating the `QtAccessibleWidget`, in which
case this early return would have happened instead of the crash.

This behaves as expected now with this commit in place.

stderr output of the crash:

terminate called after throwing an instance of 
'com::sun::star::lang::DisposedException'

Backtrace:

Thread 1 received signal SIGABRT, Aborted.
__pthread_kill_implementation (threadid=, 
signo=signo@entry=6, no_tid=no_tid@entry=0) at ./nptl/pthread_kill.c:44
44  ./nptl/pthread_kill.c: No such file or directory.
(gdb) bt
#0  __pthread_kill_implementation (threadid=, 
signo=signo@entry=6, no_tid=no_tid@entry=0) at ./nptl/pthread_kill.c:44
#1  0x7f5bc1ca815f in __pthread_kill_internal (signo=6, 
threadid=) at ./nptl/pthread_kill.c:78
#2  0x7f5bc1c5a472 in __GI_raise (sig=sig@entry=6) at 
../sysdeps/posix/raise.c:26
#3  0x7f5bc1c444b2 in __GI_abort () at ./stdlib/abort.c:79
#4  0x7f5bc18a09eb in  () at /lib/x86_64-linux-gnu/libstdc++.so.6
#5  0x7f5bc18affca in  () at /lib/x86_64-linux-gnu/libstdc++.so.6
#6  0x7f5bc18b0035 in  () at /lib/x86_64-linux-gnu/libstdc++.so.6
#7  0x7f5bc18b0288 in  () at /lib/x86_64-linux-gnu/libstdc++.so.6
#8  0x7f5bc02b4550 in 
accessibility::AccessibleContextBase::ThrowIfDisposed() (this=0x55a6fc7e7da0) 
at .../libreoffice/editeng/source/accessibility/AccessibleContextBase.cxx:494
#9  0x7f5bbcf7d54e in 
accessibility::AccessibleShape::getAccessibleName() (this=0x55a6fc7e7da0) at 
.../libreoffice/svx/source/accessibility/AccessibleShape.cxx:280
#10 0x7f5bada62107 in QtAccessibleWidget::text(QAccessible::Text) 
const (this=0x55a6fad4fe20, text=QAccessible::Name) at 
.../libreoffice/vcl/qt6/../qt5/QtAccessibleWidget.cxx:362
#11 0x7f5bac5552d2 in 
AtSpiAdaptor::accessibleInterface(QAccessibleInterface*, QString const&, 
QDBusMessage const&, QDBusConnection const&) (this=0x55a6f769bce0, 
interface=0x55a6fad4fe20, function=..., message=..., connection=...)
at .../qt5/qtbase/src/gui/accessible/linux/atspiadaptor.cpp:1545
#12 0x7f5bac553cce in AtSpiAdaptor::handleMessage(QDBusMessage 
const&, QDBusConnection const&) (this=0x55a6f769bce0, message=..., 
connection=...)
at .../qt5/qtbase/src/gui/accessible/linux/atspiadaptor.cpp:1432
#13 0x7f5baaa88943 in 
QDBusConnectionPrivate::activateObject(QDBusConnectionPrivate::ObjectTreeNode&, 
QDBusMessage const&, int) (this=0x7f5ba4010f30, node=..., msg=..., 
pathStartPos=27)
at .../qt5/qtbase/src/dbus/qdbusintegrator.cpp:1448
#14 0x7f5baaa89628 in 
QDBusActivateObjectEvent::placeMetaCall(QObject*) (this=0x7f5ba4026980) at 
.../qt5/qtbase/src/dbus/qdbusintegrator.cpp:1604
#15 0x7f5bad044013 in QObject::event(QEvent*) (this=0x55a6f769bce0, 
e=0x7f5ba4026980) at .../qt5/qtbase/src/corelib/kernel/qobject.cpp:1447
#16 0x7f5bab1a6986 in QApplicationPrivate::notify_helper(QObject*, 
QEvent*) (this=0x55a6f631c3e0, receiver=0x55a6f769bce0, e=0x7f5ba4026980) at 
.../qt5/qtbase/src/widgets/kernel/qapplication.cpp:3298
#17 0x7f5bab1a6797 in QApplication::notify(QObject*, QEvent*) 
(this=0x5

core.git: android/source

2024-01-25 Thread Weblate (via logerrit)
 android/source/res/values-cs/strings.xml |   43 +++
 android/source/res/values-sk/strings.xml |   22 +++
 2 files changed, 65 insertions(+)

New commits:
commit d527c6dca4513bf2f4267bd9e6f739532d7908d0
Author: Weblate 
AuthorDate: Wed Jan 24 19:37:05 2024 +0100
Commit: Michael Weghorn 
CommitDate: Thu Jan 25 11:29:33 2024 +0100

android-viewer translated using Weblate

Slovak currently translated at 16.1% (19 of 118 strings)

Change-Id: I43a99ef5228367157936337424f0b88893bba112

android-viewer translated using Weblate

Czech currently translated at 50.0% (59 of 118 strings)

Change-Id: I5335d1b9a25312708822ddf890fdb92c02891b25

Added translation for android-viewer using Weblate (Slovak)

Change-Id: Icd19b09d4df30882fba4b26a7745419fe73233ba
Co-authored-by: Miloš Šrámek 
Co-authored-by: Stanislav Horáček 
Co-authored-by: Weblate 
Co-authored-by: Weblate 
Translate-URL: 
https://translations.documentfoundation.org/projects/android-viewer/android-strings/cs/
Translate-URL: 
https://translations.documentfoundation.org/projects/android-viewer/android-strings/sk/
Translation: android-viewer/android-strings
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/162472
Tested-by: Jenkins
Reviewed-by: Michael Weghorn 

diff --git a/android/source/res/values-cs/strings.xml 
b/android/source/res/values-cs/strings.xml
index 93d4ad5fc0b3..8b5ee9b30e55 100644
--- a/android/source/res/values-cs/strings.xml
+++ b/android/source/res/values-cs/strings.xml
@@ -16,4 +16,47 @@
 Nová kresba
 bez názvu
 Nový sešit
+Povolí vývojářský režim, ve 
kterém lze v aplikaci posílat příkazy UNO. Použití na vlastní 
nebezpečí.
+Zobrazit
+Vývojářský režim
+Skrýt
+Poslat příkaz UNO
+O aplikaci
+Povolit formát
+Heslo
+Vyberte možnosti vložení:
+Zpět
+ULOŽIT
+Upravit délku
+Vyberte soubor k otevření
+Uložit dokument před 
zavřením?
+Ukládání dokumentu selhalo.
+Optimální délka
+Znovu
+Poslední soubory
+Vložit
+Ukládání dokumentu…
+NE
+Upravit šířku
+Zpět
+Experimentální režim
+Smazat
+Zpět
+Části
+Vyberte možnosti smazání:
+Obecné
+Text zkopírován do schránky
+Zobrazit klávesnici
+Prezentace
+Hledat
+Ukládání dokončeno
+Uložit
+Nastavení
+Všechny soubory
+Vložit tabulku
+Přidat snímek
+Zrušit
+Upravit výšku
+Povolí experimentální 
režim úprav. Použití na vlastní nebezpečí.
+Optimální výška
 
\ No newline at end of file
diff --git a/android/source/res/values-sk/strings.xml 
b/android/source/res/values-sk/strings.xml
new file mode 100644
index ..b83ec58936b9
--- /dev/null
+++ b/android/source/res/values-sk/strings.xml
@@ -0,0 +1,22 @@
+
+
+LibreOffice Viewer je prehliadač dokumentov 
založený na LibreOffice.
+bez názvu
+Info
+https://www.libreoffice.org
+Nový tabuľkový dokument
+Vyberte súbor, ktorý chcete 
otvoriť
+Nová kresba
+Posledné súbory
+Nový textový dokument
+Nová prezentácia
+Dodávateľom tohto produktu je $VENDOR.
+Všeobecné
+Nastavenia LibreOffice Viewer
+Verzia: %1$s
ID zostavenia: %2$s; +Zobraziť licenciu +Všetky súbory +LibreOffice Viewer +Táto súbor je len na čítanie. +Zobraziť oznam + \ No newline at end of file

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

2024-01-25 Thread Weblate (via logerrit)
 android/source/res/values-cs/strings.xml |   55 +++
 android/source/res/values-sk/strings.xml |   27 +++
 2 files changed, 82 insertions(+)

New commits:
commit 6e87883fe19bbf3fd5bf68e13b526aeafe2acde6
Author: Weblate 
AuthorDate: Wed Jan 24 19:36:50 2024 +0100
Commit: Michael Weghorn 
CommitDate: Thu Jan 25 11:28:48 2024 +0100

android-viewer translated using Weblate

Czech currently translated at 53.0% (69 of 130 strings)

Change-Id: I321dbf6a52cad2d25131e5dc4df42d2cea0fb2d7

android-viewer translated using Weblate

Czech currently translated at 53.0% (69 of 130 strings)

Change-Id: I11b94e36161b5b6e876fd42f490f668db8474014

android-viewer translated using Weblate

Czech currently translated at 53.0% (69 of 130 strings)

Change-Id: I20ae663f85bc9a9a770310c5eec61cef53c36376

android-viewer translated using Weblate

Czech currently translated at 52.3% (68 of 130 strings)

Change-Id: I95f6cff7df087b57cb53be687817389be7843fcc

android-viewer translated using Weblate

Czech currently translated at 52.3% (68 of 130 strings)

Change-Id: I565593e71335fdd11ae5e8f6dbf7331e11a1ad2e

android-viewer translated using Weblate

Czech currently translated at 40.7% (53 of 130 strings)

Change-Id: Id12b62342d4e19838911a3f2b7bbf548227258f1

android-viewer translated using Weblate

Czech currently translated at 40.7% (53 of 130 strings)

Change-Id: Ie66b6d66677107d96dfa20b700f341b49966cc56

android-viewer translated using Weblate

Czech currently translated at 40.0% (52 of 130 strings)

Change-Id: If1c162c4da96983c0887ac3104be1f0e6c1c2ed8

android-viewer translated using Weblate

Czech currently translated at 40.0% (52 of 130 strings)

Change-Id: Ie5077683846395a32ce2fdabc0ec01031f639e40

android-viewer translated using Weblate

Czech currently translated at 30.7% (40 of 130 strings)

Change-Id: Ic716a45831384b3d7c6b3420c09412fece897b2f

android-viewer translated using Weblate

Czech currently translated at 30.7% (40 of 130 strings)

Change-Id: I557f62983e6581d65457ab9d86460ce3a9699968

android-viewer translated using Weblate

Czech currently translated at 21.5% (28 of 130 strings)

Change-Id: I5d3a4b822a2ce6f28508326a1f840ba7bea0d38d

android-viewer translated using Weblate

Czech currently translated at 21.5% (28 of 130 strings)

Change-Id: I79043d2cde7399d79fde999510345a4e379f366d

android-viewer translated using Weblate

Czech currently translated at 20.7% (27 of 130 strings)

Change-Id: Ifae3705dbf31ae9ced8fafdce16229222cf1551f

android-viewer translated using Weblate

Czech currently translated at 20.7% (27 of 130 strings)

Change-Id: I36e50495f97a4c9d4189747132a4dbf8f5f36de0

android-viewer translated using Weblate

Czech currently translated at 20.0% (26 of 130 strings)

Change-Id: I2d9c5b5c2e92b702bb4435af7e3734ece9846680

android-viewer translated using Weblate

Czech currently translated at 20.0% (26 of 130 strings)

Change-Id: I3968a2ffc5d44c98c6d4152c332cbc8b2e330a3f

android-viewer translated using Weblate

Czech currently translated at 19.2% (25 of 130 strings)

Change-Id: I4c3e05a3f27308cff2561b7371ccc2a9c5ee7472

android-viewer translated using Weblate

Czech currently translated at 19.2% (25 of 130 strings)

Change-Id: I85f42433ff74c79001b0fc793d7e48080d1be121

android-viewer translated using Weblate

Czech currently translated at 18.4% (24 of 130 strings)

Change-Id: If3a8d29aa25ee284c05e5acfaed46be25737de1f

android-viewer translated using Weblate

Czech currently translated at 18.4% (24 of 130 strings)

Change-Id: I764ec51c303483b0752b4f744df7236e4ea6d0bb

android-viewer translated using Weblate

Czech currently translated at 17.6% (23 of 130 strings)

Change-Id: I1fb362817200d25c03a9bc941ea251b39d344b4a

android-viewer translated using Weblate

Czech currently translated at 17.6% (23 of 130 strings)

Change-Id: I09b1da0a23b31879e68a1ed2207c2ea4811dc77c

android-viewer translated using Weblate

Czech currently translated at 16.1% (21 of 130 strings)

Change-Id: Iff8755189bef1c5ac1bdc9feaf2c06e447ea47b4

android-viewer translated using Weblate

Czech currently translated at 16.1% (21 of 130 strings)

Change-Id: I048f4edf2c31505153ac8653bd9ee7600769c6ca

android-viewer translated using Weblate

Czech currently translated at 12.3% (16 of 130 strings)

Change-Id: I29a9a5233b52d43a193c440bb06f8b1f02bb9a18

android-viewer translated using Weblate

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

2024-01-25 Thread Caolán McNamara (via logerrit)
 basctl/source/basicide/baside2b.cxx |9 ++---
 1 file changed, 6 insertions(+), 3 deletions(-)

New commits:
commit be464eaa4e443e81ee236044b37cd8a861fa4d17
Author: Caolán McNamara 
AuthorDate: Thu Jan 25 08:46:52 2024 +
Commit: Xisco Fauli 
CommitDate: Thu Jan 25 11:23:02 2024 +0100

Resolves: tdf#159368 crash on tools, macros, edit

when launched from startcenter

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

diff --git a/basctl/source/basicide/baside2b.cxx 
b/basctl/source/basicide/baside2b.cxx
index 0cb13161178b..33cbbc4787ff 100644
--- a/basctl/source/basicide/baside2b.cxx
+++ b/basctl/source/basicide/baside2b.cxx
@@ -1252,9 +1252,12 @@ void EditorWindow::ChangeFontColor( Color aColor )
 
 void EditorWindow::UpdateSyntaxHighlighting ()
 {
-const sal_uInt32 nCount = pEditEngine->GetParagraphCount();
-for (sal_uInt32 i = 0; i < nCount; ++i)
-DoDelayedSyntaxHighlight(i);
+if (pEditEngine)
+{
+const sal_uInt32 nCount = pEditEngine->GetParagraphCount();
+for (sal_uInt32 i = 0; i < nCount; ++i)
+DoDelayedSyntaxHighlight(i);
+}
 }
 
 void EditorWindow::ImplSetFont()


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

2024-01-25 Thread Mike Kaganski (via logerrit)
 sw/source/uibase/docvw/edtwin.cxx |   36 +---
 sw/source/uibase/inc/edtwin.hxx   |3 ++-
 2 files changed, 27 insertions(+), 12 deletions(-)

New commits:
commit aa17d771854b9fba24b9beaede6a2cd2291953d4
Author: Mike Kaganski 
AuthorDate: Mon Jan 22 02:03:13 2024 +0600
Commit: Michael Stahl 
CommitDate: Thu Jan 25 11:21:29 2024 +0100

tdf#158139: show autotext / word completion tooltips also for delayed flush

The problem was that commit 843af72bcc9047867588e29c8e10b84a5e58d70e (make
win32 variant AnyInput() not deliver events (tdf#140293), 2021-02-11) made
AnyInput ~always return true, when called in SwEditWin::KeyInput. Calling
AnyInput(KEYBOARD) there is to query if there are more pending characters.
But in its new form on Windows, it tells if there are any keyboard-related
window events in the queue, where e.g. WM_KEYUP counts, which is for the
same keypress (WM_KEYDOWN) that is being handled right now - even though
those messages will not produce new characters.

When AnyInput() returns true, a delayed flush timer starts. Only immediate
flush was accompanied by tooltips.

To make sure that the tooltip is shown also for delayed flush, move the
tooltip code into SwEditWin::FlushInBuffer. Store the 'bNormalChar' flag
(which controlled if the tooltip was shown) in a new member in SwEditWin.

Change-Id: I51686b25f8d86df48ae9574ab8f3eb1d0e6ca985
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/162350
Tested-by: Jenkins
Reviewed-by: Mike Kaganski 
(cherry picked from commit d49b0c3654e50ff9b74545140e6f19e008009c33)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/162372
Reviewed-by: Xisco Fauli 
Signed-off-by: Xisco Fauli 
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/162425
Reviewed-by: Michael Stahl 

diff --git a/sw/source/uibase/docvw/edtwin.cxx 
b/sw/source/uibase/docvw/edtwin.cxx
index e38540ef0111..e3d532b0f4a7 100644
--- a/sw/source/uibase/docvw/edtwin.cxx
+++ b/sw/source/uibase/docvw/edtwin.cxx
@@ -888,6 +888,25 @@ void SwEditWin::FlushInBuffer()
 return;
 
 SwWrtShell& rSh = m_rView.GetWrtShell();
+uno::Reference xRecorder
+= m_rView.GetViewFrame().GetBindings().GetRecorder();
+
+comphelper::ScopeGuard showTooltipGuard(
+[this, &rSh]
+{
+SvxAutoCorrCfg& rACfg = SvxAutoCorrCfg::Get();
+const bool bAutoTextShown
+= rACfg.IsAutoTextTip() && 
ShowAutoText(rSh.GetChunkForAutoText());
+if (!bAutoTextShown)
+{
+SvxAutoCorrect* pACorr = rACfg.GetAutoCorrect();
+if (pACorr && pACorr->GetSwFlags().bAutoCompleteWords)
+ShowAutoCorrectQuickHelp(rSh.GetPrevAutoCorrWord(*pACorr), 
*pACorr);
+}
+});
+if (!m_bMaybeShowTooltipAfterBufferFlush || xRecorder)
+showTooltipGuard.dismiss();
+m_bMaybeShowTooltipAfterBufferFlush = false;
 
 // generate new sequence input checker if not already done
 if ( !pCheckIt )
@@ -985,8 +1004,6 @@ void SwEditWin::FlushInBuffer()
 }
 }
 
-uno::Reference< frame::XDispatchRecorder > xRecorder =
-m_rView.GetViewFrame().GetBindings().GetRecorder();
 if ( xRecorder.is() )
 {
 // determine shell
@@ -1373,6 +1390,9 @@ void SwEditWin::KeyInput(const KeyEvent &rKEvt)
 }
 }
 
+// Do not show autotext / word completion tooltips in intermediate flushes
+m_bMaybeShowTooltipAfterBufferFlush = false;
+
 if( rKEvt.GetKeyCode().GetCode() == KEY_ESCAPE &&
 m_pApplyTempl && m_pApplyTempl->m_pFormatClipboard )
 {
@@ -2798,19 +2818,12 @@ KEYINPUT_CHECKTABLE_INSDEL:
 if( KEY_UP == nKey || KEY_DOWN == nKey || KEY_PAGEUP == nKey || 
KEY_PAGEDOWN == nKey )
 GetView().GetViewFrame().GetBindings().Update( FN_STAT_PAGE );
 
+m_bMaybeShowTooltipAfterBufferFlush = bNormalChar;
+
 // in case the buffered characters are inserted
 if( bFlushBuffer && !m_aInBuffer.isEmpty() )
 {
 FlushInBuffer();
-
-// maybe show Tip-Help
-if (bNormalChar)
-{
-const bool bAutoTextShown
-= pACfg && pACfg->IsAutoTextTip() && 
ShowAutoText(rSh.GetChunkForAutoText());
-if (!bAutoTextShown && pACorr && 
pACorr->GetSwFlags().bAutoCompleteWords)
-ShowAutoCorrectQuickHelp(rSh.GetPrevAutoCorrWord(*pACorr), 
*pACorr);
-}
 }
 
 // get the word count dialog to update itself
@@ -5375,6 +5388,7 @@ SwEditWin::SwEditWin(vcl::Window *pParent, SwView 
&rMyView):
 m_bIsRowDrag(false),
 m_bUseInputLanguage(false),
 m_bObjectSelect(false),
+m_bMaybeShowTooltipAfterBufferFlush(false),
 m_nKS_NUMDOWN_Count(0),
 m_nKS_NUMINDENTINC_Count(0),
 m_pFrameControlsManager(new SwFrameControlsManager(this))
diff --git a/sw/source/uibase/inc/edtwin.hxx b/sw/source/u

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

2024-01-25 Thread Mike Kaganski (via logerrit)
 oox/source/drawingml/shape.cxx |   37 +++--
 sd/qa/unit/export-tests-ooxml4.cxx |   22 +-
 2 files changed, 16 insertions(+), 43 deletions(-)

New commits:
commit 0d88061459c0d5200d7f87acc63babdac30e4d43
Author: Mike Kaganski 
AuthorDate: Wed Jan 17 21:21:24 2024 +0600
Commit: Xisco Fauli 
CommitDate: Thu Jan 25 11:04:33 2024 +0100

tdf#140912, tdf#159219: fix import of graphic placeholder with custom prompt

Importing the text marks the object as not empty. Then, the object would
behave as an outliner object. This includes showing in slide show; allowing
text esiting; stretching the placeholder image, which required a workaround
implemented in commit 7b3be7f6f3d800e2ad86f5a043e6e9b21ed4409f (tdf#140912
Better handling of the picture placeholders, 2021-12-01).

Instead, drop the custom prompt. More correct solution would be making sure
to mark the object as empty after setting the text; but this doesn't round-
trip to ODF; and it crashes export to PPTX. Proper support for the sustom
placeholder prompt feature should be done separately.

The new workaround (dropping the text) makes previous workaround (special
handling of the placeholder graphic) unnecessary. The unit test is updated.

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

diff --git a/oox/source/drawingml/shape.cxx b/oox/source/drawingml/shape.cxx
index c42a9f7820a3..22cc551ed6b2 100644
--- a/oox/source/drawingml/shape.cxx
+++ b/oox/source/drawingml/shape.cxx
@@ -95,7 +95,6 @@
 #include 
 #include 
 #include 
-#include 
 #include 
 #include 
 #include 
@@ -1539,35 +1538,6 @@ Reference< XShape > const & Shape::createAndInsert(
 
propertySet->setPropertyValue("InteropGrabBag",uno::Any(aGrabBag));
 }
 
-// If the shape is a picture placeholder.
-if (aServiceName == "com.sun.star.presentation.GraphicObjectShape" 
&& !bClearText)
-{
-// Placeholder text should be in center of the shape.
-aShapeProps.setProperty(PROP_TextContourFrame, false);
-
-/* Placeholder icon should be at the center of the parent 
shape.
- * We use negative graphic crop property because of that we 
don't
- * have padding support.
- */
-uno::Reference 
xGraphic(xSet->getPropertyValue("Graphic"), uno::UNO_QUERY);
-if (xGraphic.is())
-{
-awt::Size aBitmapSize;
-xGraphic->getPropertyValue("Size100thMM") >>= aBitmapSize;
-sal_Int32 nXMargin = (aShapeRectHmm.Width - 
aBitmapSize.Width) / 2;
-sal_Int32 nYMargin = (aShapeRectHmm.Height - 
aBitmapSize.Height) / 2;
-if (nXMargin > 0 && nYMargin > 0)
-{
-text::GraphicCrop aGraphicCrop;
-aGraphicCrop.Top = nYMargin * -1;
-aGraphicCrop.Bottom = nYMargin * -1;
-aGraphicCrop.Left = nXMargin * -1;
-aGraphicCrop.Right = nXMargin * -1;
-aShapeProps.setProperty(PROP_GraphicCrop, 
aGraphicCrop);
-}
-}
-}
-
 PropertySet( xSet ).setProperties( aShapeProps );
 
 if (mpTablePropertiesPtr && aServiceName == 
"com.sun.star.drawing.TableShape")
@@ -1873,6 +1843,13 @@ Reference< XShape > const & Shape::createAndInsert(
 aPropertySet.setAnyProperty( PROP_VertOrientPosition, Any( 
maPosition.Y ) );
 }
 
+// Make sure to not set text to placeholders. Doing it here would 
eventually call
+// SvxTextEditSourceImpl::UpdateData, 
SdrObject::SetEmptyPresObj(false), and that
+// would make the object behave like a standard outline object.
+// TODO/FIXME: support custom prompt text in placeholders.
+if (rServiceName == "com.sun.star.presentation.GraphicObjectShape")
+mpTextBody.reset();
+
 // in some cases, we don't have any text body.
 if( mpTextBody && ( !bDoNotInsertEmptyTextBody || 
!mpTextBody->isEmpty() ) )
 {
diff --git a/sd/qa/unit/export-tests-ooxml4.cxx 
b/sd/qa/unit/export-tests-ooxml4.cxx
index b09614454df9..c4c061c50d2d 100644
--- a/sd/qa/unit/export-tests-ooxml4.cxx
+++ b/sd/qa/unit/export-tests-ooxml4.cxx
@@ -751,22 +751,18 @@ CPPUNIT_TEST_FIXTURE(SdOOXMLExportTest4, testTdf147121)
 
 CPPUNIT_TEST_FIXTURE(SdOOXMLExportTest4, testTdf140912_PicturePlaceholder)
 {
-// FIXME: the DPI check should be removed when either (1) the test is 
fixed to work with
-// non-default DPI

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

2024-01-25 Thread Tomaž Vajngerl (via logerrit)
 sd/source/ui/view/drviewsf.cxx |   15 ---
 1 file changed, 15 deletions(-)

New commits:
commit ae17868cb81f593913982454bfd07c863e569941
Author: Tomaž Vajngerl 
AuthorDate: Wed Aug 30 09:15:56 2023 +0200
Commit: Xisco Fauli 
CommitDate: Thu Jan 25 11:02:35 2024 +0100

sd: remove condition to only show ThemeDialog in master view

Change-Id: I09ce07f7b520688aa54dd30107b5ab2218b12894
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/156277
Tested-by: Jenkins CollaboraOffice 
Reviewed-by: Miklos Vajna 
(cherry picked from commit 62804da3c0ab9443cf36f2e02387a2e9c272d5dc)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/162463
Tested-by: Jenkins
Reviewed-by: Caolán McNamara 
(cherry picked from commit 77070aedb602729c523ea166aa92d7c227a88312)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/162466
Reviewed-by: Xisco Fauli 

diff --git a/sd/source/ui/view/drviewsf.cxx b/sd/source/ui/view/drviewsf.cxx
index 1844d796036d..c8c6933c29a1 100644
--- a/sd/source/ui/view/drviewsf.cxx
+++ b/sd/source/ui/view/drviewsf.cxx
@@ -470,21 +470,6 @@ void DrawViewShell::GetAttrState( SfxItemSet& rSet )
 }
 break;
 
-case SID_THEME_DIALOG:
-{
-bool bDisable = true;
-SdrPageView* pPageView = mpDrawView->GetSdrPageView();
-if (pPageView)
-{
-SdPage* pPage = 
dynamic_cast(pPageView->GetPage());
-if (pPage && pPage->IsMasterPage())
-bDisable = false;
-}
-if (bDisable)
-rSet.DisableItem(nWhich);
-}
-break;
-
 case SID_STYLE_FAMILY2:
 case SID_STYLE_FAMILY3:
 case SID_STYLE_FAMILY5:


core.git: 2 commits - editeng/source include/editeng

2024-01-25 Thread Tomaž Vajngerl (via logerrit)
 editeng/source/editeng/editeng.cxx  |   47 +--
 editeng/source/editeng/editsel.cxx  |8 
 editeng/source/editeng/editundo.cxx |   52 +--
 editeng/source/editeng/editview.cxx |  361 
 editeng/source/editeng/edtspell.cxx |   11 
 editeng/source/editeng/impedit.cxx  |  520 ++--
 editeng/source/editeng/impedit.hxx  |  138 +
 editeng/source/editeng/impedit2.cxx |   98 +++---
 editeng/source/editeng/impedit3.cxx |   18 -
 editeng/source/editeng/impedit4.cxx |   84 ++---
 editeng/source/editeng/impedit5.cxx |2 
 editeng/source/editeng/textconv.cxx |6 
 include/editeng/editview.hxx|4 
 13 files changed, 677 insertions(+), 672 deletions(-)

New commits:
commit da1df4cc483f10667c3d42369581d53a5b34f421
Author: Tomaž Vajngerl 
AuthorDate: Mon Jan 22 00:26:48 2024 +0900
Commit: Tomaž Vajngerl 
CommitDate: Thu Jan 25 11:02:13 2024 +0100

editeng: prefix members of ImpEditView

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

diff --git a/editeng/source/editeng/editeng.cxx 
b/editeng/source/editeng/editeng.cxx
index 61b979abd320..51dce307064b 100644
--- a/editeng/source/editeng/editeng.cxx
+++ b/editeng/source/editeng/editeng.cxx
@@ -1400,7 +1400,7 @@ bool EditEngine::PostKeyEvent( const KeyEvent& rKeyEvent, 
EditView* pEditView, v
 if ( ( !IsEffectivelyVertical() && ( nCode != KEY_UP ) && ( nCode != 
KEY_DOWN ) ) ||
  ( IsEffectivelyVertical() && ( nCode != KEY_LEFT ) && ( nCode != 
KEY_RIGHT ) ))
 {
-pEditView->getImpl().nTravelXPos = TRAVEL_X_DONTKNOW;
+pEditView->getImpl().mnTravelXPos = TRAVEL_X_DONTKNOW;
 }
 
 if ( /* ( nCode != KEY_HOME ) && ( nCode != KEY_END ) && */
@@ -1410,8 +1410,8 @@ bool EditEngine::PostKeyEvent( const KeyEvent& rKeyEvent, 
EditView* pEditView, v
 pEditView->getImpl().SetCursorBidiLevel( CURSOR_BIDILEVEL_DONTKNOW );
 }
 
-if ( bSetCursorFlags )
-pEditView->getImpl().nExtraCursorFlags = nNewCursorFlags;
+if (bSetCursorFlags)
+pEditView->getImpl().mnExtraCursorFlags = nNewCursorFlags;
 
 if ( bModified )
 {
diff --git a/editeng/source/editeng/editview.cxx 
b/editeng/source/editeng/editview.cxx
index 791902f4e486..c8b702c0de71 100644
--- a/editeng/source/editeng/editview.cxx
+++ b/editeng/source/editeng/editview.cxx
@@ -183,11 +183,11 @@ EditEngine& EditView::getEditEngine() const
 
 tools::Rectangle EditView::GetInvalidateRect() const
 {
-if ( !getImpl().DoInvalidateMore() )
-return getImpl().aOutArea;
+if (!getImpl().DoInvalidateMore())
+return getImpl().maOutputArea;
 else
 {
-tools::Rectangle aRect( getImpl().aOutArea );
+tools::Rectangle aRect(getImpl().maOutputArea);
 tools::Long nMore = getImpl().GetOutputDevice().PixelToLogic( Size( 
getImpl().GetInvalidateMore(), 0 ) ).Width();
 aRect.AdjustLeft( -nMore );
 aRect.AdjustRight(nMore );
@@ -229,7 +229,7 @@ void EditView::InvalidateOtherViewWindows( const 
tools::Rectangle& rInvRect )
 if (comphelper::LibreOfficeKit::isActive())
 {
 bool bNegativeX = IsNegativeX();
-for (auto& pWin : getImpl().aOutWindowSet)
+for (auto& pWin : getImpl().maOutWindowSet)
 {
 if (pWin)
 {
@@ -249,12 +249,12 @@ void EditView::Invalidate()
 
 void EditView::SetReadOnly( bool bReadOnly )
 {
-getImpl().bReadOnly = bReadOnly;
+getImpl().mbReadOnly = bReadOnly;
 }
 
 bool EditView::IsReadOnly() const
 {
-return getImpl().bReadOnly;
+return getImpl().mbReadOnly;
 }
 
 void EditView::SetSelection( const ESelection& rESel )
@@ -364,15 +364,15 @@ void EditView::setEditEngine(EditEngine* pEditEngine)
 getImpl().SetEditSelection( aStartSel );
 }
 
-void EditView::SetWindow( vcl::Window* pWin )
+void EditView::SetWindow(vcl::Window* pWindow)
 {
-getImpl().pOutWin = pWin;
+getImpl().mpOutputWindow = pWindow;
 getImpEditEngine().GetSelEngine().Reset();
 }
 
 vcl::Window* EditView::GetWindow() const
 {
-return getImpl().pOutWin;
+return getImpl().mpOutputWindow;
 }
 
 OutputDevice& EditView::GetOutputDevice() const
@@ -390,7 +390,7 @@ LanguageType EditView::GetInputLanguage() const
 
 bool EditView::HasOtherViewWindow( vcl::Window* pWin )
 {
-OutWindowSet& rOutWindowSet = getImpl().aOutWindowSet;
+OutWindowSet& rOutWindowSet = getImpl().maOutWindowSet;
 auto found = std::find(rOutWindowSet.begin(), rOutWindowSet.end(), pWin);
 return (found != rOutWindowSet.end());
 }
@@ -399,13 +399,13 @@ bool EditView::AddOtherViewWindow( vcl::Window* pWin )
 {
 if (HasOtherViewWindow(pWin))
 return false;
-getImpl().aOutWindowSet.emplace_back(pWin);
+getImpl().maOutWindowSet.emplace_back(pWin);
 return true;
 }
 
 bool EditView::RemoveOtherViewWindow( vcl::Window* 

Re: bibisect-linux-64-24.2 gotchas

2024-01-25 Thread Xisco Fauli

Hello,

Using --enable-python=internal fixes the issue.

I'm rebuilding the whole bibisect_linux64_24_8 repository from scratch 
so the extension can be installed in that repo.


Regarding bibisect_linux64_24_2, since the extension can be installed 
before the mentioned commit, I don't think it's needed to rebuilt the 
repository but of course it can be done if needed.


Regards

On 18/1/24 9:50, Stephan Bergmann wrote:
Be aware that the Linux bibisect repo 
 
apparently changed its configuration midway at



commit 8df817ae65e9ef94ae056abdf24d3c864e6077d0 (HEAD)
Author: Jenkins Build User 
Date:   Tue Oct 3 11:37:10 2023 +0200

    source sha:1eef07805021b7ca26a1a8894809b6d995747ba1
        source sha:1eef07805021b7ca26a1a8894809b6d995747ba1


It dropped the bundled python (with PyUNO support) from instdir (and 
started to support skia).


I now got funny claims that bibisecting allegedly showed that my 
 
"Bump baseline to C++20" started to break Python-related stuff (see 
the comments starting at 
 
"Bump baseline to C++20").


--
Xisco Faulí
LibreOffice QA Team
IRC: x1sc0



core.git: cui/source sd/source sw/source

2024-01-25 Thread Noel Grandin (via logerrit)
 cui/source/dialogs/insrc.cxx  |   19 +-
 cui/source/factory/dlgfact.cxx|2 -
 cui/source/inc/insrc.hxx  |   17 -
 sd/source/ui/table/tableobjectbar.cxx |   62 +++---
 sw/source/uibase/shells/tabsh.cxx |   33 +++---
 5 files changed, 90 insertions(+), 43 deletions(-)

New commits:
commit e5d6133283bacb6bced8cdbedaeae6b3bd2f179e
Author: Noel Grandin 
AuthorDate: Thu Jan 25 10:19:00 2024 +0200
Commit: Noel Grandin 
CommitDate: Thu Jan 25 10:33:21 2024 +0100

make insert row dialog async

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

diff --git a/cui/source/dialogs/insrc.cxx b/cui/source/dialogs/insrc.cxx
index 1ff1a14411cb..6c09c8ce4560 100644
--- a/cui/source/dialogs/insrc.cxx
+++ b/cui/source/dialogs/insrc.cxx
@@ -51,9 +51,24 @@ SvxInsRowColDlg::SvxInsRowColDlg(weld::Window* pParent, bool 
bColumn, const OUSt
 m_xDialog->set_help_id(rHelpId);
 }
 
-short SvxInsRowColDlg::Execute()
+short SvxAbstractInsRowColDlg_Impl::Execute()
 {
-return run();
+return m_xDlg->run();
+}
+
+bool SvxAbstractInsRowColDlg_Impl::StartExecuteAsync(AsyncContext &rCtx)
+{
+return weld::GenericDialogController::runAsync(m_xDlg, rCtx.maEndDialogFn);
+}
+
+bool SvxAbstractInsRowColDlg_Impl::isInsertBefore() const
+{
+return m_xDlg->isInsertBefore();
+}
+
+sal_uInt16 SvxAbstractInsRowColDlg_Impl::getInsertCount() const
+{
+return m_xDlg->getInsertCount();
 }
 
 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/cui/source/factory/dlgfact.cxx b/cui/source/factory/dlgfact.cxx
index 6979167de569..2392fa46edc6 100644
--- a/cui/source/factory/dlgfact.cxx
+++ b/cui/source/factory/dlgfact.cxx
@@ -1475,7 +1475,7 @@ VclPtr 
AbstractDialogFactory_Impl::CreateOptionsDialog(weld::
 
 VclPtr 
AbstractDialogFactory_Impl::CreateSvxInsRowColDlg(weld::Window* pParent, bool 
bCol, const OUString& rHelpId)
 {
-return VclPtr::Create(pParent, bCol, rHelpId);
+return 
VclPtr::Create(std::make_shared(pParent,
 bCol, rHelpId));
 }
 
 VclPtr 
AbstractDialogFactory_Impl::CreatePasswordToOpenModifyDialog(
diff --git a/cui/source/inc/insrc.hxx b/cui/source/inc/insrc.hxx
index 597ef172c3e9..9ab7f0fed466 100644
--- a/cui/source/inc/insrc.hxx
+++ b/cui/source/inc/insrc.hxx
@@ -22,7 +22,7 @@
 #include 
 #include 
 
-class SvxInsRowColDlg : public SvxAbstractInsRowColDlg, public 
weld::GenericDialogController
+class SvxInsRowColDlg : public weld::GenericDialogController
 {
 private:
 std::unique_ptr m_xCountEdit;
@@ -32,8 +32,21 @@ private:
 public:
 SvxInsRowColDlg(weld::Window* pParent, bool bCol, const OUString& rHelpId);
 
-virtual short Execute() override;
+bool isInsertBefore() const;
+sal_uInt16 getInsertCount() const;
+};
+
+class SvxAbstractInsRowColDlg_Impl final : public SvxAbstractInsRowColDlg
+{
+std::shared_ptr m_xDlg;
 
+public:
+explicit SvxAbstractInsRowColDlg_Impl(std::shared_ptr p)
+: m_xDlg(std::move(p))
+{
+}
+virtual short Execute() override;
+virtual bool StartExecuteAsync(AsyncContext& rCtx) override;
 virtual bool isInsertBefore() const override;
 virtual sal_uInt16 getInsertCount() const override;
 };
diff --git a/sd/source/ui/table/tableobjectbar.cxx 
b/sd/source/ui/table/tableobjectbar.cxx
index 6dfd86928530..bd19915692e8 100644
--- a/sd/source/ui/table/tableobjectbar.cxx
+++ b/sd/source/ui/table/tableobjectbar.cxx
@@ -122,40 +122,50 @@ void TableObjectBar::Execute( SfxRequest& rReq )
 switch( nSlotId )
 {
 case SID_TABLE_INSERT_ROW_DLG:
+case SID_TABLE_INSERT_COL_DLG:
+{
+auto xRequest = std::make_shared(rReq);
+rReq.Ignore(); // the 'old' request is not relevant any more
+SvxAbstractDialogFactory* pFact = 
SvxAbstractDialogFactory::Create();
+vcl::Window* pWin = mpView->GetViewShell()->GetParentWindow();
+VclPtr pDlg( 
pFact->CreateSvxInsRowColDlg(pWin ? pWin->GetFrameWeld() : nullptr,
+   nSlotId == 
SID_TABLE_INSERT_COL_DLG,
+   
SD_MOD()->GetSlotPool()->GetSlot(nSlotId)->GetCommand()) );
+pDlg->StartExecuteAsync(
+[pDlg, xRequest, nSlotId, xController, pBindings] (sal_Int32 
nResult) mutable ->void
+{
+if (nResult == RET_OK)
+{
+sal_uInt16 nCount = pDlg->getInsertCount();
+bool bInsertAfter = !pDlg->isInsertBefore();
+
+if (nSlotId == SID_TABLE_INSERT_ROW_DLG)
+nSlotId = SID_TABLE_INSERT_ROW;
+else
+nSlotId = SID_TABLE_INSERT_COL;
+
+ 

core.git: sw/CppunitTest_sw_uibase_frmdlg.mk sw/qa

2024-01-25 Thread Miklos Vajna (via logerrit)
 sw/CppunitTest_sw_uibase_frmdlg.mk|4 
 sw/qa/uibase/frmdlg/data/wrapped-math-object.docx |binary
 2 files changed, 4 insertions(+)

New commits:
commit 2aa773c9bdb8fc89225d251ca2662a328a0d5e6f
Author: Miklos Vajna 
AuthorDate: Thu Jan 25 08:18:59 2024 +0100
Commit: Miklos Vajna 
CommitDate: Thu Jan 25 09:58:25 2024 +0100

CppunitTest_sw_uibase_frmdlg: turn on set_non_application_font_use

Similar to commit dc4d7500c9d283e26d1553ce11366a217cf1f69d (Fix
CppunitTest_sd_import_tests-smartart non_application_font_use,
2023-10-23).

- sw/qa/uibase/frmdlg/data/wrapped-math-object.docx:
  word/media/image1.wmf: old WMF used the System font, replaced this
  with a different WMF, as the preview gets updated before the first
  document render anyway. (Binary patching 'System' -> 'DejaVu Sans' is
  not easy.)

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

diff --git a/sw/CppunitTest_sw_uibase_frmdlg.mk 
b/sw/CppunitTest_sw_uibase_frmdlg.mk
index 0f831a46f906..abfa133f7a06 100644
--- a/sw/CppunitTest_sw_uibase_frmdlg.mk
+++ b/sw/CppunitTest_sw_uibase_frmdlg.mk
@@ -73,4 +73,8 @@ $(eval $(call gb_CppunitTest_use_uiconfigs,sw_uibase_frmdlg, \
 
 $(eval $(call gb_CppunitTest_use_more_fonts,sw_uibase_frmdlg))
 
+ifneq ($(filter MORE_FONTS,$(BUILD_TYPE)),)
+$(eval $(call 
gb_CppunitTest_set_non_application_font_use,sw_uibase_frmdlg,abort))
+endif
+
 # vim: set noet sw=4 ts=4:
diff --git a/sw/qa/uibase/frmdlg/data/wrapped-math-object.docx 
b/sw/qa/uibase/frmdlg/data/wrapped-math-object.docx
index c6f76dd5d77e..46e6106e7677 100644
Binary files a/sw/qa/uibase/frmdlg/data/wrapped-math-object.docx and 
b/sw/qa/uibase/frmdlg/data/wrapped-math-object.docx differ


core.git: sw/source

2024-01-25 Thread Michael Weghorn (via logerrit)
 sw/source/core/access/accmap.cxx |   23 ++-
 1 file changed, 14 insertions(+), 9 deletions(-)

New commits:
commit 18e930165086fa08a91e1ba890ac3f52badbbf53
Author: Michael Weghorn 
AuthorDate: Wed Jan 24 15:32:35 2024 +0100
Commit: Michael Weghorn 
CommitDate: Thu Jan 25 09:42:46 2024 +0100

sw a11y: Send SELECTION_CHANGED_{ADD,REMOVE} event for doc

`AccessibleEventId::SELECTION_CHANGED_ADD` and
`AccessibleEventId::SELECTION_CHANGED_REMOVE` events
need to be sent for the selection container whose
selection changed, not the child that was (un)selected.
The latter should be set as the `NewValue` of the event,
see the doc in
offapi/com/sun/star/accessibility/AccessibleEventId.idl .

Therefore, adjust the handling for (un)selected shapes
in Writer: Set the doc view's a11y object as the source,
just as it is already done for the
`AccessibleEventId::SELECTION_CHANGED_WITHIN` case,
and set the (un)selected shape as the `NewValue`.

With a Writer doc having two shapes and the first
one selected, clicking on the other one to switch
selection to that one would previously result in
this warning when using the qt6 VCL plugin with
Orca running:


warn:vcl.qt:114611:114611:vcl/qt6/../qt5/QtAccessibleEventListener.cxx:363: 
Selection add/remove event without the (un)selected accessible set

warn:vcl.qt:114611:114611:vcl/qt6/../qt5/QtAccessibleEventListener.cxx:363: 
Selection add/remove event without the (un)selected accessible set

Using gtk3 and this pyatspi script:

#!/usr/bin/python3
import pyatspi
def listener(e):
try:
if e.host_application.name != 'soffice':
return
except:
return
print(e)
pyatspi.Registry.registerEventListener(listener, 
'object:state-changed:selected')
pyatspi.Registry.registerEventListener(listener, 
'object:selection-changed')
pyatspi.Registry.start()

would previously give this output for that case:

object:state-changed:selected(0, 0, 0)
source: [panel | Shape 1]
host_application: [application | soffice]
sender: [application | soffice]
object:selection-changed(0, 0, 0)
source: [panel | Shape 1]
host_application: [application | soffice]
sender: [application | soffice]
object:state-changed:selected(1, 0, 0)
source: [panel | Shape 2]
host_application: [application | soffice]
sender: [application | soffice]
object:selection-changed(0, 0, 0)
source: [panel | Shape 2]
host_application: [application | soffice]
sender: [application | soffice]

(i.e. both, the "state-changed:selected" as well as the "selection-changed"
AT-SPI events were previously sent for the shapes.)

With this change in place, this gives the expected output:

object:state-changed:selected(0, 0, 0)
source: [panel | Shape 1]
host_application: [application | soffice]
sender: [application | soffice]
object:selection-changed(0, 0, 0)
source: [document text | Untitled 1 - LibreOfficeDev Document]
host_application: [application | soffice]
sender: [application | soffice]
object:state-changed:selected(1, 0, 0)
source: [panel | Shape 2]
host_application: [application | soffice]
sender: [application | soffice]
object:selection-changed(0, 0, 0)
source: [document text | Untitled 1 - LibreOfficeDev Document]
host_application: [application | soffice]
sender: [application | soffice]

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

diff --git a/sw/source/core/access/accmap.cxx b/sw/source/core/access/accmap.cxx
index bb0f209bb049..aa34fdf2d568 100644
--- a/sw/source/core/access/accmap.cxx
+++ b/sw/source/core/access/accmap.cxx
@@ -1517,12 +1517,17 @@ void SwAccessibleMap::DoInvalidateShapeSelection(bool 
bInvalidateFocusMode /*=fa
 ++pShape;
 }
 
+rtl::Reference xDocView = GetDocumentView_(false);
+assert(xDocView.is());
+
 for (const auto& rpShape : vecxShapeRemove)
 {
-::accessibility::AccessibleShape *pAccShape = rpShape.get();
-if (pAccShape)
+if (rpShape.is())
 {
-
pAccShape->CommitChange(AccessibleEventId::SELECTION_CHANGED_REMOVE, 
uno::Any(), uno::Any(), -1);
+AccessibleEventObject aEvent;
+aEvent.EventId = AccessibleEventId::SELECTION_CHANGED_REMOVE;
+  

core.git: sw/source

2024-01-25 Thread Michael Weghorn (via logerrit)
 sw/source/core/access/accmap.cxx |9 +
 1 file changed, 1 insertion(+), 8 deletions(-)

New commits:
commit c965b4f6fb1e59d05b26930d5fa24df2e7c0e0b5
Author: Michael Weghorn 
AuthorDate: Wed Jan 24 14:24:42 2024 +0100
Commit: Michael Weghorn 
CommitDate: Thu Jan 25 09:42:20 2024 +0100

sw a11y: Drop special event handling for single selected shape

If shape selecion changed, just send the same
`AccessibleEventId::SELECTION_CHANGED_ADD` event(s)
regardless of whether only a single or multiple shapes
are selected.

This unifies the handling and also prepares for sending the
event with the correct source and `NewValue` set.

The `AccessibleEventId::SELECTION_CHANGED` doc doesn't
expclicitly mention whether the source should be the
selection container (i.e. the parent, which is the doc view
in the case here) or the selected object, and this is
currently handled inconsistently across the codebase.
I tend to think that this event should have the
container as the source (just as for the
`AccessibleEventId::SELECTION_CHANGED_ADD` case,
that will be fixed in an upcoming commit), and this
is at least what the handling e.g. in the gtk3 a11y
bridge assumes (s. `AtkListener::notifyEvent`), but
there seems to be no added value in handling the
case of a single selected shape specially here in the
first place.

This may have been inspired by the MSAA/IAccessible
equivalent, `EVENT_OBJECT_SELECTION` [1]:

> The selection within a container object has changed. (...) This event
> signals a single selection: either a child is selected in a container
> that previously did not contain any selected children, or the selection
> has changed from one child to another.

But then, the selection taking place here might also be from
multiple objects being selected to just a single one, and
`SELECTION_CHANGED_REMOVE` is sent for any previously selected
but now unselected shape anyway, so using
`AccessibleEventId::SELECTION_CHANGED_ADD` seems more
consistent to me anyway.

[1] https://learn.microsoft.com/en-us/windows/win32/winauto/event-constants

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

diff --git a/sw/source/core/access/accmap.cxx b/sw/source/core/access/accmap.cxx
index 38c9233ec018..bb0f209bb049 100644
--- a/sw/source/core/access/accmap.cxx
+++ b/sw/source/core/access/accmap.cxx
@@ -1495,7 +1495,6 @@ void SwAccessibleMap::DoInvalidateShapeSelection(bool 
bInvalidateFocusMode /*=fa
 
 std::vector<::rtl::Reference<::accessibility::AccessibleShape>> 
vecxShapeAdd;
 std::vector<::rtl::Reference<::accessibility::AccessibleShape>> 
vecxShapeRemove;
-int nCountSelectedShape=0;
 
 vcl::Window *pWin = GetShell()->GetWin();
 bool bFocused = pWin && pWin->HasFocus();
@@ -1545,7 +1544,6 @@ void SwAccessibleMap::DoInvalidateShapeSelection(bool 
bInvalidateFocusMode /*=fa
 {
 vecxShapeAdd.push_back(pShape->second);
 }
-++nCountSelectedShape;
 }
 }
 
@@ -1564,17 +1562,12 @@ void SwAccessibleMap::DoInvalidateShapeSelection(bool 
bInvalidateFocusMode /*=fa
 }
 else
 {
-short nEventID = AccessibleEventId::SELECTION_CHANGED_ADD;
-if (nCountSelectedShape <= 1 && vecxShapeAdd.size() == 1 )
-{
-nEventID = AccessibleEventId::SELECTION_CHANGED;
-}
 for (const auto& rpShape : vecxShapeAdd)
 {
 ::accessibility::AccessibleShape *pAccShape = rpShape.get();
 if (pAccShape)
 {
-pAccShape->CommitChange(nEventID, uno::Any(), uno::Any(), -1);
+
pAccShape->CommitChange(AccessibleEventId::SELECTION_CHANGED_ADD, uno::Any(), 
uno::Any(), -1);
 }
 }
 }


core.git: sw/source

2024-01-25 Thread Michael Weghorn (via logerrit)
 sw/source/core/access/accmap.cxx |   13 +++--
 1 file changed, 3 insertions(+), 10 deletions(-)

New commits:
commit 08b7a0eb45c8816c6cf093d9a7405ce9b6d3f990
Author: Michael Weghorn 
AuthorDate: Wed Jan 24 12:28:34 2024 +0100
Commit: Michael Weghorn 
CommitDate: Thu Jan 25 09:42:04 2024 +0100

sw a11y: Drop unnecessary cast to SwAccessiblePreview

With

Change-Id: I32d5bd2f81e7a69eacf92af1cf24249eb3a9f2a0
Author: Michael Weghorn 
Date:   Wed Jan 24 12:10:32 2024 +0100

sw a11y: Return SwAccessibleContext to avoid casting

in place, `SwAccessibleMap::GetDocumentView_` returns the
more concrete `rtl::Reference`, and
`SwAccessibleContext::InvalidateFocus` is what gets
called here, so there's no need to cast to
`SwAccessiblePreview` here.

(The previous `static_cast` wasn't type-safe, so the
extra null check after the cast didn't really add much
value.)

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

diff --git a/sw/source/core/access/accmap.cxx b/sw/source/core/access/accmap.cxx
index 0a6da3f501b8..38c9233ec018 100644
--- a/sw/source/core/access/accmap.cxx
+++ b/sw/source/core/access/accmap.cxx
@@ -2671,16 +2671,9 @@ void SwAccessibleMap::InvalidateFocus()
 
 if(GetShell()->IsPreview())
 {
-uno::Reference xAcc = GetDocumentView_( true );
-if (xAcc)
-{
-SwAccessiblePreview *pAccPreview = static_cast(xAcc.get());
-if (pAccPreview)
-{
-pAccPreview->InvalidateFocus();
-return ;
-}
-}
+rtl::Reference xDocView = GetDocumentView_(true);
+assert(xDocView.is());
+xDocView->InvalidateFocus();
 }
 
 rtl::Reference < SwAccessibleContext > xAcc = mxCursorContext;


core.git: sw/inc sw/source

2024-01-25 Thread Michael Weghorn (via logerrit)
 sw/inc/accmap.hxx|3 +--
 sw/source/core/access/accmap.cxx |   15 ++-
 2 files changed, 7 insertions(+), 11 deletions(-)

New commits:
commit 8479bbecd2434d65eb6c26100a783ecf96f6da12
Author: Michael Weghorn 
AuthorDate: Wed Jan 24 12:10:32 2024 +0100
Commit: Michael Weghorn 
CommitDate: Thu Jan 25 09:41:38 2024 +0100

sw a11y: Return SwAccessibleContext to avoid casting

Let `SwAccessibleMap::GetDocumentView_` return the
more concrete `rtl::Reference`
instead of `uno::Reference`, which
avoids having to cast in one place in
`SwAccessibleMap::DoInvalidateShapeSelection`
(and more places in upcoming changes).

Replace the null check by an assert, as
`SwAccessibleMap::GetDocumentView_` never
returns an empty reference.

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

diff --git a/sw/inc/accmap.hxx b/sw/inc/accmap.hxx
index 6e5c189a97b4..9daf15b8ae07 100644
--- a/sw/inc/accmap.hxx
+++ b/sw/inc/accmap.hxx
@@ -131,8 +131,7 @@ class SwAccessibleMap final : public 
::accessibility::IAccessibleViewForwarder,
 
 void InvalidateRelationSet_( const SwFrame* pFrame, bool bFrom );
 
-css::uno::Reference
-GetDocumentView_( bool bPagePreview );
+rtl::Reference GetDocumentView_(bool bPagePreview);
 
 /** method to build up a new data structure of the accessible paragraphs,
 which have a selection
diff --git a/sw/source/core/access/accmap.cxx b/sw/source/core/access/accmap.cxx
index ebc877601efc..0a6da3f501b8 100644
--- a/sw/source/core/access/accmap.cxx
+++ b/sw/source/core/access/accmap.cxx
@@ -1556,14 +1556,11 @@ void SwAccessibleMap::DoInvalidateShapeSelection(bool 
bInvalidateFocusMode /*=fa
 const unsigned int SELECTION_WITH_NUM = 10;
 if (vecxShapeAdd.size() > SELECTION_WITH_NUM )
 {
- uno::Reference< XAccessible > xDoc = GetDocumentView( );
- SwAccessibleContext * pCont = static_cast(xDoc.get());
- if (pCont)
- {
- AccessibleEventObject aEvent;
- aEvent.EventId = AccessibleEventId::SELECTION_CHANGED_WITHIN;
- pCont->FireAccessibleEvent(aEvent);
- }
+rtl::Reference xDoc = GetDocumentView_(false);
+assert(xDoc.is());
+AccessibleEventObject aEvent;
+aEvent.EventId = AccessibleEventId::SELECTION_CHANGED_WITHIN;
+xDoc->FireAccessibleEvent(aEvent);
 }
 else
 {
@@ -1696,7 +1693,7 @@ SwAccessibleMap::~SwAccessibleMap()
 mpVSh->GetLayout()->RemoveAccessibleShell();
 }
 
-uno::Reference< XAccessible > SwAccessibleMap::GetDocumentView_(
+rtl::Reference SwAccessibleMap::GetDocumentView_(
 bool bPagePreview )
 {
 DBG_TESTSOLARMUTEX();


core.git: sw/source

2024-01-25 Thread Michael Weghorn (via logerrit)
 sw/source/core/access/accmap.cxx |5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)

New commits:
commit 25bda5d887b12015e0f7d32753408b20544b5566
Author: Michael Weghorn 
AuthorDate: Wed Jan 24 10:52:18 2024 +0100
Commit: Michael Weghorn 
CommitDate: Thu Jan 25 09:40:58 2024 +0100

sw a11y: Drop VEC_SHAPE typedef

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

diff --git a/sw/source/core/access/accmap.cxx b/sw/source/core/access/accmap.cxx
index bbb88a10a59b..ebc877601efc 100644
--- a/sw/source/core/access/accmap.cxx
+++ b/sw/source/core/access/accmap.cxx
@@ -1493,9 +1493,8 @@ void SwAccessibleMap::DoInvalidateShapeSelection(bool 
bInvalidateFocusMode /*=fa
 if( !pShapes )
 return;
 
-typedef std::vector< ::rtl::Reference < ::accessibility::AccessibleShape > 
 >  VEC_SHAPE;
-VEC_SHAPE vecxShapeAdd;
-VEC_SHAPE vecxShapeRemove;
+std::vector<::rtl::Reference<::accessibility::AccessibleShape>> 
vecxShapeAdd;
+std::vector<::rtl::Reference<::accessibility::AccessibleShape>> 
vecxShapeRemove;
 int nCountSelectedShape=0;
 
 vcl::Window *pWin = GetShell()->GetWin();


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

2024-01-25 Thread Caolán McNamara (via logerrit)
 oox/source/drawingml/chart/chartspaceconverter.cxx |3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

New commits:
commit 4bf6405eaa864a3566085117d0fdf28f429c99bf
Author: Caolán McNamara 
AuthorDate: Wed Jan 24 20:24:12 2024 +
Commit: Caolán McNamara 
CommitDate: Thu Jan 25 09:26:05 2024 +0100

crashtesting: crash seen on import of forum-mso-en4-278652.xlsx

probably an issue since:

commit 135ce256ce9e879663d828ec6e699de521fad867
Date:   Mon Aug 14 15:59:18 2023 +0200

tdf#146487 Don't show generic diagram title when there is an empty 
title given

Change-Id: I12d8d6e78a8435b998084221402b6bdfc4a1a433
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/162539
Reviewed-by: Xisco Fauli 
Tested-by: Jenkins
Reviewed-by: Caolán McNamara 

diff --git a/oox/source/drawingml/chart/chartspaceconverter.cxx 
b/oox/source/drawingml/chart/chartspaceconverter.cxx
index f9b370e04d8f..9280d42ff25c 100644
--- a/oox/source/drawingml/chart/chartspaceconverter.cxx
+++ b/oox/source/drawingml/chart/chartspaceconverter.cxx
@@ -191,7 +191,8 @@ void ChartSpaceConverter::convertFromModel( const 
Reference< XShapes >& rxExtern
&& mrModel.mxTitle->mxTextProp.is()
&& mrModel.mxTitle->mxTextProp->isEmpty();
 // Also for tdf#146487
-bool bEmptyRichText = mrModel.mxTitle->mxText.is()
+bool bEmptyRichText = mrModel.mxTitle
+&& mrModel.mxTitle->mxText.is()
 && mrModel.mxTitle->mxText->mxTextBody.is()
 && mrModel.mxTitle->mxText->mxTextBody->isEmpty();
 


core.git: toolkit/source vcl/source

2024-01-25 Thread Jim Raykowski (via logerrit)
 toolkit/source/awt/vclxmenu.cxx |7 ++-
 vcl/source/app/salvtables.cxx   |6 ++
 vcl/source/window/menu.cxx  |   10 +++---
 3 files changed, 15 insertions(+), 8 deletions(-)

New commits:
commit 1ac7350a7032a760be22cce845eab7efe435827d
Author: Jim Raykowski 
AuthorDate: Wed Nov 8 12:25:47 2023 -0900
Commit: Jim Raykowski 
CommitDate: Thu Jan 25 09:10:40 2024 +0100

tdf#158101 Make non-gtk backends context popup menu item

visibility behavior like gtk

For context popup menus, gtk's native popup menu hides disabled menu
items. This patch makes this the behavior for non-gtk backends while
preserving the intent of commit
a0955317900075371d6adb7f924af24c22f02d09 to make VCL PopupMenu respect
the officecfg::Office::Common::View::Menu::DontHideDisabledEntry setting.

Change-Id: Ice59f2b5ec20dac9d1b0891ccbd83dbbcd308078
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/159192
Tested-by: Jenkins
Reviewed-by: Jim Raykowski 

diff --git a/toolkit/source/awt/vclxmenu.cxx b/toolkit/source/awt/vclxmenu.cxx
index 37785849c551..20d3d5d2d18a 100644
--- a/toolkit/source/awt/vclxmenu.cxx
+++ b/toolkit/source/awt/vclxmenu.cxx
@@ -481,8 +481,13 @@ sal_Int16 VCLXMenu::execute(
 if ( !mpMenu || !IsPopupMenu() )
 return 0;
 }
+PopupMenu* pPopupMenu = static_cast(pMenu.get());
+MenuFlags nMenuFlags = pPopupMenu->GetMenuFlags();
+// #102790# context menus shall never show disabled entries
+nMenuFlags |= MenuFlags::HideDisabledEntries;
+pPopupMenu->SetMenuFlags(nMenuFlags);
 // cannot call this with mutex locked because it will call back into us
-return static_cast(pMenu.get())->Execute(
+return pPopupMenu->Execute(
 VCLUnoHelper::GetWindow( rxWindowPeer ),
 VCLRectangle( rPos ),
 static_cast(nFlags) | 
PopupMenuFlags::NoMouseUpClose );
diff --git a/vcl/source/app/salvtables.cxx b/vcl/source/app/salvtables.cxx
index 7482a086b1be..2327b376b8ce 100644
--- a/vcl/source/app/salvtables.cxx
+++ b/vcl/source/app/salvtables.cxx
@@ -1068,6 +1068,12 @@ void SalInstanceToolbar::set_menu_item_active(const 
OUString& rIdent, bool bActi
 {
 if (bActive)
 {
+MenuFlags nMenuFlags = pPopup->GetMenuFlags();
+if 
(officecfg::Office::Common::View::Menu::DontHideDisabledEntry::get())
+nMenuFlags &= ~MenuFlags::HideDisabledEntries;
+else
+nMenuFlags |= MenuFlags::HideDisabledEntries;
+pPopup->SetMenuFlags(nMenuFlags);
 tools::Rectangle aRect = m_xToolBox->GetItemRect(nItemId);
 pPopup->Execute(m_xToolBox, aRect, PopupMenuFlags::ExecuteDown);
 }
diff --git a/vcl/source/window/menu.cxx b/vcl/source/window/menu.cxx
index 2dbba65ba245..387d74b0d1b3 100644
--- a/vcl/source/window/menu.cxx
+++ b/vcl/source/window/menu.cxx
@@ -2860,9 +2860,12 @@ bool PopupMenu::PrepareRun(const VclPtr& 
pParentWin, tools::Rectang
 if (bRealExecute)
 nPopupModeFlags |= FloatWinPopupFlags::NewLevel;
 
+// MenuFlags get clobbered in the Activate function. Restore them after 
calling.
+MenuFlags nMenuFlagsSaved = GetMenuFlags();
 bInCallback = true; // set it here, if Activate overridden
 Activate();
 bInCallback = false;
+SetMenuFlags(nMenuFlagsSaved);
 
 if (pParentWin->isDisposed())
 return false;
@@ -2881,13 +2884,6 @@ bool PopupMenu::PrepareRun(const VclPtr& 
pParentWin, tools::Rectang
 else
 nMenuFlags &= ~MenuFlags::HideDisabledEntries;
 }
-else
-{
- if 
(officecfg::Office::Common::View::Menu::DontHideDisabledEntry::get())
- nMenuFlags &= ~MenuFlags::HideDisabledEntries;
- else
- nMenuFlags |= MenuFlags::HideDisabledEntries;
-}
 
 sal_uInt16 nVisibleEntries = ImplGetVisibleItemCount();
 if ( !nVisibleEntries )