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:
Markéta Machová 2021-02-05 11:23:57 +00:00 committed by Git OBS Bridge
parent 52dc6782a0
commit 775844a3e7
29 changed files with 166 additions and 1612 deletions

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:c4e30b227682374c23cddc7fdb9324a99694d907e79242a25a4deeedb393be46
size 1759616

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:1b29fedb8bfad775e70eafac5b0590621683b2d9869db994568e6401f4034ceb
size 1344222

View File

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

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:91bcb0403866b4e7c4bc1cc52ed4c364a9b5414b3994f718c70303f7f765e702
size 572348

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:4f93aac6fecb7da2b92871bb9ee33032be6a87b174f54abf8ddf0911a22d29d2
size 813060

View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:b32d6ff72a73cf79797f7f2d039e95e9c6f92f0c1450215410840ab62aea9763
size 937282

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:9fa9d2cc8d02f12b1f302b93056d5c0ff986090a6f309bafa506ba53779f2abd
size 236477520

View File

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

View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:9ed0833f349da3f7b27f54fa24da388dc6a84079935322b305a7a2171e48f3e6
size 243091304

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

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:0b6353221594937c482eaad078c67139455776bce6ab42df9b22709ed271e9da
size 110758084

View File

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

View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:698ae21765ae1e2df8bbc3b448fe88437055402708f6afe3ed6f746491887acf
size 111785796

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

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:544b1a1b4ca795842fb0e4e5eee68f94dd16b10ca4c3c84b1be85467cabc73ec
size 175341984

View File

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

View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:b17e0d7c61de80526d22c11c63596c4d56aaa2b1ad0f14d29e0abdd8b3efcc54
size 184441692

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

View File

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

View File

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

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:3294877fa2b61b220d98a0f7bfc11325429b13edd2cf455444c703ee3a14d760
size 8375536

View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:f293656a15342a53bb407b932fc907c6894178a162f09728bd383e24d84b1301
size 10420480

42
use-comphelper.patch Normal file
View 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 );
}