Accepting request 870919 from LibreOffice:Factory
- Update to 7.1.0.3 * RC3 7.1 series - Update bundled dependencies - New patch use-comphelper.patch to fix build - Rebased patch bsc1177955.diff - Dropped merged patches: * 0001-Upgrade-liborcus-to-0.16.0.patch * bsc1178944.diff * bsc1178943.diff * bsc1178807.diff * bsc1179025.diff OBS-URL: https://build.opensuse.org/request/show/870919 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/libreoffice?expand=0&rev=222
This commit is contained in:
commit
94117d33cd
@ -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 <?... 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 (>) of a <?... ?> 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
|
||||
|
@ -33,15 +33,14 @@ Change-Id: I80db290bd1695884ffb7b1eabaffa09462e8883d
|
||||
.../drawingml/diagram/diagramlayoutatoms.cxx | 78 ++++++++++++++-----
|
||||
1 file changed, 60 insertions(+), 18 deletions(-)
|
||||
|
||||
diff --git a/oox/source/drawingml/diagram/diagramlayoutatoms.cxx b/oox/source/drawingml/diagram/diagramlayoutatoms.cxx
|
||||
index 24acaf176491..3492ccefaa1a 100644
|
||||
--- a/oox/source/drawingml/diagram/diagramlayoutatoms.cxx
|
||||
+++ b/oox/source/drawingml/diagram/diagramlayoutatoms.cxx
|
||||
@@ -452,6 +452,37 @@ sal_Int32 AlgAtom::getVerticalShapesCount(const ShapePtr& rShape)
|
||||
|
||||
Index: libreoffice-7.1.0.3/oox/source/drawingml/diagram/diagramlayoutatoms.cxx
|
||||
===================================================================
|
||||
--- libreoffice-7.1.0.3.orig/oox/source/drawingml/diagram/diagramlayoutatoms.cxx
|
||||
+++ libreoffice-7.1.0.3/oox/source/drawingml/diagram/diagramlayoutatoms.cxx
|
||||
@@ -784,6 +784,37 @@ sal_Int32 AlgAtom::getVerticalShapesCoun
|
||||
namespace
|
||||
{
|
||||
+/**
|
||||
/**
|
||||
+ * Decides if a certain reference type (e.g. "right") can be inferred from the available properties
|
||||
+ * in rMap (e.g. left and width). Returns true if rValue is written to.
|
||||
+ */
|
||||
@ -72,24 +71,20 @@ index 24acaf176491..3492ccefaa1a 100644
|
||||
+ return false;
|
||||
+}
|
||||
+
|
||||
/**
|
||||
+/**
|
||||
* Apply rConstraint to the rProperties shared layout state.
|
||||
*
|
||||
@@ -468,26 +499,37 @@ void ApplyConstraintToLayout(const Constraint& rConstraint, LayoutPropertyMap& r
|
||||
}
|
||||
* Note that the order in which constraints are applied matters, given that constraints can refer to
|
||||
@@ -803,11 +834,22 @@ void ApplyConstraintToLayout(const Const
|
||||
return;
|
||||
|
||||
const LayoutPropertyMap::const_iterator aRef = rProperties.find(rConstraint.msRefForName);
|
||||
- if (aRef != rProperties.end())
|
||||
+ if (aRef == rProperties.end())
|
||||
+ return;
|
||||
+
|
||||
+ const LayoutProperty::const_iterator aRefType = aRef->second.find(rConstraint.mnRefType);
|
||||
const LayoutProperty::const_iterator aRefType = aRef->second.find(rConstraint.mnRefType);
|
||||
+ sal_Int32 nInferredValue = 0;
|
||||
+ if (aRefType != aRef->second.end())
|
||||
if (aRefType != aRef->second.end())
|
||||
+ {
|
||||
+ // Reference is found directly.
|
||||
+ rProperties[rConstraint.msForName][rConstraint.mnType]
|
||||
+ = aRefType->second * rConstraint.mfFactor;
|
||||
rProperties[rConstraint.msForName][rConstraint.mnType]
|
||||
= aRefType->second * rConstraint.mfFactor;
|
||||
+ }
|
||||
+ else if (InferFromLayoutProperty(aRef->second, rConstraint.mnRefType, nInferredValue))
|
||||
+ {
|
||||
@ -97,40 +92,9 @@ index 24acaf176491..3492ccefaa1a 100644
|
||||
+ rProperties[rConstraint.msForName][rConstraint.mnType]
|
||||
+ = nInferredValue * rConstraint.mfFactor;
|
||||
+ }
|
||||
+ else
|
||||
else
|
||||
{
|
||||
- const LayoutProperty::const_iterator aRefType = aRef->second.find(rConstraint.mnRefType);
|
||||
- if (aRefType != aRef->second.end())
|
||||
- rProperties[rConstraint.msForName][rConstraint.mnType]
|
||||
- = aRefType->second * rConstraint.mfFactor;
|
||||
+ // Reference not found, assume a fixed value.
|
||||
+ // Values are never in EMU, while oox::drawingml::Shape position and size are always in
|
||||
+ // EMU.
|
||||
+ double fUnitFactor = 0;
|
||||
+ if (isFontUnit(rConstraint.mnRefType))
|
||||
+ // Points -> EMU.
|
||||
+ fUnitFactor = EMU_PER_PT;
|
||||
else
|
||||
- {
|
||||
- // Values are never in EMU, while oox::drawingml::Shape position and size are always in
|
||||
- // EMU.
|
||||
- double fUnitFactor = 0;
|
||||
- if (isFontUnit(rConstraint.mnRefType))
|
||||
- // Points -> EMU.
|
||||
- fUnitFactor = EMU_PER_PT;
|
||||
- else
|
||||
- // Millimeters -> EMU.
|
||||
- fUnitFactor = EMU_PER_HMM * 100;
|
||||
- rProperties[rConstraint.msForName][rConstraint.mnType]
|
||||
- = rConstraint.mfValue * fUnitFactor;
|
||||
- }
|
||||
+ // Millimeters -> EMU.
|
||||
+ fUnitFactor = EMU_PER_HMM * 100;
|
||||
+ rProperties[rConstraint.msForName][rConstraint.mnType]
|
||||
+ = rConstraint.mfValue * fUnitFactor;
|
||||
}
|
||||
}
|
||||
|
||||
--
|
||||
2.26.2
|
||||
|
||||
// Values are never in EMU, while oox::drawingml::Shape position and size are always in
|
||||
// EMU.
|
||||
double fUnitFactor = 0;
|
||||
|
@ -1,79 +0,0 @@
|
||||
From 0bd430959f1605cb7ab5ab2efdb4b6fd217cd8c2 Mon Sep 17 00:00:00 2001
|
||||
From: Miklos Vajna <vmiklos@collabora.com>
|
||||
Date: Wed, 6 Jan 2021 10:23:44 +0100
|
||||
Subject: [PATCH] bsc1178807.diff
|
||||
|
||||
tdf#134288 svx: fix rendering of text on a zero-width shape
|
||||
|
||||
We have conflicting requirements here: on one hand, the shape is zero
|
||||
width, so the text area is also zero. On the other hand, we put some
|
||||
text on the shape, which should be visible.
|
||||
|
||||
The result was that the left/right text margin (2x250 mm100) was counted
|
||||
as part of the text area, so we put a few (but not 1) characters / line
|
||||
for zero width. Fix this to be PowerPoint-compatible: as the width
|
||||
decreases, we break the text up to more and more lines, but if the width
|
||||
is 0, then we don't break it up at all.
|
||||
|
||||
An alternative would be to do this later in
|
||||
SdrTextObj::impDecomposeBlockTextPrimitive(), but there we no longer
|
||||
know the width is really 0, because the text margins and some small
|
||||
increase (+1 to be an inclusive range, +1 to have a non-zero scale) is
|
||||
already added to the original width.
|
||||
|
||||
(cherry picked from commit 65e2ef43f186164729e1cc071b805bc1a7125cfe)
|
||||
|
||||
Conflicts:
|
||||
svx/qa/unit/sdr.cxx
|
||||
|
||||
Change-Id: Ieaa3e726bc5d37983b6221452e14f01db315f790
|
||||
---
|
||||
.../sdr/primitive2d/sdrdecompositiontools.cxx | 28 +++++++++++++++++--
|
||||
1 file changed, 26 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/svx/source/sdr/primitive2d/sdrdecompositiontools.cxx b/svx/source/sdr/primitive2d/sdrdecompositiontools.cxx
|
||||
index 2ee2bb625e2d..801190f5e92a 100644
|
||||
--- a/svx/source/sdr/primitive2d/sdrdecompositiontools.cxx
|
||||
+++ b/svx/source/sdr/primitive2d/sdrdecompositiontools.cxx
|
||||
@@ -278,12 +278,36 @@ namespace drawinglayer::primitive2d
|
||||
|
||||
// create a range describing the wanted text position and size (aTextAnchorRange). This
|
||||
// means to use the text distance values here
|
||||
- const basegfx::B2DPoint aTopLeft(aSnapRange.getMinX() + rText.getTextLeftDistance(), aSnapRange.getMinY() + rText.getTextUpperDistance());
|
||||
- const basegfx::B2DPoint aBottomRight(aSnapRange.getMaxX() - rText.getTextRightDistance(), aSnapRange.getMaxY() - rText.getTextLowerDistance());
|
||||
+ sal_Int32 nTextLeftDistance = rText.getTextLeftDistance();
|
||||
+ // If the margin is larger than the entire width of the text area, then limit the
|
||||
+ // margin.
|
||||
+ if (nTextLeftDistance > aSnapRange.getWidth())
|
||||
+ nTextLeftDistance = aSnapRange.getWidth();
|
||||
+ sal_Int32 nTextRightDistance = rText.getTextRightDistance();
|
||||
+ if (nTextRightDistance > aSnapRange.getWidth())
|
||||
+ nTextRightDistance = aSnapRange.getWidth();
|
||||
+ const basegfx::B2DPoint aTopLeft(aSnapRange.getMinX() + nTextLeftDistance,
|
||||
+ aSnapRange.getMinY()
|
||||
+ + rText.getTextUpperDistance());
|
||||
+ const basegfx::B2DPoint aBottomRight(aSnapRange.getMaxX() - nTextRightDistance,
|
||||
+ aSnapRange.getMaxY()
|
||||
+ - rText.getTextLowerDistance());
|
||||
basegfx::B2DRange aTextAnchorRange;
|
||||
aTextAnchorRange.expand(aTopLeft);
|
||||
aTextAnchorRange.expand(aBottomRight);
|
||||
|
||||
+ if (aTextAnchorRange.getWidth() == 0)
|
||||
+ {
|
||||
+ // If the shape has no width, then don't attempt to break the text into multiple
|
||||
+ // lines, not a single character would satisfy a zero width requirement.
|
||||
+ // SdrTextObj::impDecomposeBlockTextPrimitive() uses the same constant to
|
||||
+ // effectively set no limits.
|
||||
+ aTextAnchorRange.expand(
|
||||
+ basegfx::B2DPoint(aTopLeft.getX() - 1000000, aTopLeft.getY()));
|
||||
+ aTextAnchorRange.expand(
|
||||
+ basegfx::B2DPoint(aBottomRight.getX() + 1000000, aBottomRight.getY()));
|
||||
+ }
|
||||
+
|
||||
// now create a transformation from this basic range (aTextAnchorRange)
|
||||
// #i121494# if we have no scale use at least 1.0 to have a carrier e.g. for
|
||||
// mirror values, else these will get lost
|
||||
--
|
||||
2.26.2
|
||||
|
312
bsc1178943.diff
312
bsc1178943.diff
@ -1,312 +0,0 @@
|
||||
From 39a94b9b25ff886ff058e333cb24687cfb4442f1 Mon Sep 17 00:00:00 2001
|
||||
From: Miklos Vajna <vmiklos@collabora.com>
|
||||
Date: Mon, 14 Dec 2020 12:15:09 +0100
|
||||
Subject: [PATCH] bsc1178943.diff
|
||||
|
||||
This is a combination of 3 commits.
|
||||
This is the 1st commit message:
|
||||
|
||||
tdf#129961 cui: start UI for table shadow as direct format
|
||||
|
||||
It reads from the doc model and shows it, but doesn't write it back yet.
|
||||
|
||||
(cherry picked from commit 74ba28fe238b7f15d1fb7d119e4cef3a7b544e0b)
|
||||
|
||||
This is the commit message #2:
|
||||
|
||||
tdf#129961 svx: finish UI for table shadow as direct format
|
||||
|
||||
Normally properties on an SdrObject is set using SetAttributes(), but
|
||||
that would take the selection controller into account, so we would call
|
||||
SvxTableController::SetAttributes(), which sets the item set on the
|
||||
selected cells instead. So use SetAttrToMarked() instead, which works on
|
||||
the shape's item set, even in the table case. Don't replace all existing
|
||||
items because we only have shadow properties here and also a disabled
|
||||
shadow is still a (set) SdrOnOffItem (with value=false), so no old
|
||||
SdrOnOffItem will be forgotten in the shape's item set.
|
||||
|
||||
Also add an outer undo grouping, so once the user presses OK in the
|
||||
table properties dialog, we only create a single user-visible undo
|
||||
action, not two.
|
||||
|
||||
(cherry picked from commit fdeb04f7c59cf8032fe17072ed779e70505cc6ab)
|
||||
|
||||
Conflicts:
|
||||
svx/source/table/tablecontroller.cxx
|
||||
|
||||
This is the commit message #3:
|
||||
|
||||
tdf#129961 oox: add PPTX export for table shadow as direct format
|
||||
|
||||
Custom shapes export shadow as part of WriteShapeEffects(), so use the
|
||||
same for table shapes as well.
|
||||
|
||||
This needs fixing the effect export up a bit, because table shapes have
|
||||
no interop grab-bag, glow or soft edge properties, but the rest of the
|
||||
code can be shared.
|
||||
|
||||
(cherry picked from commit 252cdd5f43d65095543e317d37e1a0ea4fd839e0)
|
||||
|
||||
Conflicts:
|
||||
oox/qa/unit/drawingml.cxx
|
||||
|
||||
Change-Id: Icf0b90c5b44e3d9c4115c9f3b0d56ba0852ab640
|
||||
---
|
||||
cui/source/dialogs/sdrcelldlg.cxx | 7 ++++
|
||||
cui/source/inc/sdrcelldlg.hxx | 2 +
|
||||
cui/uiconfig/ui/formatcellsdialog.ui | 48 +++++++++++++++++++++++
|
||||
include/svx/sdr/table/tablecontroller.hxx | 1 +
|
||||
oox/source/export/drawingml.cxx | 13 +++++-
|
||||
oox/source/export/shapes.cxx | 4 +-
|
||||
svx/source/table/tablecontroller.cxx | 45 ++++++++++++++++++++-
|
||||
7 files changed, 117 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/cui/source/dialogs/sdrcelldlg.cxx b/cui/source/dialogs/sdrcelldlg.cxx
|
||||
index 3c745692f7ea..fda8b4ce1385 100644
|
||||
--- a/cui/source/dialogs/sdrcelldlg.cxx
|
||||
+++ b/cui/source/dialogs/sdrcelldlg.cxx
|
||||
@@ -27,6 +27,7 @@ SvxFormatCellsDialog::SvxFormatCellsDialog(weld::Window* pParent, const SfxItemS
|
||||
: SfxTabDialogController(pParent, "cui/ui/formatcellsdialog.ui", "FormatCellsDialog", pAttr)
|
||||
, mrOutAttrs(*pAttr)
|
||||
, mpColorTab(rModel.GetColorList())
|
||||
+ , mnColorTabState ( ChangeType::NONE )
|
||||
, mpGradientList(rModel.GetGradientList())
|
||||
, mpHatchingList(rModel.GetHatchList())
|
||||
, mpBitmapList(rModel.GetBitmapList())
|
||||
@@ -36,6 +37,7 @@ SvxFormatCellsDialog::SvxFormatCellsDialog(weld::Window* pParent, const SfxItemS
|
||||
AddTabPage("effects", RID_SVXPAGE_CHAR_EFFECTS);
|
||||
AddTabPage("border", RID_SVXPAGE_BORDER );
|
||||
AddTabPage("area", RID_SVXPAGE_AREA);
|
||||
+ AddTabPage("shadow", SvxShadowTabPage::Create, nullptr);
|
||||
}
|
||||
|
||||
void SvxFormatCellsDialog::PageCreated(const OString& rId, SfxTabPage &rPage)
|
||||
@@ -55,6 +57,11 @@ void SvxFormatCellsDialog::PageCreated(const OString& rId, SfxTabPage &rPage)
|
||||
SvxBorderTabPage& rBorderPage = static_cast<SvxBorderTabPage&>(rPage);
|
||||
rBorderPage.SetTableMode();
|
||||
}
|
||||
+ else if (rId == "shadow")
|
||||
+ {
|
||||
+ static_cast<SvxShadowTabPage&>(rPage).SetColorList( mpColorTab );
|
||||
+ static_cast<SvxShadowTabPage&>(rPage).SetColorChgd( &mnColorTabState );
|
||||
+ }
|
||||
else
|
||||
SfxTabDialogController::PageCreated(rId, rPage);
|
||||
}
|
||||
diff --git a/cui/source/inc/sdrcelldlg.hxx b/cui/source/inc/sdrcelldlg.hxx
|
||||
index 50ab4b39ac70..9f068d552393 100644
|
||||
--- a/cui/source/inc/sdrcelldlg.hxx
|
||||
+++ b/cui/source/inc/sdrcelldlg.hxx
|
||||
@@ -23,6 +23,7 @@
|
||||
|
||||
#include <sfx2/tabdlg.hxx>
|
||||
#include <svx/xtable.hxx>
|
||||
+#include <svx/tabarea.hxx>
|
||||
|
||||
class SdrModel;
|
||||
class SvxFormatCellsDialog : public SfxTabDialogController
|
||||
@@ -31,6 +32,7 @@ private:
|
||||
const SfxItemSet& mrOutAttrs;
|
||||
|
||||
XColorListRef mpColorTab;
|
||||
+ ChangeType mnColorTabState;
|
||||
XGradientListRef mpGradientList;
|
||||
XHatchListRef mpHatchingList;
|
||||
XBitmapListRef mpBitmapList;
|
||||
diff --git a/cui/uiconfig/ui/formatcellsdialog.ui b/cui/uiconfig/ui/formatcellsdialog.ui
|
||||
index 82243f0bad10..49dfc705483c 100644
|
||||
--- a/cui/uiconfig/ui/formatcellsdialog.ui
|
||||
+++ b/cui/uiconfig/ui/formatcellsdialog.ui
|
||||
@@ -281,6 +281,54 @@
|
||||
<property name="tab_fill">False</property>
|
||||
</packing>
|
||||
</child>
|
||||
+ <child>
|
||||
+ <!-- n-columns=1 n-rows=1 -->
|
||||
+ <object class="GtkGrid">
|
||||
+ <property name="visible">True</property>
|
||||
+ <property name="can_focus">False</property>
|
||||
+ <child>
|
||||
+ <placeholder/>
|
||||
+ </child>
|
||||
+ <child>
|
||||
+ <placeholder/>
|
||||
+ </child>
|
||||
+ <child>
|
||||
+ <placeholder/>
|
||||
+ </child>
|
||||
+ <child>
|
||||
+ <placeholder/>
|
||||
+ </child>
|
||||
+ <child>
|
||||
+ <placeholder/>
|
||||
+ </child>
|
||||
+ <child>
|
||||
+ <placeholder/>
|
||||
+ </child>
|
||||
+ <child>
|
||||
+ <placeholder/>
|
||||
+ </child>
|
||||
+ <child>
|
||||
+ <placeholder/>
|
||||
+ </child>
|
||||
+ <child>
|
||||
+ <placeholder/>
|
||||
+ </child>
|
||||
+ </object>
|
||||
+ <packing>
|
||||
+ <property name="position">4</property>
|
||||
+ </packing>
|
||||
+ </child>
|
||||
+ <child type="tab">
|
||||
+ <object class="GtkLabel" id="shadow">
|
||||
+ <property name="visible">True</property>
|
||||
+ <property name="can_focus">False</property>
|
||||
+ <property name="label" translatable="yes" context="formatcellsdialog|shadow">Shadow</property>
|
||||
+ </object>
|
||||
+ <packing>
|
||||
+ <property name="position">5</property>
|
||||
+ <property name="tab_fill">False</property>
|
||||
+ </packing>
|
||||
+ </child>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">False</property>
|
||||
diff --git a/include/svx/sdr/table/tablecontroller.hxx b/include/svx/sdr/table/tablecontroller.hxx
|
||||
index f34499a05991..3d94dcfb08b7 100644
|
||||
--- a/include/svx/sdr/table/tablecontroller.hxx
|
||||
+++ b/include/svx/sdr/table/tablecontroller.hxx
|
||||
@@ -85,6 +85,7 @@ public:
|
||||
|
||||
SVX_DLLPRIVATE void MergeAttrFromSelectedCells(SfxItemSet& rAttr, bool bOnlyHardAttr) const;
|
||||
SVX_DLLPRIVATE void SetAttrToSelectedCells(const SfxItemSet& rAttr, bool bReplaceAll);
|
||||
+ void SetAttrToSelectedShape(const SfxItemSet& rAttr);
|
||||
/** Fill the values that are common for all selected cells.
|
||||
*
|
||||
* This lets the Borders dialog to display the line arrangement
|
||||
diff --git a/oox/source/export/drawingml.cxx b/oox/source/export/drawingml.cxx
|
||||
index de2d34979471..177cb010d180 100644
|
||||
--- a/oox/source/export/drawingml.cxx
|
||||
+++ b/oox/source/export/drawingml.cxx
|
||||
@@ -3773,7 +3773,8 @@ static sal_Int32 lcl_CalculateDir(const double dX, const double dY)
|
||||
void DrawingML::WriteShapeEffects( const Reference< XPropertySet >& rXPropSet )
|
||||
{
|
||||
Sequence< PropertyValue > aGrabBag, aEffects, aOuterShdwProps;
|
||||
- if( GetProperty( rXPropSet, "InteropGrabBag" ) )
|
||||
+ bool bHasInteropGrabBag = rXPropSet->getPropertySetInfo()->hasPropertyByName("InteropGrabBag");
|
||||
+ if (bHasInteropGrabBag && GetProperty(rXPropSet, "InteropGrabBag"))
|
||||
{
|
||||
mAny >>= aGrabBag;
|
||||
auto pProp = std::find_if(std::cbegin(aGrabBag), std::cend(aGrabBag),
|
||||
@@ -3912,6 +3913,11 @@ void DrawingML::WriteShapeEffects( const Reference< XPropertySet >& rXPropSet )
|
||||
|
||||
void DrawingML::WriteGlowEffect(const Reference< XPropertySet >& rXPropSet)
|
||||
{
|
||||
+ if (!rXPropSet->getPropertySetInfo()->hasPropertyByName("GlowEffectRadius"))
|
||||
+ {
|
||||
+ return;
|
||||
+ }
|
||||
+
|
||||
sal_Int32 nRad = 0;
|
||||
rXPropSet->getPropertyValue("GlowEffectRadius") >>= nRad;
|
||||
if (!nRad)
|
||||
@@ -3934,6 +3940,11 @@ void DrawingML::WriteGlowEffect(const Reference< XPropertySet >& rXPropSet)
|
||||
|
||||
void DrawingML::WriteSoftEdgeEffect(const css::uno::Reference<css::beans::XPropertySet>& rXPropSet)
|
||||
{
|
||||
+ if (!rXPropSet->getPropertySetInfo()->hasPropertyByName("SoftEdgeRadius"))
|
||||
+ {
|
||||
+ return;
|
||||
+ }
|
||||
+
|
||||
sal_Int32 nRad = 0;
|
||||
rXPropSet->getPropertyValue("SoftEdgeRadius") >>= nRad;
|
||||
if (!nRad)
|
||||
diff --git a/oox/source/export/shapes.cxx b/oox/source/export/shapes.cxx
|
||||
index 6828bc629152..255d7ea55b44 100644
|
||||
--- a/oox/source/export/shapes.cxx
|
||||
+++ b/oox/source/export/shapes.cxx
|
||||
@@ -1609,7 +1609,9 @@ void ShapeExport::WriteTable( const Reference< XShape >& rXShape )
|
||||
if ( xPropSet.is() && ( xPropSet->getPropertyValue( "Model" ) >>= xTable ) )
|
||||
{
|
||||
mpFS->startElementNS(XML_a, XML_tbl);
|
||||
- mpFS->singleElementNS(XML_a, XML_tblPr);
|
||||
+ mpFS->startElementNS(XML_a, XML_tblPr);
|
||||
+ WriteShapeEffects(xPropSet);
|
||||
+ mpFS->endElementNS(XML_a, XML_tblPr);
|
||||
|
||||
Reference< container::XIndexAccess > xColumns( xTable->getColumns(), UNO_QUERY_THROW );
|
||||
Reference< container::XIndexAccess > xRows( xTable->getRows(), UNO_QUERY_THROW );
|
||||
diff --git a/svx/source/table/tablecontroller.cxx b/svx/source/table/tablecontroller.cxx
|
||||
index 9fa0c057565e..003cbd852b20 100644
|
||||
--- a/svx/source/table/tablecontroller.cxx
|
||||
+++ b/svx/source/table/tablecontroller.cxx
|
||||
@@ -911,6 +911,18 @@ void SvxTableController::onFormatTable(const SfxRequest& rReq)
|
||||
aNewAttr.Put( aBoxItem );
|
||||
aNewAttr.Put( aBoxInfoItem );
|
||||
|
||||
+ // Fill in shadow properties.
|
||||
+ const SfxItemSet& rTableItemSet = rTableObj.GetMergedItemSet();
|
||||
+ for (sal_uInt16 nWhich = SDRATTR_SHADOW_FIRST; nWhich <= SDRATTR_SHADOW_LAST; ++nWhich)
|
||||
+ {
|
||||
+ if (rTableItemSet.GetItemState(nWhich, false) != SfxItemState::SET)
|
||||
+ {
|
||||
+ continue;
|
||||
+ }
|
||||
+
|
||||
+ aNewAttr.Put(rTableItemSet.Get(nWhich));
|
||||
+ }
|
||||
+
|
||||
SvxAbstractDialogFactory* pFact = SvxAbstractDialogFactory::Create();
|
||||
ScopedVclPtr<SfxAbstractTabDialog> xDlg( pFact->CreateSvxFormatCellsDialog(
|
||||
rReq.GetFrameWeld(),
|
||||
@@ -950,7 +962,26 @@ void SvxTableController::onFormatTable(const SfxRequest& rReq)
|
||||
if( aNewBoxItem.GetDistance( SvxBoxItemLine::BOTTOM ) != aBoxItem.GetDistance( SvxBoxItemLine::BOTTOM ) )
|
||||
aNewSet.Put(makeSdrTextLowerDistItem( aNewBoxItem.GetDistance( SvxBoxItemLine::BOTTOM ) ) );
|
||||
|
||||
- SetAttrToSelectedCells(aNewSet, false);
|
||||
+ if (checkTableObject() && mxTable.is())
|
||||
+ {
|
||||
+ // Create a single undo action when applying the result of the dialog.
|
||||
+ SdrTableObj& rTableObject(*mxTableObj);
|
||||
+ SdrModel& rSdrModel(rTableObject.getSdrModelFromSdrObject());
|
||||
+ bool bUndo = rSdrModel.IsUndoEnabled();
|
||||
+ if (bUndo)
|
||||
+ {
|
||||
+ rSdrModel.BegUndo(SvxResId(STR_TABLE_NUMFORMAT));
|
||||
+ }
|
||||
+
|
||||
+ SetAttrToSelectedCells(aNewSet, false);
|
||||
+
|
||||
+ SetAttrToSelectedShape(aNewSet);
|
||||
+
|
||||
+ if (bUndo)
|
||||
+ {
|
||||
+ rSdrModel.EndUndo();
|
||||
+ }
|
||||
+ }
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -2664,6 +2695,18 @@ void SvxTableController::SetAttrToSelectedCells(const SfxItemSet& rAttr, bool bR
|
||||
rModel.EndUndo();
|
||||
}
|
||||
|
||||
+void SvxTableController::SetAttrToSelectedShape(const SfxItemSet& rAttr)
|
||||
+{
|
||||
+ if (!checkTableObject() || !mxTable.is())
|
||||
+ return;
|
||||
+
|
||||
+ // Filter out non-shadow items from rAttr.
|
||||
+ SfxItemSet aSet(*rAttr.GetPool(), svl::Items<SDRATTR_SHADOW_FIRST, SDRATTR_SHADOW_LAST>{});
|
||||
+ aSet.Put(rAttr);
|
||||
+
|
||||
+ // Set shadow items on the marked shape.
|
||||
+ mrView.SetAttrToMarked(aSet, /*bReplaceAll=*/false);
|
||||
+}
|
||||
|
||||
bool SvxTableController::GetAttributes(SfxItemSet& rTargetSet, bool bOnlyHardAttr) const
|
||||
{
|
||||
--
|
||||
2.26.2
|
||||
|
207
bsc1178944.diff
207
bsc1178944.diff
@ -1,207 +0,0 @@
|
||||
From 0f064c28b4d733b3e1b7bee4515015a40cf3b1cc Mon Sep 17 00:00:00 2001
|
||||
From: Miklos Vajna <vmiklos@collabora.com>
|
||||
Date: Tue, 1 Dec 2020 15:16:13 +0100
|
||||
Subject: [PATCH] bsc1178944.diff
|
||||
|
||||
This is a combination of 3 commits.
|
||||
This is the 1st commit message:
|
||||
|
||||
tdf#129961 svx: add UNO API for table shadow as direct format
|
||||
|
||||
Adding it via a style was working already.
|
||||
|
||||
(cherry picked from commit 55d4c6cfe5bd9b737698c6cd1f28ee8234abb5d0)
|
||||
|
||||
Conflicts:
|
||||
svx/source/unodraw/unoprov.cxx
|
||||
|
||||
This is the commit message #2:
|
||||
|
||||
tdf#129961 svx: add rendering for table shadow as direct format
|
||||
|
||||
There was already shadow support in
|
||||
ViewContactOfTableObj::createViewIndependentPrimitive2DSequence(), but
|
||||
the UNO API and UI could only set the shadow properties on a shape
|
||||
style, so shadow-as-direct-format is new.
|
||||
|
||||
One difference between the PowerPoint shadow and our shadow is that we
|
||||
draw shadow for table text as well, while PowerPoint only does it for
|
||||
the borders / cell fill style.
|
||||
|
||||
This means we're either backwards-compatible or compatible with
|
||||
PowerPoint. Solve this problem by leaving the style case unchanged, but
|
||||
render direct formatting like PowerPoint.
|
||||
|
||||
(cherry picked from commit a75bf43a8d6c5dec6dcc86908c142ceec541aa8c)
|
||||
|
||||
Conflicts:
|
||||
svx/source/sdr/primitive2d/sdrdecompositiontools.cxx
|
||||
|
||||
This is the commit message #3:
|
||||
|
||||
tdf#129961 oox: add PPTX import for table shadow as direct format
|
||||
|
||||
PPTX export and ODP filter is still missing.
|
||||
|
||||
(cherry picked from commit b273e82aaa916b0f6198097dc32740faced73741)
|
||||
|
||||
Conflicts:
|
||||
oox/qa/unit/drawingml.cxx
|
||||
|
||||
Change-Id: I451b334ada80d9d228b7d7f36b5f26473b575ef6
|
||||
---
|
||||
oox/source/drawingml/table/tablecontext.cxx | 5 +++
|
||||
.../sdr/primitive2d/sdrdecompositiontools.hxx | 3 +-
|
||||
.../sdr/primitive2d/sdrdecompositiontools.cxx | 5 +--
|
||||
svx/source/table/viewcontactoftableobj.cxx | 34 ++++++++++++++++++-
|
||||
svx/source/unodraw/unoprov.cxx | 1 +
|
||||
5 files changed, 44 insertions(+), 4 deletions(-)
|
||||
|
||||
diff --git a/oox/source/drawingml/table/tablecontext.cxx b/oox/source/drawingml/table/tablecontext.cxx
|
||||
index bbfc94845369..fc2a59c1fa10 100644
|
||||
--- a/oox/source/drawingml/table/tablecontext.cxx
|
||||
+++ b/oox/source/drawingml/table/tablecontext.cxx
|
||||
@@ -24,6 +24,7 @@
|
||||
#include <drawingml/table/tableproperties.hxx>
|
||||
#include <drawingml/table/tablestylecontext.hxx>
|
||||
#include <drawingml/table/tablerowcontext.hxx>
|
||||
+#include "../effectpropertiescontext.hxx"
|
||||
#include <oox/token/namespaces.hxx>
|
||||
#include <oox/token/tokens.hxx>
|
||||
|
||||
@@ -66,6 +67,10 @@ TableContext::onCreateContext( ::sal_Int32 aElementToken, const AttributeList& r
|
||||
rTableStyle = std::make_shared<TableStyle>();
|
||||
return new TableStyleContext( *this, rAttribs, *rTableStyle );
|
||||
}
|
||||
+ case A_TOKEN( effectLst ): // CT_EffectList
|
||||
+ {
|
||||
+ return new EffectPropertiesContext(*this, mpShapePtr->getEffectProperties());
|
||||
+ }
|
||||
case A_TOKEN( tableStyleId ): // ST_Guid
|
||||
return new oox::drawingml::GuidContext( *this, mrTableProperties.getStyleId() );
|
||||
|
||||
diff --git a/svx/inc/sdr/primitive2d/sdrdecompositiontools.hxx b/svx/inc/sdr/primitive2d/sdrdecompositiontools.hxx
|
||||
index e619206303ca..9e8b9fdfe14c 100644
|
||||
--- a/svx/inc/sdr/primitive2d/sdrdecompositiontools.hxx
|
||||
+++ b/svx/inc/sdr/primitive2d/sdrdecompositiontools.hxx
|
||||
@@ -72,7 +72,8 @@ namespace drawinglayer
|
||||
Primitive2DContainer SVXCORE_DLLPUBLIC createEmbeddedShadowPrimitive(
|
||||
const Primitive2DContainer& rContent,
|
||||
const attribute::SdrShadowAttribute& rShadow,
|
||||
- const basegfx::B2DHomMatrix& rObjectMatrix = basegfx::B2DHomMatrix());
|
||||
+ const basegfx::B2DHomMatrix& rObjectMatrix = basegfx::B2DHomMatrix(),
|
||||
+ const Primitive2DContainer* pContentForShadow = nullptr);
|
||||
|
||||
Primitive2DContainer SVXCORE_DLLPUBLIC createEmbeddedGlowPrimitive(
|
||||
const Primitive2DContainer& rContent,
|
||||
diff --git a/svx/source/sdr/primitive2d/sdrdecompositiontools.cxx b/svx/source/sdr/primitive2d/sdrdecompositiontools.cxx
|
||||
index 59b38300d375..2ee2bb625e2d 100644
|
||||
--- a/svx/source/sdr/primitive2d/sdrdecompositiontools.cxx
|
||||
+++ b/svx/source/sdr/primitive2d/sdrdecompositiontools.cxx
|
||||
@@ -485,7 +485,8 @@ namespace drawinglayer::primitive2d
|
||||
Primitive2DContainer createEmbeddedShadowPrimitive(
|
||||
const Primitive2DContainer& rContent,
|
||||
const attribute::SdrShadowAttribute& rShadow,
|
||||
- const basegfx::B2DHomMatrix& rObjectMatrix)
|
||||
+ const basegfx::B2DHomMatrix& rObjectMatrix,
|
||||
+ const Primitive2DContainer* pContentForShadow)
|
||||
{
|
||||
if(!rContent.empty())
|
||||
{
|
||||
@@ -524,7 +525,7 @@ namespace drawinglayer::primitive2d
|
||||
new ShadowPrimitive2D(
|
||||
aShadowOffset,
|
||||
rShadow.getColor(),
|
||||
- rContent));
|
||||
+ (pContentForShadow ? *pContentForShadow : rContent)));
|
||||
|
||||
if(0.0 != rShadow.getTransparence())
|
||||
{
|
||||
diff --git a/svx/source/table/viewcontactoftableobj.cxx b/svx/source/table/viewcontactoftableobj.cxx
|
||||
index fe6d03f1d900..bd950a02f7fb 100644
|
||||
--- a/svx/source/table/viewcontactoftableobj.cxx
|
||||
+++ b/svx/source/table/viewcontactoftableobj.cxx
|
||||
@@ -36,6 +36,7 @@
|
||||
#include <basegfx/matrix/b2dhommatrixtools.hxx>
|
||||
#include <svx/framelink.hxx>
|
||||
#include <svx/framelinkarray.hxx>
|
||||
+#include <svx/sdooitm.hxx>
|
||||
#include <vcl/canvastools.hxx>
|
||||
|
||||
#include <cell.hxx>
|
||||
@@ -205,6 +206,7 @@ namespace sdr::contact
|
||||
// directly to aRetval, Border info to aBorderSequence and added
|
||||
// later to get the correct overlapping
|
||||
drawinglayer::primitive2d::Primitive2DContainer aRetval;
|
||||
+ drawinglayer::primitive2d::Primitive2DContainer aRetvalForShadow;
|
||||
const sal_Int32 nRowCount(xTable->getRowCount());
|
||||
const sal_Int32 nColCount(xTable->getColumnCount());
|
||||
const sal_Int32 nAllCount(nRowCount * nColCount);
|
||||
@@ -317,6 +319,16 @@ namespace sdr::contact
|
||||
aCellMatrix, aAttribute));
|
||||
aRetval.append(xCellReference);
|
||||
}
|
||||
+
|
||||
+ // Create cell primitive without text.
|
||||
+ aAttribute
|
||||
+ = drawinglayer::primitive2d::createNewSdrFillTextAttribute(
|
||||
+ rCellItemSet, nullptr);
|
||||
+ const drawinglayer::primitive2d::Primitive2DReference
|
||||
+ xCellReference(
|
||||
+ new drawinglayer::primitive2d::SdrCellPrimitive2D(
|
||||
+ aCellMatrix, aAttribute));
|
||||
+ aRetvalForShadow.append(xCellReference);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -364,6 +376,10 @@ namespace sdr::contact
|
||||
new drawinglayer::primitive2d::TransformPrimitive2D(
|
||||
aTransform,
|
||||
aCellBorderPrimitives));
|
||||
+
|
||||
+ // Borders are always the same for shadow as well.
|
||||
+ aRetvalForShadow.append(new drawinglayer::primitive2d::TransformPrimitive2D(
|
||||
+ aTransform, aCellBorderPrimitives));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -376,7 +392,23 @@ namespace sdr::contact
|
||||
|
||||
if(!aNewShadowAttribute.isDefault())
|
||||
{
|
||||
- aRetval = drawinglayer::primitive2d::createEmbeddedShadowPrimitive(aRetval, aNewShadowAttribute);
|
||||
+ bool bDirectShadow
|
||||
+ = rObjectItemSet.Get(SDRATTR_SHADOW, /*bSrchInParent=*/false)
|
||||
+ .GetValue();
|
||||
+ if (bDirectShadow)
|
||||
+ {
|
||||
+ // Shadow as direct formatting: no shadow for text, to be compatible
|
||||
+ // with PowerPoint.
|
||||
+ basegfx::B2DHomMatrix aMatrix;
|
||||
+ aRetval = drawinglayer::primitive2d::createEmbeddedShadowPrimitive(
|
||||
+ aRetval, aNewShadowAttribute, aMatrix, &aRetvalForShadow);
|
||||
+ }
|
||||
+ else
|
||||
+ {
|
||||
+ // Shadow as style: shadow for text, to be backwards-compatible.
|
||||
+ aRetval = drawinglayer::primitive2d::createEmbeddedShadowPrimitive(
|
||||
+ aRetval, aNewShadowAttribute);
|
||||
+ }
|
||||
}
|
||||
}
|
||||
|
||||
diff --git a/svx/source/unodraw/unoprov.cxx b/svx/source/unodraw/unoprov.cxx
|
||||
index 037c5898b1f3..5ca622ce8d39 100644
|
||||
--- a/svx/source/unodraw/unoprov.cxx
|
||||
+++ b/svx/source/unodraw/unoprov.cxx
|
||||
@@ -740,6 +740,7 @@ static SfxItemPropertyMapEntry const * ImplGetSvxTableShapePropertyMap()
|
||||
{
|
||||
static SfxItemPropertyMapEntry const aTableShapePropertyMap_Impl[] =
|
||||
{
|
||||
+ SHADOW_PROPERTIES
|
||||
{ OUString(UNO_NAME_MISC_OBJ_ZORDER), OWN_ATTR_ZORDER, cppu::UnoType<sal_Int32>::get(), 0, 0},
|
||||
{ OUString(UNO_NAME_MISC_OBJ_LAYERID), SDRATTR_LAYERID, cppu::UnoType<sal_Int16>::get(), 0, 0},
|
||||
{ OUString(UNO_NAME_MISC_OBJ_LAYERNAME), SDRATTR_LAYERNAME, cppu::UnoType<OUString>::get(), 0, 0},
|
||||
--
|
||||
2.26.2
|
||||
|
@ -1,43 +0,0 @@
|
||||
From 9a10330ff8fb0499ed8b0a91563b3c7f62b94096 Mon Sep 17 00:00:00 2001
|
||||
From: Miklos Vajna <vmiklos@collabora.com>
|
||||
Date: Tue, 12 Jan 2021 10:13:14 +0100
|
||||
Subject: [PATCH] bsc1179025.diff
|
||||
|
||||
oox smartart: fix crash in pyra algorithm with a single child shape
|
||||
|
||||
Regression from commit 14a56533ff2c9c859d22cd3039ada75b99e94bc0
|
||||
(SmartArt Pyramid: Now lays out shapes, 2018-07-10), the added pyramid
|
||||
algorithm by first centering the topmost children, then decrementing the
|
||||
horizontal postion of each additional shape, with the end goal of having
|
||||
0 horizontal position of the last children.
|
||||
|
||||
This means that simply avoiding the division in the 1-child case leads
|
||||
to correct results, because in this case the only child is also the last
|
||||
child at the sane time.
|
||||
|
||||
(cherry picked from commit f2e04fe98e313cffa3f98d55eae641415142a431)
|
||||
|
||||
Change-Id: Ifd0027e9616b0909dbfde43e1555427b50de4dad
|
||||
---
|
||||
oox/source/drawingml/diagram/diagramlayoutatoms.cxx | 5 ++++-
|
||||
1 file changed, 4 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/oox/source/drawingml/diagram/diagramlayoutatoms.cxx b/oox/source/drawingml/diagram/diagramlayoutatoms.cxx
|
||||
index 7f926cc9a5e8..24acaf176491 100644
|
||||
--- a/oox/source/drawingml/diagram/diagramlayoutatoms.cxx
|
||||
+++ b/oox/source/drawingml/diagram/diagramlayoutatoms.cxx
|
||||
@@ -1286,7 +1286,10 @@ void AlgAtom::layoutShape(const ShapePtr& rShape, const std::vector<Constraint>&
|
||||
for (auto & aCurrShape : rShape->getChildren())
|
||||
{
|
||||
aCurrShape->setPosition(aCurrPos);
|
||||
- aCurrPos.X -= aChildSize.Height/(nCount-1);
|
||||
+ if (nCount > 1)
|
||||
+ {
|
||||
+ aCurrPos.X -= aChildSize.Height / (nCount - 1);
|
||||
+ }
|
||||
aChildSize.Width += aChildSize.Height;
|
||||
aCurrShape->setSize(aChildSize);
|
||||
aCurrShape->setChildSize(aChildSize);
|
||||
--
|
||||
2.26.2
|
||||
|
3
gpgme-1.13.1.tar.bz2
Normal file
3
gpgme-1.13.1.tar.bz2
Normal file
@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:c4e30b227682374c23cddc7fdb9324a99694d907e79242a25a4deeedb393be46
|
||||
size 1759616
|
@ -1,3 +0,0 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:1b29fedb8bfad775e70eafac5b0590621683b2d9869db994568e6401f4034ceb
|
||||
size 1344222
|
@ -1,3 +0,0 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:47f96c37b4f2aac289f0bc1bacfa8bd8b4b209a488d3d15e2229cb6cc9b26449
|
||||
size 564857
|
3
libassuan-2.5.3.tar.bz2
Normal file
3
libassuan-2.5.3.tar.bz2
Normal file
@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:91bcb0403866b4e7c4bc1cc52ed4c364a9b5414b3994f718c70303f7f765e702
|
||||
size 572348
|
@ -1,3 +0,0 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:4f93aac6fecb7da2b92871bb9ee33032be6a87b174f54abf8ddf0911a22d29d2
|
||||
size 813060
|
3
libgpg-error-1.37.tar.bz2
Normal file
3
libgpg-error-1.37.tar.bz2
Normal file
@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:b32d6ff72a73cf79797f7f2d039e95e9c6f92f0c1450215410840ab62aea9763
|
||||
size 937282
|
@ -1,3 +0,0 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:9fa9d2cc8d02f12b1f302b93056d5c0ff986090a6f309bafa506ba53779f2abd
|
||||
size 236477520
|
@ -1,16 +0,0 @@
|
||||
-----BEGIN PGP SIGNATURE-----
|
||||
|
||||
iQIzBAABCAAdFiEEwoOeytlAj76VMcPp9DSh76/urqMFAl/RI2oACgkQ9DSh76/u
|
||||
rqOXKg/9FeoKe06dAcmxnSNF0w+hVzWYG/EaGz1aJKFu8F79z+i5/djeX1+esraH
|
||||
DC8tB6kTYFf2i3cTYT2JfjDfwwpHEKENPeePxLa8LQROmpDklK6X76s+ZgKZ/XAx
|
||||
rQj/RojCCKVcdLZ9qq9MtNndQZ9gEjMZLsj6ZPw+LWAtJzLPzu9cY7FzCg5HtT88
|
||||
EX/1OKUe9yW+Xeasg8zv7cqmg/NgAr+zV76/eSwd6XHbnlHVAkTX+TpQw9woi6yb
|
||||
5MsNsnpQNUi2/OVm8+NaXOsW2aCXPPrwSWR9M9Zntd5N3H+syTQdWwzBXYih8v9l
|
||||
+oLxGeWa0+Cyx10FvrGe1bGZROlK75VHQXMyefaDoi6aDUnRs25y3fppyISRQBoy
|
||||
9sIt9a355+DiUuxhOwSpn1Myf0gXO3gTjFvNF5yZ+9OQe50Fvp4X508OhRPt4kaQ
|
||||
vKoWTAKc+bq1L29jhlgjnspretarJYJoyAvtSYee+vuMrpn9N63Gvkvp5YAw+Cmp
|
||||
dK1l7Q3oMYtBid9JTupW3NRTIDjTGn/8HlMeyHE+09G4qG4f81e8B1ZFxt/+35Ba
|
||||
SHl1mx+9Kq+9YHPD1XLXetLYh7EWH8+e0UN0Cgc7SxvWQFhi3iZ5s8+UZ5RasWzh
|
||||
cEt+Ih+GTqhPk+1NuloxtJ66VNhdOa4KxQoO/HOMCsJCtVXMdtU=
|
||||
=PY7u
|
||||
-----END PGP SIGNATURE-----
|
3
libreoffice-7.1.0.3.tar.xz
Normal file
3
libreoffice-7.1.0.3.tar.xz
Normal file
@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:9ed0833f349da3f7b27f54fa24da388dc6a84079935322b305a7a2171e48f3e6
|
||||
size 243091304
|
16
libreoffice-7.1.0.3.tar.xz.asc
Normal file
16
libreoffice-7.1.0.3.tar.xz.asc
Normal file
@ -0,0 +1,16 @@
|
||||
-----BEGIN PGP SIGNATURE-----
|
||||
|
||||
iQIzBAABCAAdFiEEwoOeytlAj76VMcPp9DSh76/urqMFAmARy2IACgkQ9DSh76/u
|
||||
rqM31BAAv+Bnrsex7cWAY+U2zY3wjdfBmxAFPcqDU05/OM4OBWkdOMFYhM5qwMdl
|
||||
C0LccF4YchWyayfKIkF5OB4S2ZcJ9suWph7OdNdvZzh94SHlkaNbMGyv/iWtImRr
|
||||
fw9JXDPsdfDiSOiTCtu5kL8OUcQKI0dsEpdCJ499/ra9I+RCW4Vz4F3ThgtTJkGs
|
||||
Zom2vbRTvP5dTne+hVlkaN1oPyZ038BsFtJXr+he4slHkOQIPqTJ5d6btcViBWu2
|
||||
aRULg5L+C4e30UY9SvcO6rl9X8Sl7NJGbnJd1obJKXLeSg4eAV9x3D4xfldJP0jt
|
||||
343TX2uvklMqRIZfIZwF4ZjT6PeUL6upUWT+8a15gcaI6YZ85RQXqbKXijXLoBEe
|
||||
UkFzx+/kq0WYu+qd8BgOpfOgnj4AI9JMePfUZYW5RH/dTdXQYsTT33CMt8qFd9mf
|
||||
6FXPNtIqkn9S7FdekhA8SO1HfvWmyLtaJNl9EfpI7o1srpoDTtlfXnwibxu/3owN
|
||||
AVrid7XAIRKUbUgCi7VKQuv5H+GGaf7d8Nf885NRxmv8Bx5WWDzvxwHHczaNl8Sz
|
||||
C8nMHl4Y2o2zJQbkUDKo+wMpEjfnGHF7qfUUs0e2A0MMPVautLlN9yYIqM+AO+Ww
|
||||
xwHEGSE6gkhz9sIYZ/BibwmAoQp9JC8At50elbafg4dk0GaKV4c=
|
||||
=IqlL
|
||||
-----END PGP SIGNATURE-----
|
@ -1,3 +0,0 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:0b6353221594937c482eaad078c67139455776bce6ab42df9b22709ed271e9da
|
||||
size 110758084
|
@ -1,16 +0,0 @@
|
||||
-----BEGIN PGP SIGNATURE-----
|
||||
|
||||
iQIzBAABCAAdFiEEwoOeytlAj76VMcPp9DSh76/urqMFAl/RI3MACgkQ9DSh76/u
|
||||
rqONrBAAhl/c0TmAhHZ5M/iIcZrOwzpcM6LOCUNXT5WW8pUgRPnmYMil82ejQ9cL
|
||||
SpG240LK5Vn+8pJrEnSfxvFxnhadXzCsDoM2LKevMznLXaIKD1AxbxkUqqcyktgh
|
||||
U8xeA1QCX2B3ihLZiTNttrGkvo/GLDtKzeE9xVHARVQtI+xDeAHTDp+2PQmyTyoG
|
||||
D7NeeNy4GRwQFKG25NLq06U2e39WvlFtuZz/c9UbzTZuRVKY2p8gYAt1hMzP/l3o
|
||||
g6jRs0fTYOwLPz7qA95wujY2WL30ZV032l/1TIHN/fBLk07wJpjtStM9aQgvu+BA
|
||||
dVqFEKUVbz7xx1rhMMW7nVI5zBi9TTn1421/TGCZnqtwplO83HHflMKO+PGOtKNe
|
||||
u2B44F+c6+zSlc+XcWnmiuhRlIW7M8HU4x5q/0LMLn9KNd6Y4WHyIITvnV6I3gW2
|
||||
mQpslxDRFHhCXZIy/ZOWF+ZHr+YwOfDIPCTgo/hIsXHZ3nri+RdjNFkPdx+0b4nD
|
||||
aWHiSrM3CRS8oIsrmZeDnPEXRGVhiAebeqQT/ned5VS8JFVXWEa8fYnz/onh3hDp
|
||||
2ryhq4EKOc/MO7q5XQJ8suvvB11hcJlkVrWmz0rEPdu1jGPjdrharK1yDgUHvKx2
|
||||
bLG4xTtMXnDTXZDYKZXqMHpuSgXdqA/Pa2fU391QTsmATWtc1nU=
|
||||
=wZP+
|
||||
-----END PGP SIGNATURE-----
|
3
libreoffice-help-7.1.0.3.tar.xz
Normal file
3
libreoffice-help-7.1.0.3.tar.xz
Normal file
@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:698ae21765ae1e2df8bbc3b448fe88437055402708f6afe3ed6f746491887acf
|
||||
size 111785796
|
16
libreoffice-help-7.1.0.3.tar.xz.asc
Normal file
16
libreoffice-help-7.1.0.3.tar.xz.asc
Normal file
@ -0,0 +1,16 @@
|
||||
-----BEGIN PGP SIGNATURE-----
|
||||
|
||||
iQIzBAABCAAdFiEEwoOeytlAj76VMcPp9DSh76/urqMFAmARy24ACgkQ9DSh76/u
|
||||
rqPRdw//V71OahEGdMTJSNm1VyRLOIfEfKLayN956FB6WyFRhmZz6bMXgkZhMpCv
|
||||
NAjLZSQSlcfCFl5344Zf1ilPmohAa13TEZ5Hb3yux6+xj/SDqGc2wQpeugj7NeVN
|
||||
GvjBqVT71awlp7CgSCy7aefiSA/b/MzRV3SAJrqRexa26uNcTjKJgQEBWc45pEL0
|
||||
boAjGTSgemD4b0qSV/x/BYNPvYUjSs0HNI4TPwtJfCnI+CXsVQnDEAUWpVL2HKBd
|
||||
wB+oK/lEulNmCzqIBsMIAEDpjWoiASet+EmgOdRHqcdUy09kKEml8cNcL+D9N9j4
|
||||
aRCojy1UH2F8VvcdWUXb68XndKI1nShQu/zFowf8MDhvzpH3byRcFUfAKnNaFieV
|
||||
alfEfQYa/BKkr9ZWCQcwdB1ts0hXQOUFgRCe0j2S29vozmdyszVghRFANU5z7kCG
|
||||
vWzRVDu1EUa7QZcOG7jLBBTC1SCIwCSdwy8xqPpzitq9XfllVqvQPf+OJR/Z6aai
|
||||
eFQUugTkSGOgD0v1FP294R6JWuXsaAPVmpEUJ4znpiboE95mrQyGUbaP53Sk7r+k
|
||||
i71K4WmOi/JE7ySCy2KiVt1r5pqn/B1vCi2aGa0SXmzYLu9Pkk7fmeQnGMH+MQYX
|
||||
T1hcKpsHUpLp5J2zt5Xk/y77z2HrgrzKgHKi/l1bLYMkJQs0NBA=
|
||||
=PMC5
|
||||
-----END PGP SIGNATURE-----
|
@ -1,3 +0,0 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:544b1a1b4ca795842fb0e4e5eee68f94dd16b10ca4c3c84b1be85467cabc73ec
|
||||
size 175341984
|
@ -1,16 +0,0 @@
|
||||
-----BEGIN PGP SIGNATURE-----
|
||||
|
||||
iQIzBAABCAAdFiEEwoOeytlAj76VMcPp9DSh76/urqMFAl/RI3QACgkQ9DSh76/u
|
||||
rqMVaRAAp0ojV+HOEpLbwY7vm0tdUszOjRE/ytynpUfMvF83/Ddn2yLh6TDHeq92
|
||||
wcd7VZVGonclX3w8rmpVD2TPCK0a6AWSMHS1p1HOhz4nDP5u796xgHrDS6dhfMYS
|
||||
xLOA4yh2HB2e+Zb968W7qSnGFBtVI68qk4qb0g/eJSThoMeFhoij1EGBynzAVlZX
|
||||
2jxBOcSreQgJFhrlFQH8/z1r6e1CrVFYpwWJKDJe3bSxwlGC/EEmDILqiSop60Cd
|
||||
8k7sIcVCjb0dHMGgEsuApDXYEC3tho9eC1HVqXdYj8th9AxfTcT5oXnia86rOxuF
|
||||
IAG2a/Rh/PopsM7Yp5ftQOump69B+mk5l1rFU1z1IjU2Ac8zCwuPqYz3YtUINJsW
|
||||
fjJ9ssO+pFr/UD9ZuzrOTIlQfvLxWg7gRRjwVNqLew0TbhbZ+8KZEdYLHa3zwCyq
|
||||
u1h2LLVTU17hY6NkgmkDvUiK3jufUZHQhjR7AfM844d2t7CBDVLk2ODqmCr1t3lh
|
||||
4eSbBxSvm07vehyhekkvWeJ0av9HNOSQcNWoh5hP4qELw3NbGUo5un7gyKOFudGn
|
||||
LjmW228clij4dUefsL8R44YutsK7sqh8yKfLNFutJ6zZ0qbdpr6pDxIon4VGEfnK
|
||||
Ib85nxqs3Mx3SnhfUiP+g/GfJLvLyltxnLtrbugeVgu13hxN0sw=
|
||||
=osXC
|
||||
-----END PGP SIGNATURE-----
|
3
libreoffice-translations-7.1.0.3.tar.xz
Normal file
3
libreoffice-translations-7.1.0.3.tar.xz
Normal file
@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:b17e0d7c61de80526d22c11c63596c4d56aaa2b1ad0f14d29e0abdd8b3efcc54
|
||||
size 184441692
|
16
libreoffice-translations-7.1.0.3.tar.xz.asc
Normal file
16
libreoffice-translations-7.1.0.3.tar.xz.asc
Normal file
@ -0,0 +1,16 @@
|
||||
-----BEGIN PGP SIGNATURE-----
|
||||
|
||||
iQIzBAABCAAdFiEEwoOeytlAj76VMcPp9DSh76/urqMFAmARy28ACgkQ9DSh76/u
|
||||
rqNq2xAAh18WoddFFIKw830rW8A3t6ElwAiTj9XB7YVc9o1bclMEkAcL2cE5+4jP
|
||||
HJ7CNi0OpWe3UXq8umdq0cSXIx6uv3/69DGGQOUEv/+fAYB+9aBlFGR07Gc14lwp
|
||||
YPNyhnPK7hwSrD9QaLAl2GbHB7TJllEb+3YUT3/QH5xqkBhBnjYXuO/PdcopzHQV
|
||||
SFwXGpHqYJVbq6l1J7YZAfvxyhOOL2UHA2g2/MNMRfuGr7xRBo3b3Kjp97KhC5Lv
|
||||
BXWYfnQHdQv7c33cVi1Vb0r/sQzEUxcRHlMW8MQE4doWtCZE1y+lesTxtiuLrKa0
|
||||
FBbr5kQsbpYVjdC1tTnU0LqM/xp6rETySF5E50u3sGjsxY/OEsVcK20/Kxp42ptC
|
||||
REyKNP1lhWa9odymYGp5rkPHRvgqQcu/hIC+42EZDox2hpQAhlxANvbrfNXPaHL7
|
||||
BBUwZQgkuGMy+c7Y7UROLWCeE26cPUmopf1UnHtR7Tj5cZDRCJoCKxEnI1hvBTTh
|
||||
S6bfONe0gDcbYjcF5zq37ALKLEpEnt3yu7q5x3G5lRIPTyHc1Gfp6EjOZUzK/Id0
|
||||
0SYSg7lEOILCmpYpv3xcBBUk5+tBF2XzGKePEZvgw0RRomBJpOWDoyFJCFk9nz1Y
|
||||
CvUEfu/xn8Soi1yQEsuASfH05n33cGL61qCsGn0tVRCBnk4uPUM=
|
||||
=na+z
|
||||
-----END PGP SIGNATURE-----
|
@ -1,3 +1,18 @@
|
||||
-------------------------------------------------------------------
|
||||
Mon Feb 1 13:08:22 UTC 2021 - Markéta Machová <mmachova@suse.com>
|
||||
|
||||
- Update to 7.1.0.3
|
||||
* RC3 7.1 series
|
||||
- Update bundled dependencies
|
||||
- New patch use-comphelper.patch to fix build
|
||||
- Rebased patch bsc1177955.diff
|
||||
- Dropped merged patches:
|
||||
* 0001-Upgrade-liborcus-to-0.16.0.patch
|
||||
* bsc1178944.diff
|
||||
* bsc1178943.diff
|
||||
* bsc1178807.diff
|
||||
* bsc1179025.diff
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Thu Jan 28 21:17:13 UTC 2021 - Andras Timar <andras.timar@collabora.com>
|
||||
|
||||
|
@ -28,8 +28,8 @@
|
||||
%else
|
||||
%bcond_with lto
|
||||
%endif
|
||||
# Enable the kde integration on openSUSE only
|
||||
%if 0%{?is_opensuse}
|
||||
# Enable the kde integration on openSUSE and SLE15-SP3 only
|
||||
%if 0%{?is_opensuse} || 0%{?sle_version} == 150300
|
||||
%bcond_without kdeintegration
|
||||
%else
|
||||
%bcond_with kdeintegration
|
||||
@ -46,7 +46,7 @@
|
||||
%bcond_with system_gpgme
|
||||
%endif
|
||||
Name: libreoffice
|
||||
Version: 7.0.4.2
|
||||
Version: 7.1.0.3
|
||||
Release: 0
|
||||
Summary: A Free Office Suite (Framework)
|
||||
License: LGPL-3.0-or-later AND MPL-2.0+
|
||||
@ -70,9 +70,9 @@ Source402: %{external_url}/b7cae45ad2c23551fd6ccb8ae2c1f59e-numbertext_%{nu
|
||||
Source450: %{external_url}/1f467e5bb703f12cbbb09d5cf67ecf4a-converttexttonumber-1-5-0.oxt
|
||||
Source452: %{external_url}/90401bca927835b6fbae4a707ed187c8-nlpsolver-0.9.tar.bz2
|
||||
# GPGME bundle list
|
||||
Source1000: %{external_url}/gpgme-1.9.0.tar.bz2
|
||||
Source1001: %{external_url}/libgpg-error-1.27.tar.bz2
|
||||
Source1002: %{external_url}/libassuan-2.5.1.tar.bz2
|
||||
Source1000: %{external_url}/gpgme-1.13.1.tar.bz2
|
||||
Source1001: %{external_url}/libgpg-error-1.37.tar.bz2
|
||||
Source1002: %{external_url}/libassuan-2.5.3.tar.bz2
|
||||
# Internal bundled stuff we can't remove
|
||||
# To build this we would pull cygwin; not worth it
|
||||
Source2001: https://dev-www.libreoffice.org/extern/185d60944ea767075d27247c3162b3bc-unowinreg.dll
|
||||
@ -91,7 +91,7 @@ Source2008: %{external_url}/pdfium-4306.tar.bz2
|
||||
# Single C file with patches from LO
|
||||
Source2009: %{external_url}/dtoa-20180411.tgz
|
||||
# Skia is part of chromium and bundled everywhere as by google only way is monorepo way
|
||||
Source2010: %{external_url}/skia-m85-e684c6daef6bfb774a325a069eda1f76ca6ac26c.tar.xz
|
||||
Source2010: %{external_url}/skia-m88-59bafeeaa7de9eb753e3778c414e01dcf013dcd8.tar.xz
|
||||
# change user config dir name from ~/.libreoffice/3 to ~/.libreoffice/3-suse
|
||||
# to avoid BerkleyDB incompatibility with the plain build
|
||||
Patch1: scp2-user-config-suse.diff
|
||||
@ -99,14 +99,8 @@ Patch1: scp2-user-config-suse.diff
|
||||
# FIXME: the right fix is to compile the help and produce the .db_, .ht_, and other files
|
||||
Patch2: nlpsolver-no-broken-help.diff
|
||||
Patch3: mediawiki-no-broken-help.diff
|
||||
Patch4: 0001-Upgrade-liborcus-to-0.16.0.patch
|
||||
# LO-L3: Shadow effect(s) for table completely missing - part 1 and 2
|
||||
Patch5: bsc1178944.diff
|
||||
Patch6: bsc1178943.diff
|
||||
# Bug 1178807 - LO-L3: Text box from PowerPoint renders vertically instead of horizontally
|
||||
Patch8: bsc1178807.diff
|
||||
# Bug 1179025 - LO-L3: LibreOffice crashes opening a PPTX
|
||||
Patch9: bsc1179025.diff
|
||||
# PATCH-FIX-UPSTREAM https://github.com/LibreOffice/core/commit/f14b83b38d35a585976ef5d422754d8e0d0266a6 ucp: fix call to getComponentContext
|
||||
Patch4: use-comphelper.patch
|
||||
# Bug 1177955 - LO-L3: SmartArt: text wrongly aligned, background boxes not quite right,...
|
||||
Patch10: bsc1177955.diff
|
||||
# try to save space by using hardlinks
|
||||
@ -140,6 +134,7 @@ BuildRequires: hyphen-devel
|
||||
BuildRequires: icu
|
||||
BuildRequires: java-devel >= 9.0
|
||||
BuildRequires: junit4
|
||||
BuildRequires: libBox2D-devel
|
||||
BuildRequires: libbase
|
||||
BuildRequires: libcppunit-devel >= 1.14.0
|
||||
BuildRequires: liberation-fonts
|
||||
@ -967,10 +962,6 @@ Provides %{langname} translations and additional resources (help files, etc.) fo
|
||||
%patch2
|
||||
%patch3
|
||||
%patch4 -p1
|
||||
%patch5 -p1
|
||||
%patch6 -p1
|
||||
%patch8 -p1
|
||||
%patch9 -p1
|
||||
%patch10 -p1
|
||||
%patch990 -p1
|
||||
%patch991 -p1
|
||||
@ -1194,19 +1185,11 @@ echo "%dir %{_datadir}/%{name}/program" >>file-lists/common_list.txt
|
||||
################
|
||||
# helper script for noarch packages
|
||||
# add missing directories to the file list
|
||||
for dir in `find %{buildroot}/%{_datadir}/icons/gnome -type d` ; do
|
||||
for dir in `find %{buildroot}/%{_datadir}/icons/hicolor -type d` ; do
|
||||
dir=`echo $dir | sed -e "s|%{buildroot}||"`
|
||||
echo "%dir $dir" >>file-lists/common_list.txt
|
||||
done
|
||||
|
||||
# remove obsolete content bsc#1062631
|
||||
rm -r %{buildroot}%{_datadir}/application-registry
|
||||
rm -r %{buildroot}%{_datadir}/mime-info
|
||||
grep -v %{_datadir}/mime-info file-lists/common_list.txt > tmplist
|
||||
mv tmplist file-lists/common_list.txt
|
||||
grep -v %{_datadir}/application-registry file-lists/common_list.txt > tmplist
|
||||
mv tmplist file-lists/common_list.txt
|
||||
|
||||
#################################
|
||||
# Move split noarch data to share
|
||||
#################################
|
||||
@ -1291,20 +1274,20 @@ rm -r %{buildroot}%{_datadir}/libreoffice/share/autotext/sr/
|
||||
# Install appdata files, so we're shown in gnome-software (and other, future app stores)
|
||||
# upstream ships the files called libreoffice-{base,writer,...}, but the destop files are called base.destop [...]
|
||||
# fixup the appdata files internal reference to the .desktop file and rename them on the go to match the name
|
||||
install -m 0755 -d %{buildroot}%{_datadir}/appdata
|
||||
install -m 0755 -d %{buildroot}%{_datadir}/metainfo
|
||||
for appdata in base calc draw impress writer; do
|
||||
sed "s/libreoffice-${appdata}.desktop/${appdata}.desktop/" \
|
||||
sysui/desktop/appstream-appdata/libreoffice-${appdata}.appdata.xml > %{buildroot}%{_datadir}/appdata/${appdata}.appdata.xml
|
||||
echo "%{_datadir}/appdata/${appdata}.appdata.xml" >>file-lists/${appdata}_list.txt
|
||||
sysui/desktop/appstream-appdata/libreoffice-${appdata}.appdata.xml > %{buildroot}%{_datadir}/metainfo/${appdata}.appdata.xml
|
||||
echo "%{_datadir}/metainfo/${appdata}.appdata.xml" >>file-lists/${appdata}_list.txt
|
||||
%if 0%{?suse_version} < 1320
|
||||
echo "%dir %{_datadir}/appdata/" >>file-lists/${appdata}_list.txt
|
||||
echo "%dir %{_datadir}/metainfo/" >>file-lists/${appdata}_list.txt
|
||||
%endif
|
||||
rm -rf %{buildroot}%{_datadir}/appdata/libreoffice-${appdata}.appdata.xml
|
||||
rm -rf %{buildroot}%{_datadir}/metainfo/libreoffice-${appdata}.appdata.xml
|
||||
done
|
||||
%if %{with kdeintegration}
|
||||
echo "%{_datadir}/appdata/org.libreoffice.kde.metainfo.xml" >>file-lists/kde4_list.txt
|
||||
echo "%{_datadir}/metainfo/org.libreoffice.kde.metainfo.xml" >>file-lists/kde4_list.txt
|
||||
%else
|
||||
rm -f %{buildroot}%{_datadir}/appdata/org.libreoffice.kde.metainfo.xml
|
||||
rm -f %{buildroot}%{_datadir}/metainfo/org.libreoffice.kde.metainfo.xml
|
||||
%endif
|
||||
|
||||
# Remove pointless readmes
|
||||
@ -1458,14 +1441,6 @@ exit 0
|
||||
%dir %{_datadir}/icons/hicolor/512x512/apps
|
||||
%dir %{_datadir}/icons/hicolor/512x512/mimetypes
|
||||
%endif
|
||||
# FIXME: this is KDE4 only, wipe?
|
||||
%dir %{_datadir}/icons/locolor
|
||||
%dir %{_datadir}/icons/locolor/16x16
|
||||
%dir %{_datadir}/icons/locolor/16x16/apps
|
||||
%dir %{_datadir}/icons/locolor/16x16/mimetypes
|
||||
%dir %{_datadir}/icons/locolor/32x32
|
||||
%dir %{_datadir}/icons/locolor/32x32/apps
|
||||
%dir %{_datadir}/icons/locolor/32x32/mimetypes
|
||||
|
||||
%files -n libreofficekit
|
||||
%dir %{_libdir}/girepository-1.0
|
||||
|
@ -1,3 +0,0 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:3294877fa2b61b220d98a0f7bfc11325429b13edd2cf455444c703ee3a14d760
|
||||
size 8375536
|
3
skia-m88-59bafeeaa7de9eb753e3778c414e01dcf013dcd8.tar.xz
Normal file
3
skia-m88-59bafeeaa7de9eb753e3778c414e01dcf013dcd8.tar.xz
Normal file
@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:f293656a15342a53bb407b932fc907c6894178a162f09728bd383e24d84b1301
|
||||
size 10420480
|
42
use-comphelper.patch
Normal file
42
use-comphelper.patch
Normal file
@ -0,0 +1,42 @@
|
||||
From f14b83b38d35a585976ef5d422754d8e0d0266a6 Mon Sep 17 00:00:00 2001
|
||||
From: Andrew Udvare <audvare@gmail.com>
|
||||
Date: Thu, 24 Dec 2020 06:04:16 -0500
|
||||
Subject: [PATCH] ucp: fix call to getComponentContext
|
||||
|
||||
Commit 3f9940c2e050830051a31e4b70736132e034a9db mistakenly removed
|
||||
include/ucbhelper/getcomponentcontext.hxx seeing the getComponentContext method
|
||||
as unused.
|
||||
According to that file, ucbhelper::getComponentContext was just a duplicate of
|
||||
comphelper::getComponentContext so this commit changes to calling that method
|
||||
instead.
|
||||
|
||||
Change-Id: Ibd66b56a72afce437a26417d7944ec1ace34a4eb
|
||||
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/108262
|
||||
Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
|
||||
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
||||
Tested-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
||||
---
|
||||
ucb/source/ucp/webdav/webdavprovider.cxx | 3 ++-
|
||||
1 file changed, 2 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/ucb/source/ucp/webdav/webdavprovider.cxx b/ucb/source/ucp/webdav/webdavprovider.cxx
|
||||
index 462e4e5a98f7..570b36e6180c 100644
|
||||
--- a/ucb/source/ucp/webdav/webdavprovider.cxx
|
||||
+++ b/ucb/source/ucp/webdav/webdavprovider.cxx
|
||||
@@ -17,6 +17,7 @@
|
||||
* the License at http://www.apache.org/licenses/LICENSE-2.0 .
|
||||
*/
|
||||
|
||||
+#include <comphelper/processfactory.hxx>
|
||||
#include <ucbhelper/contentidentifier.hxx>
|
||||
#include <ucbhelper/macros.hxx>
|
||||
#include "webdavprovider.hxx"
|
||||
@@ -106,7 +107,7 @@ static css::uno::Reference< css::uno::XInterface >
|
||||
ContentProvider_CreateInstance( const css::uno::Reference< css::lang::XMultiServiceFactory> & rSMgr )
|
||||
{
|
||||
css::lang::XServiceInfo* pX =
|
||||
- static_cast<css::lang::XServiceInfo*>(new ContentProvider( ucbhelper::getComponentContext(rSMgr) ));
|
||||
+ static_cast<css::lang::XServiceInfo*>(new ContentProvider( comphelper::getComponentContext(rSMgr) ));
|
||||
return css::uno::Reference< css::uno::XInterface >::query( pX );
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user