Accepting request 869686 from LibreOffice:7.1
- 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/869686 OBS-URL: https://build.opensuse.org/package/show/LibreOffice:Factory/libreoffice?expand=0&rev=941
This commit is contained in:
parent
52dc6782a0
commit
775844a3e7
@ -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 ++++++++++++++-----
|
.../drawingml/diagram/diagramlayoutatoms.cxx | 78 ++++++++++++++-----
|
||||||
1 file changed, 60 insertions(+), 18 deletions(-)
|
1 file changed, 60 insertions(+), 18 deletions(-)
|
||||||
|
|
||||||
diff --git a/oox/source/drawingml/diagram/diagramlayoutatoms.cxx b/oox/source/drawingml/diagram/diagramlayoutatoms.cxx
|
Index: libreoffice-7.1.0.3/oox/source/drawingml/diagram/diagramlayoutatoms.cxx
|
||||||
index 24acaf176491..3492ccefaa1a 100644
|
===================================================================
|
||||||
--- a/oox/source/drawingml/diagram/diagramlayoutatoms.cxx
|
--- libreoffice-7.1.0.3.orig/oox/source/drawingml/diagram/diagramlayoutatoms.cxx
|
||||||
+++ b/oox/source/drawingml/diagram/diagramlayoutatoms.cxx
|
+++ libreoffice-7.1.0.3/oox/source/drawingml/diagram/diagramlayoutatoms.cxx
|
||||||
@@ -452,6 +452,37 @@ sal_Int32 AlgAtom::getVerticalShapesCount(const ShapePtr& rShape)
|
@@ -784,6 +784,37 @@ sal_Int32 AlgAtom::getVerticalShapesCoun
|
||||||
|
|
||||||
namespace
|
namespace
|
||||||
{
|
{
|
||||||
+/**
|
/**
|
||||||
+ * Decides if a certain reference type (e.g. "right") can be inferred from the available properties
|
+ * 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.
|
+ * in rMap (e.g. left and width). Returns true if rValue is written to.
|
||||||
+ */
|
+ */
|
||||||
@ -72,24 +71,20 @@ index 24acaf176491..3492ccefaa1a 100644
|
|||||||
+ return false;
|
+ return false;
|
||||||
+}
|
+}
|
||||||
+
|
+
|
||||||
/**
|
+/**
|
||||||
* Apply rConstraint to the rProperties shared layout state.
|
* 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);
|
const LayoutProperty::const_iterator aRefType = aRef->second.find(rConstraint.mnRefType);
|
||||||
- if (aRef != rProperties.end())
|
|
||||||
+ if (aRef == rProperties.end())
|
|
||||||
+ return;
|
|
||||||
+
|
|
||||||
+ const LayoutProperty::const_iterator aRefType = aRef->second.find(rConstraint.mnRefType);
|
|
||||||
+ sal_Int32 nInferredValue = 0;
|
+ sal_Int32 nInferredValue = 0;
|
||||||
+ if (aRefType != aRef->second.end())
|
if (aRefType != aRef->second.end())
|
||||||
+ {
|
+ {
|
||||||
+ // Reference is found directly.
|
+ // Reference is found directly.
|
||||||
+ rProperties[rConstraint.msForName][rConstraint.mnType]
|
rProperties[rConstraint.msForName][rConstraint.mnType]
|
||||||
+ = aRefType->second * rConstraint.mfFactor;
|
= aRefType->second * rConstraint.mfFactor;
|
||||||
+ }
|
+ }
|
||||||
+ else if (InferFromLayoutProperty(aRef->second, rConstraint.mnRefType, nInferredValue))
|
+ else if (InferFromLayoutProperty(aRef->second, rConstraint.mnRefType, nInferredValue))
|
||||||
+ {
|
+ {
|
||||||
@ -97,40 +92,9 @@ index 24acaf176491..3492ccefaa1a 100644
|
|||||||
+ rProperties[rConstraint.msForName][rConstraint.mnType]
|
+ rProperties[rConstraint.msForName][rConstraint.mnType]
|
||||||
+ = nInferredValue * rConstraint.mfFactor;
|
+ = 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.
|
+ // Reference not found, assume a fixed value.
|
||||||
+ // Values are never in EMU, while oox::drawingml::Shape position and size are always in
|
// Values are never in EMU, while oox::drawingml::Shape position and size are always in
|
||||||
+ // EMU.
|
// EMU.
|
||||||
+ double fUnitFactor = 0;
|
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
|
|
||||||
|
|
||||||
|
@ -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>
|
Thu Jan 28 21:17:13 UTC 2021 - Andras Timar <andras.timar@collabora.com>
|
||||||
|
|
||||||
|
@ -28,8 +28,8 @@
|
|||||||
%else
|
%else
|
||||||
%bcond_with lto
|
%bcond_with lto
|
||||||
%endif
|
%endif
|
||||||
# Enable the kde integration on openSUSE only
|
# Enable the kde integration on openSUSE and SLE15-SP3 only
|
||||||
%if 0%{?is_opensuse}
|
%if 0%{?is_opensuse} || 0%{?sle_version} == 150300
|
||||||
%bcond_without kdeintegration
|
%bcond_without kdeintegration
|
||||||
%else
|
%else
|
||||||
%bcond_with kdeintegration
|
%bcond_with kdeintegration
|
||||||
@ -46,7 +46,7 @@
|
|||||||
%bcond_with system_gpgme
|
%bcond_with system_gpgme
|
||||||
%endif
|
%endif
|
||||||
Name: libreoffice
|
Name: libreoffice
|
||||||
Version: 7.0.4.2
|
Version: 7.1.0.3
|
||||||
Release: 0
|
Release: 0
|
||||||
Summary: A Free Office Suite (Framework)
|
Summary: A Free Office Suite (Framework)
|
||||||
License: LGPL-3.0-or-later AND MPL-2.0+
|
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
|
Source450: %{external_url}/1f467e5bb703f12cbbb09d5cf67ecf4a-converttexttonumber-1-5-0.oxt
|
||||||
Source452: %{external_url}/90401bca927835b6fbae4a707ed187c8-nlpsolver-0.9.tar.bz2
|
Source452: %{external_url}/90401bca927835b6fbae4a707ed187c8-nlpsolver-0.9.tar.bz2
|
||||||
# GPGME bundle list
|
# GPGME bundle list
|
||||||
Source1000: %{external_url}/gpgme-1.9.0.tar.bz2
|
Source1000: %{external_url}/gpgme-1.13.1.tar.bz2
|
||||||
Source1001: %{external_url}/libgpg-error-1.27.tar.bz2
|
Source1001: %{external_url}/libgpg-error-1.37.tar.bz2
|
||||||
Source1002: %{external_url}/libassuan-2.5.1.tar.bz2
|
Source1002: %{external_url}/libassuan-2.5.3.tar.bz2
|
||||||
# Internal bundled stuff we can't remove
|
# Internal bundled stuff we can't remove
|
||||||
# To build this we would pull cygwin; not worth it
|
# To build this we would pull cygwin; not worth it
|
||||||
Source2001: https://dev-www.libreoffice.org/extern/185d60944ea767075d27247c3162b3bc-unowinreg.dll
|
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
|
# Single C file with patches from LO
|
||||||
Source2009: %{external_url}/dtoa-20180411.tgz
|
Source2009: %{external_url}/dtoa-20180411.tgz
|
||||||
# Skia is part of chromium and bundled everywhere as by google only way is monorepo way
|
# 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
|
# change user config dir name from ~/.libreoffice/3 to ~/.libreoffice/3-suse
|
||||||
# to avoid BerkleyDB incompatibility with the plain build
|
# to avoid BerkleyDB incompatibility with the plain build
|
||||||
Patch1: scp2-user-config-suse.diff
|
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
|
# FIXME: the right fix is to compile the help and produce the .db_, .ht_, and other files
|
||||||
Patch2: nlpsolver-no-broken-help.diff
|
Patch2: nlpsolver-no-broken-help.diff
|
||||||
Patch3: mediawiki-no-broken-help.diff
|
Patch3: mediawiki-no-broken-help.diff
|
||||||
Patch4: 0001-Upgrade-liborcus-to-0.16.0.patch
|
# PATCH-FIX-UPSTREAM https://github.com/LibreOffice/core/commit/f14b83b38d35a585976ef5d422754d8e0d0266a6 ucp: fix call to getComponentContext
|
||||||
# LO-L3: Shadow effect(s) for table completely missing - part 1 and 2
|
Patch4: use-comphelper.patch
|
||||||
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
|
|
||||||
# Bug 1177955 - LO-L3: SmartArt: text wrongly aligned, background boxes not quite right,...
|
# Bug 1177955 - LO-L3: SmartArt: text wrongly aligned, background boxes not quite right,...
|
||||||
Patch10: bsc1177955.diff
|
Patch10: bsc1177955.diff
|
||||||
# try to save space by using hardlinks
|
# try to save space by using hardlinks
|
||||||
@ -290,6 +284,11 @@ BuildRequires: boost-devel
|
|||||||
%if %{with firebird}
|
%if %{with firebird}
|
||||||
BuildRequires: pkgconfig(fbclient)
|
BuildRequires: pkgconfig(fbclient)
|
||||||
%endif
|
%endif
|
||||||
|
%if 0%{?is_opensuse}
|
||||||
|
BuildRequires: libBox2D-devel
|
||||||
|
%else
|
||||||
|
BuildRequires: libbox2d-devel
|
||||||
|
%endif
|
||||||
%if %{with kdeintegration}
|
%if %{with kdeintegration}
|
||||||
BuildRequires: libqt5-qtbase-common-devel
|
BuildRequires: libqt5-qtbase-common-devel
|
||||||
BuildRequires: cmake(KF5Config)
|
BuildRequires: cmake(KF5Config)
|
||||||
@ -967,10 +966,6 @@ Provides %{langname} translations and additional resources (help files, etc.) fo
|
|||||||
%patch2
|
%patch2
|
||||||
%patch3
|
%patch3
|
||||||
%patch4 -p1
|
%patch4 -p1
|
||||||
%patch5 -p1
|
|
||||||
%patch6 -p1
|
|
||||||
%patch8 -p1
|
|
||||||
%patch9 -p1
|
|
||||||
%patch10 -p1
|
%patch10 -p1
|
||||||
%patch990 -p1
|
%patch990 -p1
|
||||||
%patch991 -p1
|
%patch991 -p1
|
||||||
@ -1194,19 +1189,11 @@ echo "%dir %{_datadir}/%{name}/program" >>file-lists/common_list.txt
|
|||||||
################
|
################
|
||||||
# helper script for noarch packages
|
# helper script for noarch packages
|
||||||
# add missing directories to the file list
|
# 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}||"`
|
dir=`echo $dir | sed -e "s|%{buildroot}||"`
|
||||||
echo "%dir $dir" >>file-lists/common_list.txt
|
echo "%dir $dir" >>file-lists/common_list.txt
|
||||||
done
|
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
|
# Move split noarch data to share
|
||||||
#################################
|
#################################
|
||||||
@ -1291,20 +1278,20 @@ rm -r %{buildroot}%{_datadir}/libreoffice/share/autotext/sr/
|
|||||||
# Install appdata files, so we're shown in gnome-software (and other, future app stores)
|
# 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 [...]
|
# 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
|
# 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
|
for appdata in base calc draw impress writer; do
|
||||||
sed "s/libreoffice-${appdata}.desktop/${appdata}.desktop/" \
|
sed "s/libreoffice-${appdata}.desktop/${appdata}.desktop/" \
|
||||||
sysui/desktop/appstream-appdata/libreoffice-${appdata}.appdata.xml > %{buildroot}%{_datadir}/appdata/${appdata}.appdata.xml
|
sysui/desktop/appstream-appdata/libreoffice-${appdata}.appdata.xml > %{buildroot}%{_datadir}/metainfo/${appdata}.appdata.xml
|
||||||
echo "%{_datadir}/appdata/${appdata}.appdata.xml" >>file-lists/${appdata}_list.txt
|
echo "%{_datadir}/metainfo/${appdata}.appdata.xml" >>file-lists/${appdata}_list.txt
|
||||||
%if 0%{?suse_version} < 1320
|
%if 0%{?suse_version} < 1320
|
||||||
echo "%dir %{_datadir}/appdata/" >>file-lists/${appdata}_list.txt
|
echo "%dir %{_datadir}/metainfo/" >>file-lists/${appdata}_list.txt
|
||||||
%endif
|
%endif
|
||||||
rm -rf %{buildroot}%{_datadir}/appdata/libreoffice-${appdata}.appdata.xml
|
rm -rf %{buildroot}%{_datadir}/metainfo/libreoffice-${appdata}.appdata.xml
|
||||||
done
|
done
|
||||||
%if %{with kdeintegration}
|
%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
|
%else
|
||||||
rm -f %{buildroot}%{_datadir}/appdata/org.libreoffice.kde.metainfo.xml
|
rm -f %{buildroot}%{_datadir}/metainfo/org.libreoffice.kde.metainfo.xml
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
# Remove pointless readmes
|
# Remove pointless readmes
|
||||||
@ -1458,14 +1445,6 @@ exit 0
|
|||||||
%dir %{_datadir}/icons/hicolor/512x512/apps
|
%dir %{_datadir}/icons/hicolor/512x512/apps
|
||||||
%dir %{_datadir}/icons/hicolor/512x512/mimetypes
|
%dir %{_datadir}/icons/hicolor/512x512/mimetypes
|
||||||
%endif
|
%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
|
%files -n libreofficekit
|
||||||
%dir %{_libdir}/girepository-1.0
|
%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