bump to 7.1.0 series

f41
Caolán McNamara 4 years ago
parent 5f506101d0
commit 4f21cc862a

16
.gitignore vendored

@ -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

@ -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

@ -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

@ -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

@ -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

@ -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

@ -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

@ -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

@ -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

@ -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

@ -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: 1%{?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,6 +121,7 @@ BuildRequires: zip
# libs / headers - common
BuildRequires: %{libo_python}-devel
BuildRequires: Box2D-devel
BuildRequires: boost-devel
BuildRequires: cups-devel
BuildRequires: fontpackages-devel
@ -247,17 +248,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
# Patches with numbers above 100 are applied conditionally
Patch101: 0001-Upgrade-liborcus-to-0.16.0.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
# not upstreamed
Patch500: 0001-disable-libe-book-support.patch
@ -1006,9 +1000,6 @@ 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
@ -1037,6 +1028,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'
@ -1392,9 +1384,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 +1611,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 +1731,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 +1785,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 +1827,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 +2191,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 +2206,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 +2252,17 @@ done
%{_includedir}/LibreOfficeKit
%changelog
* Thu Jan 28 2021 Stephan Bergmann <sbergman@redhat.com> - 1:7.0.4.2-9-UNBUILT
* 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

@ -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

Loading…
Cancel
Save