Merged update from upstream sources

This is an automated DistroBaker update from upstream sources.
If you do not know what this is about or would like to opt out,
contact the OSCI team.

Source: https://src.fedoraproject.org/rpms/libreoffice.git#37ddba9536a1b419684eb933175658bdf73d0bfb
This commit is contained in:
DistroBaker 2021-02-06 09:59:47 +00:00
parent 93d9a16902
commit 1ef5a138c3
13 changed files with 99 additions and 9152 deletions

16
.gitignore vendored
View File

@ -3,13 +3,13 @@
/a7983f859eafb2677d7ff386a023bc40-xsltml_2.1.2.zip
/17410483b5b5f267aa18b7e00b65e6e0-hsqldb_1_8_0.zip
/185d60944ea767075d27247c3162b3bc-unowinreg.dll
/884ed41809687c3e168fc7c19b16585149ff058eca79acbf3ee784f6630704cc-opens___.ttf
/f543e6e2d7275557a839a164941c0a86e5f2c3f2a0042bfc434c88c6dde9e140-opens___.ttf
/libreoffice-multiliblauncher.sh
/dtoa-20180411.tgz
/libreoffice-7.0.4.2.tar.xz
/libreoffice-7.0.4.2.tar.xz.asc
/libreoffice-help-7.0.4.2.tar.xz
/libreoffice-help-7.0.4.2.tar.xz.asc
/libreoffice-translations-7.0.4.2.tar.xz
/libreoffice-translations-7.0.4.2.tar.xz.asc
/libreoffice-7.0.4.2-1.fc34.src.rpm
/libreoffice-7.1.0.3.tar.xz
/libreoffice-7.1.0.3.tar.xz.asc
/libreoffice-help-7.1.0.3.tar.xz
/libreoffice-help-7.1.0.3.tar.xz.asc
/libreoffice-translations-7.1.0.3.tar.xz
/libreoffice-translations-7.1.0.3.tar.xz.asc
/libreoffice-dictionaries-7.1.0.3.tar.xz.asc

View File

@ -1,4 +1,4 @@
From b54cfe9d3d22fdd40f7015bd343df8620c983779 Mon Sep 17 00:00:00 2001
From 87b90b6fbf010effd44ef0e2bd3d75b27562a82b Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Caol=C3=A1n=20McNamara?= <caolanm@redhat.com>
Date: Mon, 27 Mar 2017 11:47:01 +0100
Subject: [PATCH] Resolves: rhbz#1432468 disable opencl by default
@ -9,18 +9,18 @@ Change-Id: Ie037fcabdd219f195425979dd721501fb5527573
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/officecfg/registry/schema/org/openoffice/Office/Common.xcs b/officecfg/registry/schema/org/openoffice/Office/Common.xcs
index 946bd32..284d694 100644
index 99b4104f6499..ef7ada84c2f3 100644
--- a/officecfg/registry/schema/org/openoffice/Office/Common.xcs
+++ b/officecfg/registry/schema/org/openoffice/Office/Common.xcs
@@ -5670,7 +5670,7 @@
@@ -5652,7 +5652,7 @@
<desc>Determines whether OpenCL can be used, when available, to speed up
some operations.</desc>
</info>
- <value>true</value>
+ <value>false</value>
</prop>
<prop oor:name="OpenCLBlackList" oor:type="oor:string-list" oor:nillable="false">
<prop oor:name="OpenCLDenyList" oor:type="oor:string-list" oor:nillable="false">
<!-- UIHints: Tools - Options General OpenCL -->
--
2.9.3
2.29.2

View File

@ -1,805 +0,0 @@
From 9ffb1f6ac0f11fd446fd0e84b8dc69898691b4d3 Mon Sep 17 00:00:00 2001
From: Kohei Yoshida <kohei@libreoffice.org>
Date: Wed, 9 Sep 2020 21:23:48 -0400
Subject: [PATCH] Upgrade liborcus to 0.16.0.
Change-Id: Iae29fb26417dfc161698a81bee84e81545969065
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/102502
Tested-by: Jenkins
Reviewed-by: Kohei Yoshida <kohei@libreoffice.org>
---
RepositoryExternal.mk | 4 +-
configure.ac | 2 +-
download.lst | 4 +-
...k-all-untentionally-unused-variables.patch | 376 ++++++++++++++++++
external/liborcus/ExternalPackage_liborcus.mk | 8 +-
external/liborcus/ExternalProject_liborcus.mk | 4 +-
external/liborcus/Library_orcus-parser.mk | 1 +
external/liborcus/Library_orcus.mk | 4 +
external/liborcus/UnpackedTarball_liborcus.mk | 1 +
.../liborcus/windows-constants-hack.patch | 2 +-
sc/source/filter/inc/orcusinterface.hxx | 21 +-
sc/source/filter/orcus/interface.cxx | 82 ++--
sc/source/filter/orcus/xmlcontext.cxx | 7 +-
sc/source/ui/xmlsource/xmlsourcedlg.cxx | 6 +-
14 files changed, 475 insertions(+), 47 deletions(-)
create mode 100644 external/liborcus/0001-Mark-all-untentionally-unused-variables.patch
diff --git a/RepositoryExternal.mk b/RepositoryExternal.mk
index 7f623ac..df765fa 100644
--- a/RepositoryExternal.mk
+++ b/RepositoryExternal.mk
@@ -3281,7 +3281,7 @@ $(call gb_LinkTarget_set_include,$(1),\
)
$(call gb_LinkTarget_add_libs,$(1),\
- -L$(call gb_UnpackedTarball_get_dir,liborcus)/src/liborcus/.libs -lorcus-0.15 \
+ -L$(call gb_UnpackedTarball_get_dir,liborcus)/src/liborcus/.libs -lorcus-0.16 \
)
$(if $(SYSTEM_BOOST), \
@@ -3300,7 +3300,7 @@ $(call gb_LinkTarget_set_include,$(1),\
)
$(call gb_LinkTarget_add_libs,$(1),\
- -L$(call gb_UnpackedTarball_get_dir,liborcus)/src/parser/.libs -lorcus-parser-0.15 \
+ -L$(call gb_UnpackedTarball_get_dir,liborcus)/src/parser/.libs -lorcus-parser-0.16 \
)
endef
diff --git a/configure.ac b/configure.ac
index ce14b54..36342b1 100644
--- a/configure.ac
+++ b/configure.ac
@@ -9827,7 +9827,7 @@ AC_SUBST(ENABLE_FUZZERS)
dnl ===================================================================
dnl Orcus
dnl ===================================================================
-libo_CHECK_SYSTEM_MODULE([orcus],[ORCUS],[liborcus-0.15 >= 0.15.0])
+libo_CHECK_SYSTEM_MODULE([orcus],[ORCUS],[liborcus-0.16 >= 0.16.0])
if test "$with_system_orcus" != "yes"; then
if test "$SYSTEM_BOOST" = "TRUE"; then
# ===========================================================
diff --git a/download.lst b/download.lst
index 6398a09..1f3b4b1 100644
--- a/download.lst
+++ b/download.lst
@@ -204,8 +204,8 @@ export OPENLDAP_SHA256SUM := cdd6cffdebcd95161a73305ec13fc7a78e9707b46ca9f84fb89
export OPENLDAP_TARBALL := openldap-2.4.45.tgz
export OPENSSL_SHA256SUM := 14cb464efe7ac6b54799b34456bd69558a749a4931ecfd9cf9f71d7881cac7bc
export OPENSSL_TARBALL := openssl-1.0.2t.tar.gz
-export ORCUS_SHA256SUM := cfb2aa60825f2a78589ed030c07f46a1ee16ef8a2d1bf2279192fbc1ae5a5f61
-export ORCUS_TARBALL := liborcus-0.15.4.tar.bz2
+export ORCUS_SHA256SUM := 854c6ec167ace59baa2984e175bac7b5b2af91bfde4bb10d2088b87a51ed76ec
+export ORCUS_TARBALL := liborcus-0.16.0.tar.bz2
export OWNCLOUD_ANDROID_LIB_SHA256SUM := b18b3e3ef7fae6a79b62f2bb43cc47a5346b6330f6a383dc4be34439aca5e9fb
export OWNCLOUD_ANDROID_LIB_TARBALL := owncloud-android-library-0.9.4-no-binary-deps.tar.gz
export PAGEMAKER_SHA256SUM := 66adacd705a7d19895e08eac46d1e851332adf2e736c566bef1164e7a442519d
diff --git a/external/liborcus/0001-Mark-all-untentionally-unused-variables.patch b/external/liborcus/0001-Mark-all-untentionally-unused-variables.patch
new file mode 100644
index 0000000..b0f6a57
--- /dev/null
+++ b/external/liborcus/0001-Mark-all-untentionally-unused-variables.patch
@@ -0,0 +1,376 @@
+From 6d34c41b661a9e8dddf6d08bf1f3c1fd4f5581da Mon Sep 17 00:00:00 2001
+From: Kohei Yoshida <kohei.yoshida@gmail.com>
+Date: Fri, 11 Sep 2020 21:39:09 -0400
+Subject: [PATCH] Mark all untentionally unused variables.
+
+---
+ include/orcus/css_parser.hpp | 70 ++++++++++++++++++++++++------
+ include/orcus/csv_parser.hpp | 5 ++-
+ include/orcus/json_parser.hpp | 15 +++++--
+ include/orcus/sax_parser.hpp | 35 ++++++++++++---
+ include/orcus/sax_token_parser.hpp | 20 +++++++--
+ include/orcus/yaml_parser.hpp | 10 ++++-
+ 6 files changed, 124 insertions(+), 31 deletions(-)
+
+diff --git a/include/orcus/css_parser.hpp b/include/orcus/css_parser.hpp
+index cdfae5e0..3e96980b 100644
+--- a/include/orcus/css_parser.hpp
++++ b/include/orcus/css_parser.hpp
+@@ -31,23 +31,44 @@ namespace orcus {
+ class css_handler
+ {
+ public:
+- void at_rule_name(const char* p, size_t n) {}
++ void at_rule_name(const char* p, size_t n)
++ {
++ (void)p; (void)n;
++ }
+
+- void simple_selector_type(const char* p, size_t n) {}
++ void simple_selector_type(const char* p, size_t n)
++ {
++ (void)p; (void)n;
++ }
+
+- void simple_selector_class(const char* p, size_t n) {}
++ void simple_selector_class(const char* p, size_t n)
++ {
++ (void)p; (void)n;
++ }
+
+- void simple_selector_pseudo_element(orcus::css::pseudo_element_t pe) {}
++ void simple_selector_pseudo_element(orcus::css::pseudo_element_t pe)
++ {
++ (void)pe;
++ }
+
+- void simple_selector_pseudo_class(orcus::css::pseudo_class_t pc) {}
++ void simple_selector_pseudo_class(orcus::css::pseudo_class_t pc)
++ {
++ (void)pc;
++ }
+
+- void simple_selector_id(const char* p, size_t n) {}
++ void simple_selector_id(const char* p, size_t n)
++ {
++ (void)p; (void)n;
++ }
+
+ void end_simple_selector() {}
+
+ void end_selector() {}
+
+- void combinator(orcus::css::combinator_t combinator) {}
++ void combinator(orcus::css::combinator_t combinator)
++ {
++ (void)combinator;
++ }
+
+ /**
+ * Called at each property name.
+@@ -55,7 +76,10 @@ public:
+ * @param p pointer to the char-array containing the property name string.
+ * @param n length of the property name string.
+ */
+- void property_name(const char* p, size_t n) {}
++ void property_name(const char* p, size_t n)
++ {
++ (void)p; (void)n;
++ }
+
+ /**
+ * Called at each ordinary property value string.
+@@ -63,7 +87,10 @@ public:
+ * @param p pointer to the char-array containing the value string.
+ * @param n length of the value string.
+ */
+- void value(const char* p, size_t n) {}
++ void value(const char* p, size_t n)
++ {
++ (void)p; (void)n;
++ }
+
+ /**
+ * Called at each RGB color value of a property.
+@@ -72,7 +99,10 @@ public:
+ * @param green value of green (0-255)
+ * @param blue value of blue (0-255)
+ */
+- void rgb(uint8_t red, uint8_t green, uint8_t blue) {}
++ void rgb(uint8_t red, uint8_t green, uint8_t blue)
++ {
++ (void)red; (void)green; (void)blue;
++ }
+
+ /**
+ * Called at each RGB color value of a property with alpha transparency
+@@ -83,7 +113,10 @@ public:
+ * @param blue value of blue (0-255)
+ * @param alpha alpha transparency value
+ */
+- void rgba(uint8_t red, uint8_t green, uint8_t blue, double alpha) {}
++ void rgba(uint8_t red, uint8_t green, uint8_t blue, double alpha)
++ {
++ (void)red; (void)green; (void)blue; (void)alpha;
++ }
+
+ /**
+ * Called at each HSL color value of a property.
+@@ -92,7 +125,10 @@ public:
+ * @param sat saturation
+ * @param light lightness
+ */
+- void hsl(uint8_t hue, uint8_t sat, uint8_t light) {}
++ void hsl(uint8_t hue, uint8_t sat, uint8_t light)
++ {
++ (void)hue; (void)sat; (void)light;
++ }
+
+ /**
+ * Called at each HSL color value of a property with alpha transparency
+@@ -103,7 +139,10 @@ public:
+ * @param light lightness
+ * @param alpha alpha value
+ */
+- void hsla(uint8_t hue, uint8_t sat, uint8_t light, double alpha) {}
++ void hsla(uint8_t hue, uint8_t sat, uint8_t light, double alpha)
++ {
++ (void)hue; (void)sat; (void)light; (void)alpha;
++ }
+
+ /**
+ * Called at each URL value of a property.
+@@ -111,7 +150,10 @@ public:
+ * @param p pointer to the char-array containing the URL value string.
+ * @param n length of the URL value string.
+ */
+- void url(const char* p, size_t n) {}
++ void url(const char* p, size_t n)
++ {
++ (void)p; (void)n;
++ }
+
+ /**
+ * Called when the parsing begins.
+diff --git a/include/orcus/csv_parser.hpp b/include/orcus/csv_parser.hpp
+index a873b0f2..27b4f924 100644
+--- a/include/orcus/csv_parser.hpp
++++ b/include/orcus/csv_parser.hpp
+@@ -47,7 +47,10 @@ public:
+ * the text content is guaranteed to be valid so long as
+ * the original CSV stream content is valid.
+ */
+- void cell(const char* p, size_t n, bool transient) {}
++ void cell(const char* p, size_t n, bool transient)
++ {
++ (void)p; (void)n; (void)transient;
++ }
+ };
+
+ template<typename _Handler>
+diff --git a/include/orcus/json_parser.hpp b/include/orcus/json_parser.hpp
+index 51a3d7cc..ef22b3a8 100644
+--- a/include/orcus/json_parser.hpp
++++ b/include/orcus/json_parser.hpp
+@@ -54,7 +54,10 @@ public:
+ * pointer points to somewhere in the JSON stream being
+ * parsed.
+ */
+- void object_key(const char* p, size_t len, bool transient) {}
++ void object_key(const char* p, size_t len, bool transient)
++ {
++ (void)p; (void)len; (void)transient;
++ }
+
+ /**
+ * Called when the closing curly brace of an object is encountered.
+@@ -87,14 +90,20 @@ public:
+ * pointer points to somewhere in the JSON stream being
+ * parsed.
+ */
+- void string(const char* p, size_t len, bool transient) {}
++ void string(const char* p, size_t len, bool transient)
++ {
++ (void)p; (void)len; (void)transient;
++ }
+
+ /**
+ * Called when a numeric value is encountered.
+ *
+ * @param val numeric value.
+ */
+- void number(double val) {}
++ void number(double val)
++ {
++ (void)val;
++ }
+ };
+
+ /**
+diff --git a/include/orcus/sax_parser.hpp b/include/orcus/sax_parser.hpp
+index 73c17d06..3b21bfdf 100644
+--- a/include/orcus/sax_parser.hpp
++++ b/include/orcus/sax_parser.hpp
+@@ -30,7 +30,10 @@ public:
+ *
+ * @param param struct containing doctype declaration data.
+ */
+- void doctype(const orcus::sax::doctype_declaration& param) {}
++ void doctype(const orcus::sax::doctype_declaration& param)
++ {
++ (void)param;
++ }
+
+ /**
+ * Called when &lt;?... is encountered, where the '...' may be an
+@@ -39,28 +42,40 @@ public:
+ *
+ * @param decl name of the identifier.
+ */
+- void start_declaration(const orcus::pstring& decl) {}
++ void start_declaration(const orcus::pstring& decl)
++ {
++ (void)decl;
++ }
+
+ /**
+ * Called when the closing tag (&gt;) of a &lt;?... ?&gt; is encountered.
+ *
+ * @param decl name of the identifier.
+ */
+- void end_declaration(const orcus::pstring& decl) {}
++ void end_declaration(const orcus::pstring& decl)
++ {
++ (void)decl;
++ }
+
+ /**
+ * Called at the start of each element.
+ *
+ * @param elem information of the element being parsed.
+ */
+- void start_element(const orcus::sax::parser_element& elem) {}
++ void start_element(const orcus::sax::parser_element& elem)
++ {
++ (void)elem;
++ }
+
+ /**
+ * Called at the end of each element.
+ *
+ * @param elem information of the element being parsed.
+ */
+- void end_element(const orcus::sax::parser_element& elem) {}
++ void end_element(const orcus::sax::parser_element& elem)
++ {
++ (void)elem;
++ }
+
+ /**
+ * Called when a segment of a text content is parsed. Each text content
+@@ -76,7 +91,10 @@ public:
+ * a non-text value or be interned within the scope of
+ * the callback</em>.
+ */
+- void characters(const orcus::pstring& val, bool transient) {}
++ void characters(const orcus::pstring& val, bool transient)
++ {
++ (void)val; (void)transient;
++ }
+
+ /**
+ * Called upon parsing of an attribute of an element. Note that <em>when
+@@ -86,7 +104,10 @@ public:
+ *
+ * @param attr struct containing attribute information.
+ */
+- void attribute(const orcus::sax::parser_attribute& attr) {}
++ void attribute(const orcus::sax::parser_attribute& attr)
++ {
++ (void)attr;
++ }
+ };
+
+ /**
+diff --git a/include/orcus/sax_token_parser.hpp b/include/orcus/sax_token_parser.hpp
+index 1452bc27..6b1b1de4 100644
+--- a/include/orcus/sax_token_parser.hpp
++++ b/include/orcus/sax_token_parser.hpp
+@@ -71,7 +71,10 @@ public:
+ *
+ * @param decl struct containing the attributes of the XML declaration.
+ */
+- void declaration(const orcus::xml_declaration_t& decl) {}
++ void declaration(const orcus::xml_declaration_t& decl)
++ {
++ (void)decl;
++ }
+
+ /**
+ * Called at the start of each element.
+@@ -79,7 +82,10 @@ public:
+ * @param elem struct containing the element's information as well as all
+ * the attributes that belong to the element.
+ */
+- void start_element(const orcus::xml_token_element_t& elem) {}
++ void start_element(const orcus::xml_token_element_t& elem)
++ {
++ (void)elem;
++ }
+
+ /**
+ * Called at the end of each element.
+@@ -87,7 +93,10 @@ public:
+ * @param elem struct containing the element's information as well as all
+ * the attributes that belong to the element.
+ */
+- void end_element(const orcus::xml_token_element_t& elem) {}
++ void end_element(const orcus::xml_token_element_t& elem)
++ {
++ (void)elem;
++ }
+
+ /**
+ * Called when a segment of a text content is parsed. Each text content
+@@ -103,7 +112,10 @@ public:
+ * a non-text value or be interned within the scope of
+ * the callback</em>.
+ */
+- void characters(const orcus::pstring& val, bool transient) {}
++ void characters(const orcus::pstring& val, bool transient)
++ {
++ (void)val; (void)transient;
++ }
+ };
+
+ /**
+diff --git a/include/orcus/yaml_parser.hpp b/include/orcus/yaml_parser.hpp
+index 797ebbec..8d16fbc7 100644
+--- a/include/orcus/yaml_parser.hpp
++++ b/include/orcus/yaml_parser.hpp
+@@ -72,14 +72,20 @@ public:
+ * @param p pointer to the first character of the string value.
+ * @param len length of the string value.
+ */
+- void string(const char* p, size_t n) {}
++ void string(const char* p, size_t n)
++ {
++ (void)p; (void)n;
++ }
+
+ /**
+ * Called when a numeric value is encountered.
+ *
+ * @param val numeric value.
+ */
+- void number(double val) {}
++ void number(double val)
++ {
++ (void)val;
++ }
+
+ /**
+ * Called when a boolean 'true' keyword is encountered.
+--
+2.25.1
+
diff --git a/external/liborcus/ExternalPackage_liborcus.mk b/external/liborcus/ExternalPackage_liborcus.mk
index 21dd1bf..7476918 100644
--- a/external/liborcus/ExternalPackage_liborcus.mk
+++ b/external/liborcus/ExternalPackage_liborcus.mk
@@ -12,11 +12,11 @@ $(eval $(call gb_ExternalPackage_ExternalPackage,liborcus,liborcus))
$(eval $(call gb_ExternalPackage_use_external_project,liborcus,liborcus))
ifeq ($(OS),MACOSX)
-$(eval $(call gb_ExternalPackage_add_file,liborcus,$(LIBO_LIB_FOLDER)/liborcus-0.15.0.dylib,src/liborcus/.libs/liborcus-0.15.0.dylib))
-$(eval $(call gb_ExternalPackage_add_file,liborcus,$(LIBO_LIB_FOLDER)/liborcus-parser-0.15.0.dylib,src/parser/.libs/liborcus-parser-0.15.0.dylib))
+$(eval $(call gb_ExternalPackage_add_file,liborcus,$(LIBO_LIB_FOLDER)/liborcus-0.16.0.dylib,src/liborcus/.libs/liborcus-0.16.0.dylib))
+$(eval $(call gb_ExternalPackage_add_file,liborcus,$(LIBO_LIB_FOLDER)/liborcus-parser-0.16.0.dylib,src/parser/.libs/liborcus-parser-0.16.0.dylib))
else ifeq ($(DISABLE_DYNLOADING),)
-$(eval $(call gb_ExternalPackage_add_file,liborcus,$(LIBO_LIB_FOLDER)/liborcus-0.15.so.0,src/liborcus/.libs/liborcus-0.15.so.0.0.0))
-$(eval $(call gb_ExternalPackage_add_file,liborcus,$(LIBO_LIB_FOLDER)/liborcus-parser-0.15.so.0,src/parser/.libs/liborcus-parser-0.15.so.0.0.0))
+$(eval $(call gb_ExternalPackage_add_file,liborcus,$(LIBO_LIB_FOLDER)/liborcus-0.16.so.0,src/liborcus/.libs/liborcus-0.16.so.0.0.0))
+$(eval $(call gb_ExternalPackage_add_file,liborcus,$(LIBO_LIB_FOLDER)/liborcus-parser-0.16.so.0,src/parser/.libs/liborcus-parser-0.16.so.0.0.0))
endif
# vim: set noet sw=4 ts=4:
diff --git a/external/liborcus/ExternalProject_liborcus.mk b/external/liborcus/ExternalProject_liborcus.mk
index 38658cc..3671294 100644
--- a/external/liborcus/ExternalProject_liborcus.mk
+++ b/external/liborcus/ExternalProject_liborcus.mk
@@ -123,8 +123,8 @@ $(call gb_ExternalProject_get_state_target,liborcus,build) :
$(MAKE) \
$(if $(filter MACOSX,$(OS)),\
&& $(PERL) $(SRCDIR)/solenv/bin/macosx-change-install-names.pl shl OOO \
- $(EXTERNAL_WORKDIR)/src/liborcus/.libs/liborcus-0.15.0.dylib \
- $(EXTERNAL_WORKDIR)/src/parser/.libs/liborcus-parser-0.15.0.dylib \
+ $(EXTERNAL_WORKDIR)/src/liborcus/.libs/liborcus-0.16.0.dylib \
+ $(EXTERNAL_WORKDIR)/src/parser/.libs/liborcus-parser-0.16.0.dylib \
) \
)
$(call gb_Trace_EndRange,liborcus,EXTERNAL)
diff --git a/external/liborcus/Library_orcus-parser.mk b/external/liborcus/Library_orcus-parser.mk
index d3cbddb..4e46591 100644
--- a/external/liborcus/Library_orcus-parser.mk
+++ b/external/liborcus/Library_orcus-parser.mk
@@ -63,6 +63,7 @@ $(eval $(call gb_Library_add_generated_exception_objects,orcus-parser,\
UnpackedTarball/liborcus/src/parser/tokens \
UnpackedTarball/liborcus/src/parser/types \
UnpackedTarball/liborcus/src/parser/xml_namespace \
+ UnpackedTarball/liborcus/src/parser/xml_writer \
UnpackedTarball/liborcus/src/parser/yaml_parser_base \
UnpackedTarball/liborcus/src/parser/zip_archive \
UnpackedTarball/liborcus/src/parser/zip_archive_stream \
diff --git a/external/liborcus/Library_orcus.mk b/external/liborcus/Library_orcus.mk
index ea99e75..0a0ca58 100644
--- a/external/liborcus/Library_orcus.mk
+++ b/external/liborcus/Library_orcus.mk
@@ -85,6 +85,7 @@ $(eval $(call gb_Library_add_generated_exception_objects,orcus,\
UnpackedTarball/liborcus/src/liborcus/odf_tokens \
UnpackedTarball/liborcus/src/liborcus/ods_content_xml_context \
UnpackedTarball/liborcus/src/liborcus/ods_content_xml_handler \
+ UnpackedTarball/liborcus/src/liborcus/ods_dde_links_context \
UnpackedTarball/liborcus/src/liborcus/ods_session_data \
UnpackedTarball/liborcus/src/liborcus/ooxml_content_types \
UnpackedTarball/liborcus/src/liborcus/ooxml_global \
@@ -103,6 +104,7 @@ $(eval $(call gb_Library_add_generated_exception_objects,orcus,\
UnpackedTarball/liborcus/src/liborcus/orcus_xls_xml \
UnpackedTarball/liborcus/src/liborcus/orcus_xlsx \
UnpackedTarball/liborcus/src/liborcus/orcus_xml \
+ UnpackedTarball/liborcus/src/liborcus/orcus_xml_impl \
UnpackedTarball/liborcus/src/liborcus/orcus_xml_map_def \
UnpackedTarball/liborcus/src/liborcus/session_context \
UnpackedTarball/liborcus/src/liborcus/spreadsheet_iface_util \
@@ -134,7 +136,9 @@ $(eval $(call gb_Library_add_generated_exception_objects,orcus,\
UnpackedTarball/liborcus/src/liborcus/xml_simple_stream_handler \
UnpackedTarball/liborcus/src/liborcus/xml_stream_handler \
UnpackedTarball/liborcus/src/liborcus/xml_stream_parser \
+ UnpackedTarball/liborcus/src/liborcus/xml_structure_mapper \
UnpackedTarball/liborcus/src/liborcus/xml_structure_tree \
+ UnpackedTarball/liborcus/src/liborcus/xpath_parser \
UnpackedTarball/liborcus/src/liborcus/yaml_document_tree \
))
diff --git a/external/liborcus/UnpackedTarball_liborcus.mk b/external/liborcus/UnpackedTarball_liborcus.mk
index e5e33b0..4736dbc 100644
--- a/external/liborcus/UnpackedTarball_liborcus.mk
+++ b/external/liborcus/UnpackedTarball_liborcus.mk
@@ -20,6 +20,7 @@ $(eval $(call gb_UnpackedTarball_add_patches,liborcus,\
external/liborcus/gcc9.patch.0 \
external/liborcus/libtool.patch.0 \
external/liborcus/fix-pch.patch.0 \
+ external/liborcus/0001-Mark-all-untentionally-unused-variables.patch \
))
ifeq ($(OS),WNT)
diff --git a/external/liborcus/windows-constants-hack.patch b/external/liborcus/windows-constants-hack.patch
index 876bc16..51aabfa 100644
--- a/external/liborcus/windows-constants-hack.patch
+++ b/external/liborcus/windows-constants-hack.patch
@@ -8,7 +8,7 @@ index ae571f5..539ce18 100644
-#include "constants.inl"
+#define ORCUS_MAJOR_VERSION 0
-+#define ORCUS_MINOR_VERSION 11
++#define ORCUS_MINOR_VERSION 16
+#define ORCUS_MICRO_VERSION 0
namespace orcus {
diff --git a/sc/source/filter/inc/orcusinterface.hxx b/sc/source/filter/inc/orcusinterface.hxx
index b298c71..00aea67 100644
--- a/sc/source/filter/inc/orcusinterface.hxx
+++ b/sc/source/filter/inc/orcusinterface.hxx
@@ -62,6 +62,11 @@ public:
{
return mnTextEncoding;
}
+
+ ScDocumentImport& getDoc() const
+ {
+ return mrDoc;
+ }
};
class ScOrcusRefResolver : public orcus::spreadsheet::iface::import_reference_resolver
@@ -71,20 +76,28 @@ class ScOrcusRefResolver : public orcus::spreadsheet::iface::import_reference_re
public:
ScOrcusRefResolver( const ScOrcusGlobalSettings& rGS );
- orcus::spreadsheet::address_t resolve_address(const char* p, size_t n) override;
- orcus::spreadsheet::range_t resolve_range(const char* p, size_t n) override;
+ orcus::spreadsheet::src_address_t resolve_address(const char* p, size_t n) override;
+ orcus::spreadsheet::src_range_t resolve_range(const char* p, size_t n) override;
};
class ScOrcusNamedExpression : public orcus::spreadsheet::iface::import_named_expression
{
ScDocumentImport& mrDoc;
const ScOrcusGlobalSettings& mrGlobalSettings;
- SCTAB mnTab; //< negative if global, else >= 0 for sheet-local named expressions.
+ ScAddress maBasePos;
+ OUString maName;
+ OUString maExpr;
+ const SCTAB mnTab; //< negative if global, else >= 0 for sheet-local named expressions.
public:
ScOrcusNamedExpression( ScDocumentImport& rDoc, const ScOrcusGlobalSettings& rGS, SCTAB nTab = -1 );
- virtual void define_name(const char* p_name, size_t n_name, const char* p_exp, size_t n_exp) override;
+ void reset();
+
+ virtual void set_base_position(const orcus::spreadsheet::src_address_t& pos) override;
+ virtual void set_named_expression(const char* p_name, size_t n_name, const char* p_exp, size_t n_exp) override;
+ virtual void set_named_range(const char* p_name, size_t n_name, const char* p_range, size_t n_range) override;
+ virtual void commit() override;
};
class ScOrcusSharedStrings : public orcus::spreadsheet::iface::import_shared_strings
diff --git a/sc/source/filter/orcus/interface.cxx b/sc/source/filter/orcus/interface.cxx
index 220f7ce..aa96eb2 100644
--- a/sc/source/filter/orcus/interface.cxx
+++ b/sc/source/filter/orcus/interface.cxx
@@ -46,6 +46,7 @@
#include <sal/log.hxx>
#include <stylesbuffer.hxx>
+#include <orcus/exception.hpp>
using namespace com::sun::star;
@@ -158,51 +159,54 @@ orcus::spreadsheet::formula_grammar_t ScOrcusGlobalSettings::get_default_formula
ScOrcusRefResolver::ScOrcusRefResolver( const ScOrcusGlobalSettings& rGS ) :
mrGlobalSettings(rGS) {}
-os::address_t ScOrcusRefResolver::resolve_address(const char* p, size_t n)
+os::src_address_t ScOrcusRefResolver::resolve_address(const char* p, size_t n)
{
OUString aStr(p, n, mrGlobalSettings.getTextEncoding());
ScAddress aAddr;
- aAddr.Parse(aStr, nullptr,
+ aAddr.Parse(aStr, &mrGlobalSettings.getDoc().getDoc(),
formula::FormulaGrammar::extractRefConvention(
mrGlobalSettings.getCalcGrammar()));
- os::address_t ret;
- ret.column = 0;
- ret.row = 0;
-
- if (aAddr.IsValid())
+ if (!aAddr.IsValid())
{
- ret.column = aAddr.Col();
- ret.row = aAddr.Row();
+ std::ostringstream os;
+ os << "'" << std::string(p, n) << "' is not a valid address expression.";
+ throw orcus::invalid_arg_error(os.str());
}
+ os::src_address_t ret;
+ ret.sheet = aAddr.Tab();
+ ret.column = aAddr.Col();
+ ret.row = aAddr.Row();
+
return ret;
}
-os::range_t ScOrcusRefResolver::resolve_range(const char* p, size_t n)
+os::src_range_t ScOrcusRefResolver::resolve_range(const char* p, size_t n)
{
OUString aStr(p, n, mrGlobalSettings.getTextEncoding());
ScRange aRange;
- aRange.Parse(aStr, nullptr,
+ aRange.Parse(aStr, &mrGlobalSettings.getDoc().getDoc(),
formula::FormulaGrammar::extractRefConvention(
mrGlobalSettings.getCalcGrammar()));
- os::range_t ret;
- ret.first.column = 0;
- ret.first.row = 0;
- ret.last.column = 0;
- ret.last.row = 0;
-
- if (aRange.IsValid())
+ if (!aRange.IsValid())
{
- ret.first.column = aRange.aStart.Col();
- ret.first.row = aRange.aStart.Row();
- ret.last.column = aRange.aEnd.Col();
- ret.last.row = aRange.aEnd.Row();
+ std::ostringstream os;
+ os << "'" << std::string(p, n) << "' is not a valid range expression.";
+ throw orcus::invalid_arg_error(os.str());
}
+ os::src_range_t ret;
+ ret.first.sheet = aRange.aStart.Tab();
+ ret.first.column = aRange.aStart.Col();
+ ret.first.row = aRange.aStart.Row();
+ ret.last.sheet = aRange.aEnd.Tab();
+ ret.last.column = aRange.aEnd.Col();
+ ret.last.row = aRange.aEnd.Row();
+
return ret;
}
@@ -210,20 +214,46 @@ ScOrcusNamedExpression::ScOrcusNamedExpression(
ScDocumentImport& rDoc, const ScOrcusGlobalSettings& rGS, SCTAB nTab ) :
mrDoc(rDoc), mrGlobalSettings(rGS), mnTab(nTab) {}
-void ScOrcusNamedExpression::define_name(const char* p_name, size_t n_name, const char* p_exp, size_t n_exp)
+void ScOrcusNamedExpression::reset()
+{
+ maBasePos.SetTab(0);
+ maBasePos.SetCol(0);
+ maBasePos.SetRow(0);
+ maName.clear();
+ maExpr.clear();
+}
+
+void ScOrcusNamedExpression::set_base_position(const orcus::spreadsheet::src_address_t& pos)
+{
+ maBasePos.SetTab(pos.sheet);
+ maBasePos.SetCol(pos.column);
+ maBasePos.SetRow(pos.row);
+}
+
+void ScOrcusNamedExpression::set_named_expression(const char* p_name, size_t n_name, const char* p_exp, size_t n_exp)
+{
+ maName = OUString(p_name, n_name, mrGlobalSettings.getTextEncoding());
+ maExpr = OUString(p_exp, n_exp, mrGlobalSettings.getTextEncoding());
+}
+
+void ScOrcusNamedExpression::set_named_range(const char* /*p_name*/, size_t /*n_name*/, const char* /*p_range*/, size_t /*n_range*/)
{
- OUString aName(p_name, n_name, mrGlobalSettings.getTextEncoding());
- OUString aExpr(p_exp, n_exp, mrGlobalSettings.getTextEncoding());
+ throw std::runtime_error("ScOrcusNamedExpression::set_named_range not implemented yet.");
+}
+void ScOrcusNamedExpression::commit()
+{
ScRangeName* pNames = mnTab >= 0 ? mrDoc.getDoc().GetRangeName(mnTab) : mrDoc.getDoc().GetRangeName();
if (!pNames)
return;
ScRangeData* pRange = new ScRangeData(
- &mrDoc.getDoc(), aName, aExpr, ScAddress(), ScRangeData::Type::Name,
+ &mrDoc.getDoc(), maName, maExpr, maBasePos, ScRangeData::Type::Name,
mrGlobalSettings.getCalcGrammar());
pNames->insert(pRange, false);
+
+ reset(); // make sure to reset the state for the next run.
}
ScOrcusFactory::CellStoreToken::CellStoreToken(const ScAddress& rPos, Type eType)
diff --git a/sc/source/filter/orcus/xmlcontext.cxx b/sc/source/filter/orcus/xmlcontext.cxx
index ab16ae6..09f3ba9 100644
--- a/sc/source/filter/orcus/xmlcontext.cxx
+++ b/sc/source/filter/orcus/xmlcontext.cxx
@@ -89,10 +89,9 @@ void populateTree(
rTreeCtrl.set_image(*xEntry, rParam.maImgElementRepeat, -1);
}
- orcus::xml_structure_tree::entity_names_type aNames;
+ orcus::xml_structure_tree::entity_names_type aNames = rWalker.get_attributes();
// Insert attributes.
- rWalker.get_attributes(aNames);
for (const orcus::xml_structure_tree::entity_name& rAttrName : aNames)
{
OUString sAttr(toString(rAttrName, rWalker));
@@ -106,7 +105,7 @@ void populateTree(
rTreeCtrl.set_image(*xAttr, rParam.maImgAttribute, -1);
}
- rWalker.get_children(aNames);
+ aNames = rWalker.get_children();
// Non-leaf if it has child elements, leaf otherwise.
rEntryData.mbLeafNode = aNames.empty();
@@ -266,7 +265,7 @@ void ScOrcusXMLContextImpl::importXML(const ScOrcusImportXMLParam& rParam)
std::for_each(rLink.maFieldPaths.begin(), rLink.maFieldPaths.end(),
[&filter](const OString& rFieldPath)
{
- filter.append_field_link(rFieldPath.getStr());
+ filter.append_field_link(rFieldPath.getStr(), orcus::pstring());
}
);
diff --git a/sc/source/ui/xmlsource/xmlsourcedlg.cxx b/sc/source/ui/xmlsource/xmlsourcedlg.cxx
index 1eb2e4b..167ecae 100644
--- a/sc/source/ui/xmlsource/xmlsourcedlg.cxx
+++ b/sc/source/ui/xmlsource/xmlsourcedlg.cxx
@@ -49,8 +49,12 @@ OUString getXPath(
if (pData)
rNamespaces.push_back(pData->mnNamespaceID);
+ // element separator is '/' whereas attribute separator is '/@' in xpath.
aBuf.insert(0, rTree.get_text(*xEntry, 0));
- aBuf.insert(0, isAttribute(rTree, *xEntry) ? '@' : '/');
+ if (isAttribute(rTree, *xEntry))
+ aBuf.insert(0, "/@");
+ else
+ aBuf.insert(0, '/');
}
while (rTree.iter_parent(*xEntry));
--
2.26.2

View File

@ -1,61 +0,0 @@
From 5597567fbecbb62cdc9e64e68b9fe9bf23e032a6 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Caol=C3=A1n=20McNamara?= <caolanm@redhat.com>
Date: Fri, 4 Dec 2020 12:58:20 +0000
Subject: [PATCH] disable tests that don't work without pdfium
we're probably past the end of the road on --disable-pdfium
Change-Id: Id91ea6c77bbdb3ecf609a7ffd16a278eb3b17e91
---
xmlsecurity/qa/unit/pdfsigning/pdfsigning.cxx | 7 ++++++-
1 file changed, 6 insertions(+), 1 deletion(-)
diff --git a/xmlsecurity/qa/unit/pdfsigning/pdfsigning.cxx b/xmlsecurity/qa/unit/pdfsigning/pdfsigning.cxx
index 7659fe9485c5..68738134cc36 100644
--- a/xmlsecurity/qa/unit/pdfsigning/pdfsigning.cxx
+++ b/xmlsecurity/qa/unit/pdfsigning/pdfsigning.cxx
@@ -7,6 +7,8 @@
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
*/
+#include <config_features.h>
+
#include <com/sun/star/xml/crypto/SEInitializer.hpp>
#include <com/sun/star/security/DocumentSignatureInformation.hpp>
@@ -414,6 +416,7 @@ CPPUNIT_TEST_FIXTURE(PDFSigningTest, testBadCertP1)
= verify(m_directories.getURLFromSrc(DATA_DIRECTORY) + "bad-cert-p1.pdf", 1,
/*rExpectedSubFilter=*/OString());
CPPUNIT_ASSERT(!aInfos.empty());
+#if HAVE_FEATURE_PDFIUM
SignatureInformation& rInformation = aInfos[0];
// Without the accompanying fix in place, this test would have failed with:
// - Expected: 0 (SecurityOperationStatus_UNKNOWN)
@@ -421,6 +424,7 @@ CPPUNIT_TEST_FIXTURE(PDFSigningTest, testBadCertP1)
// i.e. annotation after a P1 signature was not considered as a bad modification.
CPPUNIT_ASSERT_EQUAL(xml::crypto::SecurityOperationStatus::SecurityOperationStatus_UNKNOWN,
rInformation.nStatus);
+#endif
}
CPPUNIT_TEST_FIXTURE(PDFSigningTest, testBadCertP3Stamp)
@@ -429,14 +433,15 @@ CPPUNIT_TEST_FIXTURE(PDFSigningTest, testBadCertP3Stamp)
= verify(m_directories.getURLFromSrc(DATA_DIRECTORY) + "bad-cert-p3-stamp.pdf", 1,
/*rExpectedSubFilter=*/OString());
CPPUNIT_ASSERT(!aInfos.empty());
+#if HAVE_FEATURE_PDFIUM
SignatureInformation& rInformation = aInfos[0];
-
// Without the accompanying fix in place, this test would have failed with:
// - Expected: 0 (SecurityOperationStatus_UNKNOWN)
// - Actual : 1 (SecurityOperationStatus_OPERATION_SUCCEEDED)
// i.e. adding a stamp annotation was not considered as a bad modification.
CPPUNIT_ASSERT_EQUAL(xml::crypto::SecurityOperationStatus::SecurityOperationStatus_UNKNOWN,
rInformation.nStatus);
+#endif
}
/// Test writing a PAdES signature.
--
2.28.0

View File

@ -0,0 +1,26 @@
From 1e0d719535929c32eefef53a24bf3b1628bea05c Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Caol=C3=A1n=20McNamara?= <caolanm@redhat.com>
Date: Wed, 3 Feb 2021 15:37:03 +0000
Subject: [PATCH] don't need FindBin if --disable-openssl used
Change-Id: I786ca760b8f4e606945acfc9b2667c2305c014d1
---
configure.ac | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/configure.ac b/configure.ac
index 75f5543703f2..e6607334b067 100644
--- a/configure.ac
+++ b/configure.ac
@@ -5985,7 +5985,7 @@ fi
if test "$with_system_hsqldb" = "yes"; then
perl_use_string="$perl_use_string ; use Archive::Zip"
fi
-if test "$with_system_openssl" != "yes"; then
+if test "$enable_openssl" = "yes" -a "$with_system_openssl" != "yes"; then
# OpenSSL needs that to build
perl_use_string="$perl_use_string ; use FindBin"
fi
--
2.29.2

View File

@ -1,4 +1,4 @@
From a0e6d2abeed9d64fe7862a7664ba80a6178bf3f2 Mon Sep 17 00:00:00 2001
From a6f2cba43d79347b6975b3b8069b423c94a7dba6 Mon Sep 17 00:00:00 2001
From: David Tardon <dtardon@redhat.com>
Date: Tue, 8 Nov 2016 11:50:06 +0100
Subject: [PATCH] don't suppress crashes
@ -11,25 +11,25 @@ Change-Id: I3854e619356049b144b08575879d289a3c12e4c9
1 file changed, 1 insertion(+), 3 deletions(-)
diff --git a/desktop/source/app/app.cxx b/desktop/source/app/app.cxx
index 53365f4..3a3bac8 100644
index c54aea9dd4f7..a613fe12cef2 100644
--- a/desktop/source/app/app.cxx
+++ b/desktop/source/app/app.cxx
@@ -1312,14 +1312,12 @@ void Desktop::Exception(ExceptionCategory nCategory)
if( bRestart )
{
RequestHandler::Disable();
- if( pSignalHandler )
- osl_removeSignalHandler( pSignalHandler );
@@ -1147,14 +1147,12 @@ void Desktop::Exception(ExceptionCategory nCategory)
if( bRestart )
{
RequestHandler::Disable();
- if( pSignalHandler )
- osl_removeSignalHandler( pSignalHandler );
restartOnMac(false);
if ( m_rSplashScreen.is() )
m_rSplashScreen->reset();
restartOnMac(false);
if ( m_rSplashScreen.is() )
m_rSplashScreen->reset();
- _exit( EXITHELPER_CRASH_WITH_RESTART );
+ return;
}
else
{
- _exit( EXITHELPER_CRASH_WITH_RESTART );
+ return;
}
else
{
--
2.9.3
2.29.2

View File

@ -1,64 +0,0 @@
From 13aba101eadfe4f67a930ac7231d26ece658bbec Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Caol=C3=A1n=20McNamara?= <caolanm@redhat.com>
Date: Mon, 28 Sep 2020 14:55:47 +0100
Subject: [PATCH] export HYPERLINK target in html clipboard export
Change-Id: Ia77e4bd8a5b54636d0e9e561360128202a81420b
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/103557
Tested-by: Jenkins
Reviewed-by: Eike Rathke <erack@redhat.com>
---
sc/source/filter/html/htmlexp.cxx | 23 +++++++++++++++++++++++
1 file changed, 23 insertions(+)
diff --git a/sc/source/filter/html/htmlexp.cxx b/sc/source/filter/html/htmlexp.cxx
index 6122c9b6c45c..13792201c8b0 100644
--- a/sc/source/filter/html/htmlexp.cxx
+++ b/sc/source/filter/html/htmlexp.cxx
@@ -37,6 +37,7 @@
#include <sfx2/docfile.hxx>
#include <sfx2/frmhtmlw.hxx>
#include <sfx2/objsh.hxx>
+#include <svl/stritem.hxx>
#include <svl/urihelper.hxx>
#include <svtools/htmlkywd.hxx>
#include <svtools/htmlout.hxx>
@@ -1127,6 +1128,26 @@ void ScHTMLExport::WriteCell( sc::ColumnBlockPosition& rBlockPos, SCCOL nCol, SC
TAG_ON(aStr.makeStringAndClear().getStr());
}
+ OUString aURL;
+ bool bWriteHyperLink(false);
+ if (aCell.meType == CELLTYPE_FORMULA)
+ {
+ ScFormulaCell* pFCell = aCell.mpFormula;
+ if (pFCell->IsHyperLinkCell())
+ {
+ OUString aCellText;
+ pFCell->GetURLResult(aURL, aCellText);
+ bWriteHyperLink = true;
+ }
+ }
+
+ if (bWriteHyperLink)
+ {
+ OString aURLStr = HTMLOutFuncs::ConvertStringToHTML(aURL, eDestEnc, &aNonConvertibleChars);
+ OString aStr = OOO_STRING_SVTOOLS_HTML_anchor " " OOO_STRING_SVTOOLS_HTML_O_href "=\"" + aURLStr + "\"";
+ TAG_ON(aStr.getStr());
+ }
+
OUString aStrOut;
bool bFieldText = false;
@@ -1174,6 +1195,8 @@ void ScHTMLExport::WriteCell( sc::ColumnBlockPosition& rBlockPos, SCCOL nCol, SC
if ( pGraphEntry )
WriteGraphEntry( pGraphEntry );
+ if (bWriteHyperLink) { TAG_OFF(OOO_STRING_SVTOOLS_HTML_anchor); }
+
if ( bSetFont ) TAG_OFF( OOO_STRING_SVTOOLS_HTML_font );
if ( bCrossedOut ) TAG_OFF( OOO_STRING_SVTOOLS_HTML_strikethrough );
if ( bUnderline ) TAG_OFF( OOO_STRING_SVTOOLS_HTML_underline );
--
2.26.2

View File

@ -1,24 +0,0 @@
From 6959a4c217d352e52673a3fec870eac17ceb60dc Mon Sep 17 00:00:00 2001
From: Jeff Law <law@redhat.com>
Date: Tue, 3 Nov 2020 08:05:03 -0700
Subject: [PATCH] gcc11
---
include/o3tl/lru_map.hxx | 1 +
1 file changed, 1 insertion(+)
diff --git a/include/o3tl/lru_map.hxx b/include/o3tl/lru_map.hxx
index e822fde029..33a1487fa2 100644
--- a/include/o3tl/lru_map.hxx
+++ b/include/o3tl/lru_map.hxx
@@ -14,6 +14,7 @@
#include <cassert>
#include <list>
#include <unordered_map>
+#include <cstddef>
namespace o3tl
{
--
2.28.0

File diff suppressed because it is too large Load Diff

View File

@ -1,75 +0,0 @@
From ab41de1f744af115886fe272ccff2a5160c1bffa Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Caol=C3=A1n=20McNamara?= <caolanm@redhat.com>
Date: Fri, 25 Sep 2020 11:22:03 +0100
Subject: [PATCH] rhbz#1882616 move cursor one step at a time in the desired
direction
until we get to the target position. The break iterator operates in graphemes
so we can't just move Left/Right the amount of utf-16 we want to move.
Change-Id: I25d4e9285deae374f85dcaadbf4601bc213a89de
---
sw/source/core/edit/editsh.cxx | 40 +++++++++++++++++++++++++++++-----
1 file changed, 35 insertions(+), 5 deletions(-)
diff --git a/sw/source/core/edit/editsh.cxx b/sw/source/core/edit/editsh.cxx
index e4f26588d0af..1e16460f49e2 100644
--- a/sw/source/core/edit/editsh.cxx
+++ b/sw/source/core/edit/editsh.cxx
@@ -983,7 +983,8 @@ OUString SwEditShell::DeleteExtTextInput( bool bInsText )
void SwEditShell::SetExtTextInputData( const CommandExtTextInputData& rData )
{
- const SwPosition& rPos = *GetCursor()->GetPoint();
+ SwPaM* pCurrentCursor = GetCursor();
+ const SwPosition& rPos = *pCurrentCursor->GetPoint();
SwExtTextInput* pInput = GetDoc()->GetExtTextInput( rPos.nNode.GetNode() );
if( !pInput )
return;
@@ -1000,10 +1001,39 @@ void SwEditShell::SetExtTextInputData( const CommandExtTextInputData& rData )
// ugly but works
ShowCursor();
const sal_Int32 nDiff = nNewCursorPos - rPos.nContent.GetIndex();
- if( 0 > nDiff )
- Left( -nDiff, CRSR_SKIP_CHARS );
- else if( 0 < nDiff )
- Right( nDiff, CRSR_SKIP_CHARS );
+ if( nDiff != 0)
+ {
+ bool bLeft = nDiff < 0;
+ sal_Int32 nMaxGuard = std::abs(nDiff);
+ while (true)
+ {
+ auto nOldPos = pCurrentCursor->GetPoint()->nContent.GetIndex();
+ if (bLeft)
+ Left(1, CRSR_SKIP_CHARS);
+ else
+ Right(1, CRSR_SKIP_CHARS);
+ auto nNewPos = pCurrentCursor->GetPoint()->nContent.GetIndex();
+
+ // expected success
+ if (nNewPos == nNewCursorPos)
+ break;
+
+ if (nNewPos == nOldPos)
+ {
+ // if there was no movement, we have failed for some reason
+ SAL_WARN("sw.core", "IM cursor move failed");
+ break;
+ }
+
+ if (--nMaxGuard == 0)
+ {
+ // if it takes more cursor moves than there are utf-16 chars to move past
+ // something has probably gone wrong
+ SAL_WARN("sw.core", "IM abandoning cursor positioning");
+ break;
+ }
+ }
+ }
SetOverwriteCursor( rData.IsCursorOverwrite() );
--
2.26.2

View File

@ -1,53 +0,0 @@
From 308181f2bd6c512258c30b9487859767b2b40c0e Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Caol=C3=A1n=20McNamara?= <caolanm@redhat.com>
Date: Mon, 11 Jan 2021 10:22:06 +0000
Subject: [PATCH] rhbz#1913828 SfxViewFrame::Current() can return null
revert cui part of
commit 849b837d1a3b185a8dd893a8f6eaed53605bcab1
Date: Tue Jun 4 15:49:12 2019 -0800
tdf#83618 Make line spacing values agree
the reported problem seems still fixed after doing this
Change-Id: I4a3f938b4137e2c36ed450936e06ad1f02979976
---
cui/source/tabpages/paragrph.cxx | 6 ++----
1 file changed, 2 insertions(+), 4 deletions(-)
diff --git a/cui/source/tabpages/paragrph.cxx b/cui/source/tabpages/paragrph.cxx
index 6ad843bdc9b3..eaa0daf23cfe 100644
--- a/cui/source/tabpages/paragrph.cxx
+++ b/cui/source/tabpages/paragrph.cxx
@@ -51,8 +51,6 @@
#include <svl/eitem.hxx>
#include <svl/intitem.hxx>
-#include <sfx2/viewfrm.hxx>
-
const sal_uInt16 SvxStdParagraphTabPage::pStdRanges[] =
{
SID_ATTR_PARA_LINESPACE, // 10033
@@ -232,7 +230,7 @@ bool SvxStdParagraphTabPage::FillItemSet( SfxItemSet* rOutSet )
m_xLineDistAtMetricBox->get_value_changed_from_saved() ) )
{
nWhich = GetWhich( SID_ATTR_PARA_LINESPACE );
- MapUnit eUnit = SfxViewFrame::Current()->GetPool().GetMetric( nWhich );
+ MapUnit eUnit = pPool->GetMetric( nWhich );
SvxLineSpacingItem aSpacing(
static_cast<const SvxLineSpacingItem&>(GetItemSet().Get( nWhich )) );
@@ -722,7 +720,7 @@ void SvxStdParagraphTabPage::SetLineSpacing_Impl
const SvxLineSpacingItem &rAttr
)
{
- MapUnit eUnit = SfxViewFrame::Current()->GetPool().GetMetric( rAttr.Which() );
+ MapUnit eUnit = GetItemSet().GetPool()->GetMetric( rAttr.Which() );
switch( rAttr.GetLineSpaceRule() )
{
--
2.28.0

View File

@ -1,5 +1,5 @@
# download path contains version without the last (fourth) digit
%global libo_version 7.0.4
%global libo_version 7.1.0
# Should contain .alphaX / .betaX, if this is pre-release (actually
# pre-RC) version. The pre-release string is part of tarball file names,
# so we need a way to define it easily at one place.
@ -49,8 +49,8 @@
Summary: Free Software Productivity Suite
Name: libreoffice
Epoch: 1
Version: %{libo_version}.2
Release: 9%{?libo_prerelease}%{?dist}
Version: %{libo_version}.3
Release: 2%{?libo_prerelease}%{?dist}
License: (MPLv1.1 or LGPLv3+) and LGPLv3 and LGPLv2+ and BSD and (MPLv1.1 or GPLv2 or LGPLv2 or Netscape) and Public Domain and ASL 2.0 and MPLv2.0 and CC0
URL: http://www.libreoffice.org/
@ -73,7 +73,7 @@ Source12: %{external_url}/35c94d2df8893241173de1d16b6034c0-swingExSrc.zip
#Unfortunately later versions of hsqldb changed the file format, so if we use a later version we loose
#backwards compatability.
Source13: %{external_url}/17410483b5b5f267aa18b7e00b65e6e0-hsqldb_1_8_0.zip
Source14: %{external_url}/884ed41809687c3e168fc7c19b16585149ff058eca79acbf3ee784f6630704cc-opens___.ttf
Source14: %{external_url}/../extern/f543e6e2d7275557a839a164941c0a86e5f2c3f2a0042bfc434c88c6dde9e140-opens___.ttf
%global bundling_options %{?bundling_options} --without-system-hsqldb
Provides: bundled(hsqldb) = 1.8.0
@ -121,16 +121,17 @@ BuildRequires: zip
# libs / headers - common
BuildRequires: %{libo_python}-devel
BuildRequires: Box2D-devel
BuildRequires: boost-devel
BuildRequires: cups-devel
BuildRequires: fontpackages-devel
%if 0%{?fedora}
BuildRequires: firebird-devel
BuildRequires: libqrcodegencpp-devel
%endif
BuildRequires: glm-devel
BuildRequires: hyphen-devel
BuildRequires: libjpeg-turbo-devel
BuildRequires: libqrcodegencpp-devel
BuildRequires: lpsolve-devel
BuildRequires: openldap-devel
BuildRequires: pam-devel
@ -157,7 +158,6 @@ BuildRequires: pkgconfig(libcurl)
BuildRequires: pkgconfig(libetonyek-0.1)
BuildRequires: pkgconfig(libexttextcat)
BuildRequires: pkgconfig(libfreehand-0.1)
BuildRequires: pkgconfig(libidn)
BuildRequires: pkgconfig(liblangtag)
BuildRequires: pkgconfig(libmspub-0.1)
BuildRequires: pkgconfig(libmwaw-0.3)
@ -247,17 +247,10 @@ Patch1: 0001-disble-tip-of-the-day-dialog-by-default.patch
Patch2: 0001-Resolves-rhbz-1432468-disable-opencl-by-default.patch
# backported
Patch3: 0001-fix-detecting-qrcodegen.patch
Patch4: 0001-rhbz-1870501-crash-on-reexport-of-odg.patch
Patch6: 0001-rhbz-1882616-move-cursor-one-step-at-a-time-in-the-d.patch
Patch7: 0001-export-HYPERLINK-target-in-html-clipboard-export.patch
Patch10: 0001-gcc11.patch
Patch11: 0001-disable-tests-that-don-t-work-without-pdfium.patch
Patch12: 0001-rhbz-1913828-SfxViewFrame-Current-can-return-null.patch
Patch13: 0001-rhbz-1918152-fix-FTBFS.patch
Patch14: 0001-tdf-138727-help-browser-didn-t-flow-text.patch
Patch4: 0001-rhbz-1918152-fix-FTBFS.patch
Patch5: 0001-tdf-138727-help-browser-didn-t-flow-text.patch
Patch6: 0001-don-t-need-FindBin-if-disable-openssl-used.patch
# Patches with numbers above 100 are applied conditionally
Patch101: 0001-Upgrade-liborcus-to-0.16.0.patch
# not upstreamed
Patch500: 0001-disable-libe-book-support.patch
@ -1006,15 +999,10 @@ git commit -q -a -m 'add Red Hat colors to palette'
# apply patches
%autopatch -M 99
%if 0%{?fedora} > 33 || 0%{?rhel} > 8
%apply_patch -q %{PATCH101}
%endif
%if 0%{?rhel}
%apply_patch -q %{PATCH500}
%endif
sed -i -e /CppunitTest_sw_ooxmlexport7/d sw/Module_sw.mk # i686
sed -i -e /CppunitTest_sc_array_functions_test/d sc/Module_sc.mk # ppc64le
sed -i -e /CppunitTest_sw_ww8export/d sw/Module_sw.mk
sed -i -e /CppunitTest_sc_addin_functions_test/d sc/Module_sc.mk # aarch64/ppc64*/s390x
@ -1037,6 +1025,7 @@ sed -i -e /CppunitTest_sw_uiwriter/d sw/Module_sw.mk
sed -i -e /CppunitTest_sc_subsequent_filters_test/d sc/Module_sc.mk
%endif
sed -i -e /CppunitTest_sal_osl/d sal/Module_sal.mk
sed -i -e /CppunitTest_emfio_emf/d emfio/Module_emfio.mk
git commit -q -a -m 'temporarily disable failing tests'
@ -1071,7 +1060,7 @@ export CFLAGS=$ARCH_FLAGS
export CXXFLAGS=$ARCH_FLAGS
%if 0%{?rhel}
%define distrooptions --disable-eot --disable-scripting-beanshell --disable-scripting-javascript --disable-firebird-sdbc
%define distrooptions --disable-eot --disable-scripting-beanshell --disable-scripting-javascript --disable-firebird-sdbc --disable-qrcodegen
%else
# fedora
%define distrooptions --enable-eot --enable-kf5
@ -1102,6 +1091,7 @@ touch autogen.lastrun
%{?with_lang} \
--with-parallelism=$SMP_MFLAGS \
--disable-coinmp \
--disable-community-flavor \
--disable-fetch-external \
--disable-openssl \
--disable-pdfium \
@ -1392,9 +1382,6 @@ for icon in `find icons -path '*/512x512' -prune -o -type f -print`; do
install -m 0755 -d %{buildroot}%{_datadir}/`dirname $icon`
install -m 0644 -p $icon %{buildroot}%{_datadir}/`echo $icon | sed -e s@libreoffice$ICONVERSION-@libreoffice-@ | sed -e s@libreoffice$PRODUCTVERSION-@libreoffice-@`
done
install -m 0755 -d %{buildroot}%{_datadir}/mime-info
install -m 0644 -p mime-info/libreoffice$PRODUCTVERSION.keys %{buildroot}%{_datadir}/mime-info/libreoffice.keys
install -m 0644 -p mime-info/libreoffice$PRODUCTVERSION.mime %{buildroot}%{_datadir}/mime-info/libreoffice.mime
#add our mime-types, e.g. for .oxt extensions
install -m 0755 -d %{buildroot}%{_datadir}/mime/packages
install -m 0644 -p mime/packages/libreoffice$PRODUCTVERSION.xml %{buildroot}%{_datadir}/mime/packages/libreoffice.xml
@ -1622,7 +1609,6 @@ rm -f %{buildroot}%{baseinstdir}/program/classes/smoketest.jar
%{baseinstdir}/program/liblocaledata_es.so
%{baseinstdir}/program/liblocaledata_euro.so
%{baseinstdir}/program/liblocaledata_others.so
%{baseinstdir}/program/libmcnttype.so
%{baseinstdir}/program/libmorklo.so
%{baseinstdir}/program/libmozbootstraplo.so
%{baseinstdir}/program/libmsfilterlo.so
@ -1743,7 +1729,9 @@ rm -f %{buildroot}%{baseinstdir}/program/classes/smoketest.jar
%{baseinstdir}/share/config/images_sukapura.zip
%{baseinstdir}/share/config/images_sukapura_svg.zip
%dir %{baseinstdir}/share/tipoftheday
%{baseinstdir}/share/tipoftheday/*.png
%{baseinstdir}/share/tipoftheday/*
%dir %{baseinstdir}/share/toolbarmode
%{baseinstdir}/share/toolbarmode/*
%dir %{baseinstdir}/share/config/soffice.cfg
%{baseinstdir}/share/config/soffice.cfg/modules
%{baseinstdir}/share/config/soffice.cfg/*/ui
@ -1795,11 +1783,7 @@ rm -f %{buildroot}%{baseinstdir}/program/classes/smoketest.jar
%{baseinstdir}/program/libbasegfxlo.so
# TODO: shouldn't it have lo suffix?
%{baseinstdir}/program/libcomphelper.so
%{baseinstdir}/program/libfwelo.so
%{baseinstdir}/program/libfwilo.so
%{baseinstdir}/program/libfwklo.so
%{baseinstdir}/program/libfwllo.so
%{baseinstdir}/program/libfwmlo.so
# TODO: shouldn't it have lo suffix?
%{baseinstdir}/program/libi18nutil.so
%{baseinstdir}/program/libpackage2.so
@ -1841,6 +1825,8 @@ rm -f %{buildroot}%{baseinstdir}/program/classes/smoketest.jar
%dir %{baseinstdir}/share/filter
%{baseinstdir}/share/filter/oox-drawingml-adj-names
%{baseinstdir}/share/filter/oox-drawingml-cs-presets
%{baseinstdir}/share/filter/signature-line.svg
%{baseinstdir}/share/filter/signature-line-draw.svg
%{baseinstdir}/share/filter/vml-shape-types
%{baseinstdir}/share/xdg/
%{baseinstdir}/program/redirectrc
@ -2203,12 +2189,9 @@ rm -f %{buildroot}%{baseinstdir}/program/classes/smoketest.jar
%files data
%{_datadir}/icons/hicolor/*/*/libreoffice*
%{_datadir}/icons/locolor/*/*/libreoffice*
%if 0%{?flatpak}
%{_datadir}/icons/hicolor/*/*/org.libreoffice.LibreOffice.*
%{_datadir}/icons/locolor/*/*/org.libreoffice.LibreOffice.*
%endif
%{_datadir}/mime-info/libreoffice.*
%{_datadir}/mime/packages/libreoffice.xml
# TODO: rename -data to -core-common?
%dir %{_javadir}/%{name}
@ -2221,22 +2204,16 @@ rm -f %{buildroot}%{baseinstdir}/program/classes/smoketest.jar
%license instdir/LICENSE
%post data
for theme in hicolor locolor; do
touch --no-create %{_datadir}/icons/$theme &>/dev/null || :
done
touch --no-create %{_datadir}/icons/hicolor &>/dev/null || :
%postun data
if [ $1 -eq 0 ] ; then
for theme in hicolor locolor; do
touch --no-create %{_datadir}/icons/$theme &>/dev/null || :
gtk-update-icon-cache -q %{_datadir}/icons/$theme &>/dev/null || :
done
touch --no-create %{_datadir}/icons/hicolor &>/dev/null || :
gtk-update-icon-cache -q %{_datadir}/icons/hicolor &>/dev/null || :
fi
%posttrans data
for theme in hicolor locolor; do
gtk-update-icon-cache -q %{_datadir}/icons/$theme &>/dev/null || :
done
gtk-update-icon-cache -q %{_datadir}/icons/hicolor &>/dev/null || :
%files x11
%if 0%{?fedora}
@ -2273,7 +2250,20 @@ done
%{_includedir}/LibreOfficeKit
%changelog
* Thu Jan 28 2021 Stephan Bergmann <sbergman@redhat.com> - 1:7.0.4.2-9-UNBUILT
* Fri Feb 05 2021 Caolán McNamara <caolanm@redhat.com> - 1:7.1.0.3-2
- use classic brand
* Wed Feb 03 2021 Caolán McNamara <caolanm@redhat.com> - 1:7.1.0.3-1
- bump to 7.1.0 series
- drop integrated 0001-rhbz-1870501-crash-on-reexport-of-odg.patch
- drop integrated 0001-rhbz-1882616-move-cursor-one-step-at-a-time-in-the-d.patch
- drop integrated 0001-export-HYPERLINK-target-in-html-clipboard-export.patch
- drop integrated 0001-gcc11.patch
- drop integrated 0001-disable-tests-that-don-t-work-without-pdfium.patch
- drop integrated 0001-rhbz-1913828-SfxViewFrame-Current-can-return-null.patch
- drop integrated 0001-Upgrade-liborcus-to-0.16.0.patch
* Thu Jan 28 2021 Stephan Bergmann <sbergman@redhat.com> - 1:7.0.4.2-9
- Make libreoffice-bsh, libreoffice-rhino depend on full java
* Wed Jan 27 2021 Caolán McNamara <caolanm@redhat.com> - 1:7.0.4.2-8

16
sources
View File

@ -4,13 +4,13 @@ SHA512 (17410483b5b5f267aa18b7e00b65e6e0-hsqldb_1_8_0.zip) = a231eba4a1baca11766
SHA512 (185d60944ea767075d27247c3162b3bc-unowinreg.dll) = 854b8ae29b57b40ba6bb6ff66e723a0e8dad053fcc2849f0ad763cd8a31352f4aeba9636fd4e3f0f2a0cd985a6f49b4261b9ace68d6be821ed42cfa7a73eb13c
SHA512 (a7983f859eafb2677d7ff386a023bc40-xsltml_2.1.2.zip) = 2d3835f7ac356805025cafedcad97faa48d0f5da386e6ac7b7451030059df8e2fdb0861ade07a576ebf9fb5b88a973585ab0437944b06aac9289d6898ba8586a
SHA512 (0168229624cfac409e766913506961a8-ucpp-1.3.2.tar.gz) = b9c02d63e9b47a838dbe67c05b9e9e4983d13b9d74794e1c30c73d341c3bc905c9edec3a72fa339ae8c0e06d97e69ac2ea23bf51336b77af14cab7ae67721a46
SHA512 (884ed41809687c3e168fc7c19b16585149ff058eca79acbf3ee784f6630704cc-opens___.ttf) = ce7e23e750f2c6f7ff2e590cc8941caa18eaae2727c9ca31313ab72ab19278055bd9393d38b0b5b685594e2f04ee15cb83b3bbb25d09665fe7383d7f26bf2ae8
SHA512 (f543e6e2d7275557a839a164941c0a86e5f2c3f2a0042bfc434c88c6dde9e140-opens___.ttf) = 6a6d131dad5191614950a49323ae6d9385afe331983c1c85fde82ce6ee816051d95dde9ef90658b8f0a8a0a21754e72ff724bf41f6b96c046b7b4c2660f7095b
SHA512 (libreoffice-multiliblauncher.sh) = db532afdf5000bc66f9e02c7d0ab586468466f63f8f0bdb204832581e8277c5c59f688fa096548d642411cb8c46e8de4a744676b4e624c075262cfd6945138cd
SHA512 (dtoa-20180411.tgz) = 722aa814c33a34bfffe6c0201b0035cc3b65854a0ba9ae2f51620a89d68019353e2c306651b35bca337186b22b2e9865ef3c5e3df8e9328006f882e4577f8c85
SHA512 (libreoffice-7.0.4.2.tar.xz.asc) = 2e3131b96bc382d773af17f0885ee047525928e7dbe939103b89e7f4f9bc541843bf8ad93317eb36fb4bb26a313b3ef3b0a3e04499b6e1e19e930a667c2370ab
SHA512 (libreoffice-help-7.0.4.2.tar.xz.asc) = df75f4261657fa32988621401daa1cad946740b535fbc9ddaea3134f9d02d919261c96641d295c99e3b66443b9f13ec15577122649adcb91d57c4bbcb8e16996
SHA512 (libreoffice-translations-7.0.4.2.tar.xz.asc) = 648550fbcb9c3c8f185653ccf02d30b722a5369d170e14686ac11f124437a541bf5851b56b807c90ca2a21d17b5888b40757e8c6f65309aab65d35ccdcd0feff
SHA512 (libreoffice-7.0.4.2.tar.xz) = cc65497b8d27f0e48ebfc5fa66b09d45948febe9454149300b447d9a6aafecd4be728403c3095c058852b9dc53570841d612bc196979f25595f6b8981f706d4b
SHA512 (libreoffice-help-7.0.4.2.tar.xz) = ba346fa8ee015479d799d9d0b2a315cb901071b5fba2c4d7eba2eeba41dd4cac72210d12542704220c8cbb82d6a7b37a9285c1933fe2407e8e149510df4d58fe
SHA512 (libreoffice-7.0.4.2-1.fc34.src.rpm) = 2e352a68fa96a02a44b00ce905714c7cb72f2b15c05f1af9fd8f4cf5890a1404ca772cfbb098e3a97b8a42c5f70c29db659c24bc664137ccd9acbdce74b39125
SHA512 (libreoffice-translations-7.0.4.2.tar.xz) = a1da20b4e4ae4952ca619871fc74c5693202e1f909f16ca1321a46dbc9abf979239c989bc56799c3e0c1f0930e8a41bd9aca2212bf5435e733951bdef8a5315c
SHA512 (libreoffice-7.1.0.3.tar.xz) = 2753343d37e24977a08adb68420f0cef4b4733f9acb4fbe01b686fedb75dcd4875e7194d326dbc8044e63e657bd7433ef2255f1f87a9338e3818886925ca0f1b
SHA512 (libreoffice-help-7.1.0.3.tar.xz) = ee7959e84dc10b6a9c72c7def179cd77e1b2599da553017c000f2a387f08ba23bbca3dadfb61d71267e5b6dc7845f46c4cfb242a411e972499e5a9337abeb025
SHA512 (libreoffice-translations-7.1.0.3.tar.xz) = 2a02da2e1833d7ea8d0e61f78460d854d7c7346de4d4782482e79f184a3ce9a97653fa150972a4bd6531b3ece99a4c95753f97dcd5b6af39d0e88351a96b76f1
SHA512 (libreoffice-7.1.0.3.tar.xz.asc) = f4c711b25ed3cc583b9a691e8ba0c86af2c4a810042bb6261379ed4abbb6d230899aea2c8f1e2f335e9ceed364c05a7299088af3329488f25be21029b686504d
SHA512 (libreoffice-dictionaries-7.1.0.3.tar.xz.asc) = 5fc796afa835b2d4981487754ec64b07f35c0c2b869221b1378ffe57c7fc49939611cb066f2a1c760d8959e80f460e48a5fc4e2c6539853b873b127c5c804577
SHA512 (libreoffice-help-7.1.0.3.tar.xz.asc) = 58489b734cf577f8c2b19f130e29a3745372f63637b0e755872794f1104a8ff2585898ea9e055a41ef42d8162d78b98e2a8093007735cf0bbdb1be2165529e8d
SHA512 (libreoffice-translations-7.1.0.3.tar.xz.asc) = 14e18dd111cd6b17446bad22dbe691b0808e6deb68986dc51fe385c2171461ea5afcaa4da5e72c0960ea8eba54c83c829766661f853dde911d2ea69a9dff4f3a